RESTful webservice exposure to a consumer - web-services

How would a consumer in a RESTrestful webservice know what method he needs to call and what parameter types it might take to get expected result.??
I have created a REST on my local machine , but now I wonder How would one know about what URIs to access in order to go to a method.??
Please help!!

As mentioned from Dave, you should provide a documentation for your RESTful Service.
But you can also have a look at HATEOAS which is an interesting approach.

Related

How to use SOAP with Qlik

So I'm evaluating this tool called QLIK over BIRT which should be used to pull and represent data from a SOAP service.
In BIRT I basically just supply the WSDL and I'm done. If I want to do the same with QLIK they tell us in the tutorial to use an external tool to create the SOAP Request and then use it as POST in something they call "Web Connector", which I can't find anywhere in the UI.
Am I missing something here or is it basically not possible to use SOAP services with QLIK inside the tool?
Bonus points if you can tell me where this "Web Connector" is.
Also I find it pretty confusing that they offer a REST connection but no SOAP connection on the datasource selection page?
I did find a place to configure a SOAP service in a menu called "SalesForce" shich is as far as I understand some 3th party service. This all makes totally no sense to me.
There are a couple of options to do this as I understand it, however I've not worked with SOAP/WDSL myself.
Use the REST Connector which is included with Qlik Sense v2 but is also free for earlier versions of Qlik Sense and QlikView. This allows you to issue a POST command rather than a GET command. The request body would presumably be the XML.
Use the "General Web Connector" from "Qlik Web Connectors". This is an add-on that you have to subscribe to, so if the REST one works for you, there's probably not much reason to go for it. That said, the documentation for it is more useful with some worked examples. (The background here is that Qlik bought a company that made a tool called QVSource earlier this year - hence the overlap between these two approaches and why the documentation is still branded as QVSource)
Hope that helps, sorry I can't be more specific.

WSDL level authorization for SOAP service

I have a question regarding authorization for SOAP services. Please note I am asking for authorization, not authentication which I know how to do using WS-Policy specification.
What I would like to do is to define access rights for different SOAP operations. For example: getMeSomeData operation is accessible to simpleUser but getMeSomeSecretData operation is not, but it is accessible to adminUser.
I was assuming this is possible since SOAP standard is quite complex. Is there anyone well oriented in SOAP who knows if it is? And if it is possible, could you give me any guidance or article I could read about how to do it?
Based on my extensive googlig, this is not possible.
About the only way to do this would be with some kind of server integration with whatever the back-end of the soap may be. But this wouldn't be a soap functionality as much as a 'hack' sitting behind it using whatever your authentication layer may happen to be.

how connect to echonest from enyo

I am new to Enyo and web services. I am looking to build a web page with Enyo that will require use of Echonest. Can anyone help me understand how to connect to the Echonest service from inside Enyo and whether to use SOAP, REST, or something else?
I assume you are talking about the Echo Nest found here: http://the.echonest.com ?
Briefly glancing at their API, you may not have to use SOAP or REST since everything is accessible with simple GET requests through the Web service. It looks like the hardest part of using their API will be generating OAuth signatures for authenticated requests.
As far as the enyo.WebService, http://enyojs.com/api/#enyo.WebService, goes, you should be able to include the kind, set the URL and call the .send() method on it. Then you response handler would get the data back (I recommend json) so you can do what you will with it.
Another option would be to use enyo.Ajax, http://enyojs.com/api/#enyo.Ajax, directly. enyo.WebService wraps that and provides a familiar (to Enyo 1 developers) way to use it.

How to find out the server side framework using Axis2?

After going through the following article I came to know that if Axis2 is used on both ends, we could expect high improvements in performance.
Link : http://wso2.org/library/91
I'm writing code to consume a webservice. I'm just curious to know the framework used on the server side. How do I do it programatically using Axis2.
Server side you can use any java class.The following are the server side styles that axis provides.
Service Styles - RPC, Document, Wrapped, and Message
Also see the documentation here.
There is no such API available as such. Of course, such API is not supposed to be there at all. The whole point of using web services is interoperability i.e. the server doesn't care how the client is implemented and the client does not care how the server is implemented. Defining such an API does not make any sense, adds no business value except curiosity as in your case above.
Albeit, It still might be possible to do so, unofficially. Try to send some parameter value which is not correct business value. From the fault that is generated, it might also give stacktrace of the server through which you can probably guess the server side framework being used.

How often the WSDL URL should be read?

Just once to get the address location and use it forever?
Every time a call is made?
Or some time in between?
The only purpose of the WSDL URL is to return the WSDL that describes the current service.
The only reason to ever read it is if the reader does not have the WSDL that describes the current service.
The only time a reader would need to read it is if they never had the WSDL that described the service, or if the service has changed.
Some downlevel clients are pretty stupid and need to download the WSDL before each call. Avoid them.
It depends what you are trying to do. If you're calling or referencing the Web Service...you will need to re-reference it when the Web Service interface changes. If the Web Service interface won't change, then you only need to reference it once
I agree with John and would add that in most cases you don't need the WSDL to be hosted on a URL at all. Unless you have a public web service that anyone can sign up and use you're probably better off to keep the wsdl to yourself and only fork it out to specific users as needed.