Due to recent updates, all users are required to create an Altair One account to login to the RapidMiner community. Click the Register button to create your account using the same email that you have previously used to login to the RapidMiner community. This will ensure that any previously created content will be synced to your Altair One account. Once you login, you will be asked to provide a username that identifies you to other Community users. Email us at Community with questions.
"Is the webservice available without logging in?"
Hi All!
Is there a way of accessing a correctly deployed RA webservice without logging into to RA from a script?
I mean if I login to the RA and type in the URL of the webservice into the browser everything works fine and I see the desired output of the webservice. However if I log out RA and access the webservice from the browser again, I see the login page and no output. Is this a feature? Is there a way of making public webservices?
If deploying a public webservices is impossible, is there a native method of logging in that i can code into an application or script (beside try hacking around with cURL)?
Thanks for all the replies in advance!
Ivo
Is there a way of accessing a correctly deployed RA webservice without logging into to RA from a script?
I mean if I login to the RA and type in the URL of the webservice into the browser everything works fine and I see the desired output of the webservice. However if I log out RA and access the webservice from the browser again, I see the login page and no output. Is this a feature? Is there a way of making public webservices?
If deploying a public webservices is impossible, is there a native method of logging in that i can code into an application or script (beside try hacking around with cURL)?
Thanks for all the replies in advance!
Ivo
Tagged:
0
Answers
yes, making a web service publicly accessible is indeed possible. As far as I remember you will have to allow the user "Anonymous" the access. After that you can access the web service (and other resources) via the known URL but you will have to replace "resources" by "public_resources" and "processes" by "public_processes". I am not completely sure about the details but Simon is certainly able to help.
This is fine if you can make the services publicly available. If your services have to be used under a user management, the best and simplest way is to use Single-Sign-On (SSO). However, SSO support is only part of the Enterprise Edition of RapidAnalytics.
Hope that helps. If not, please ask again since I am not completely sure about the paths stated above and we would have to ask Simon in that case.
Cheers,
Ingo
It is great to hear that the public access is possible, however I could not setup an Anonymous user role in the RA for the given process/webservice. I see two config parameters with a possible connection to the public access in the System Information > System Settings tab.
These are:
com.rapidanalytics.web.anonymous_resources
com.rapidanalytics.web.anonymous_services
Should these be altered in some way to enable public access? Furthermore if these should be modified, where could i preform the modification procedure? Is there a config file available?
Thanks for the help!
Ivo
yes, both properties must be set to true, AND you must create an "anonymous" user (lower case).
That should do the job. The URL context path is public_process (singular).
Best,
Simon
com.rapidanalytics.web.annonymous_resources
com.rapidanalytics.web.annonymous_services
Thanks
Thanks in advance!
First add to the Administration->System Settings two parameters both with value true:
com.rapidanalytics.web.anonymous_resources true
com.rapidanalytics.web.anonymous_services true
and then when calling the web service in external aplication you use the same URL with a small change:
just replace the part ".../process/..." with "../public_process/..."
yes, that's the right way to do it.
Best,
Simon
i did everything as it is explained above but if i trie to call the webservice from php i get the following error. If i call it directly from the browser no problems the service returns an html table.
If i call it without i get a response 200 OK but if i trie to show the result i get the rapidanalytics screen to enter username and password. If i do so, i get an error _________________________
The way i call the service from php is as follow Please could someone help me :-) as i need to call the service from PHP
Greetings
I granted permission to all repository directories for anonymous but this didn't help.
execute the workflows.
it looks like, that you are writing an programm that use the webservice.
I know you can use most of HTTPRequest classes (independent which programming-language you are use) with authorizing.
One possibilty i hope I remeber the right things is : http://username:password@url .
The other way is authorizing by the used class. In Windows .NET there are Credentials you have to set.
Read the documentation for the class that you use.
This way may faster, better and more secure ... This is depending on the security of system. It did'nt work e.g. in the Joomla CMS Authorisation.
Uwe
the http://username:password@url won't help. It may be interpreted by browsers or FTP client, but it won't help you in connecting to a Web service from an application. One reason is the fact that the "username:password" does not at all tell you what the authentication mechanism is. But I can: You can simply use plain basic HTTP authentication to do it. That should be easily possible from most programming languages.
Best,
Simon
[quote author=Ingo Mierswa link=topic=3095.msg12217#msg12217 date=1298113399]
Hi Ivo,
yes, making a web service publicly accessible is indeed possible. As far as I remember you will have to allow the user "Anonymous" the access. After that you can access the web service (and other resources) via the known URL but you will have to replace "resources" by "public_resources" and "processes" by "public_processes". I am not completely sure about the details but Simon is certainly able to help.
This is fine if you can make the services publicly available. If your services have to be used under a user management, the best and simplest way is to use Single-Sign-On (SSO). However, SSO support is only part of the Enterprise Edition of RapidAnalytics.
Hope that helps. If not, please ask again since I am not completely sure about the paths stated above and we would have to ask Simon in that case.
Cheers,
Ingo