we are still investigating the CORS problem.
Nevertheless there are built-in solutions for special use cases, e.g. connect to a webservice from Tableau.
Here you would simply need to define the output format OData of a RapidMiner Server webservice and when connecting to this webservice from within Tableau you need to create an OData connection type with the URL of the webservice as source.
The only restriction is that the Output needs to be a RapidMiner ExampleSet.
Other RapidMiner Objects need to be converted. In addition to the built-in Operators there is e.g. the Converters extension available on the marketplace which contains more converters.
With the upcoming release of RapidMiner Server v8 (currently in BETA), we provide the requested parameter settings.
If you are interested in taking part of testing this BETA version you can find it here.
I will keep you posted when RapidMiner Server 8 is released.
I have the same Problem. I set up my service and when I call it from the browser directly or from postman, it works all fine.
As soon as I call it from my own webpage via jquery ajax, I get the following error message in the browser console:
Failed to load http://localhost:8080/api/rest/process/dataFlowTest?: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. The response had HTTP status code 401.
I already set com.rapidanalytics.security.access_control_allow_origin to '*' in the settings. Still the same problem.
Did you have a look at the other settings for CORS?
They can be found in the RapidMiner Server settings description (https://docs.rapidminer.com/latest/server/administration/server-settings.html#settings-table) in the security section (at the bottom).
thanks for your reply. Here are my Server Settings:
I think that I set all the sufficient properties. I don't know what to do else..
Did you restart RapidMiner Server after setting the options?
The settings only take effect after a restart.
Just for completion - below you find the settings table (seems the link did not directly point to the table).
I never used CORS before so I am not sure what is the reason that it does not work for you.
Some general remarks:
The Webservice URL you used requires authentication. I suggest you use the anonymous one. It has a different pattern!
E.g. http://localhost:8080/api/rest/public/resources/ or http://localhost:8080/api/rest/public/process/
Please make also sure that all anonymous relevant settings are made (e.g. make sure to have created the user anonymous and give it access rights to the resources).
thanks for your reply. I created the anonymous user and gave it all rights and permissions. But when i change the path of the URL from
I get the following error: The page /api/rest/public/anonymous you requested does not exist.
What do I have to do to change the URL from process to public?
The path you posted is not correct. You forgot "/process/" in your adapted URL.
It should be ..../api/rest/public/process/...