Stateful SOAP webservice example - web-services

I am trying to do a POC where i need to invoke a Stateful SOAP webservice . I need to do a login call first to SOAP webservice and get the session id(or cookie or something like that) and use the session id for making subsequent calls to the webservice . I want to know if there is any sample stateful SOAP webservice hosted on the internet for which i can generate the client and try invoking the webservice to verify Stateful operation. Any other pointers on how i can do this is also very welcome.
If this POC is successful we will be invoking a Stateful SOAP webservice hosted by one of our vendors and we will be using a TIBCO BW client to call the SOAP webservice.

You can invoke the WebServiceDefinitionLanguage from the WSDL attached in the link It brings encouraging quotes.
You may use SOAP activity in BW or import the WSDL as a resource first and then use any SOAP or web service activity.
Check this java project in github is a multi cloud java project that invokes WebServices and Rest services from many Cloud providers and Many sites. It gives you an idea on how to do it.
Of course in BW is really easy to do it. Basically: start activity, SOAP activity, log, call subprocess, catch errors, end process.

Stateful or Stateless SOAP webservice call is just like any another web-service call. In your case, since you have to get the response(i.e. receiving token) of the first webservice call and use it in the subsequent calls, I think you should focus on how would you cache the cookie/token that you receive from the first call. Also, if there is an expiry associated to the life of the token received in your response, work on the technique of refreshing the token for which the SOAP API provider will have to provide you an token expiry interval.

Related

JWT Enrichment with external rest service

I am working with WSO2, and I need to enrich the JWT Token for every request.
The enrichment need to be done done by an external rest service.
We are using WSO2 2.2
I am trying to enrich the JWT by extending the class "org.wso2.carbon.apimgt.keymgt.token.JWTGenerator"
and by using java HTTPClient librery to work with the rest service.
But it seems not natural to use HTTPClient code inside an apim product.
This is the code that I can use, but it seems that wso2 should be able to give me a better way to connect to an api as a client.
If you want to talk to an external REST service to fetch user claims, I don't see a problem with using an HTTP client. I don't understand why it's not natural to use an HTTP client to call an HTTP service. :)

Ability to call a soap web service from a browser

I need to clarify some problems regarding soap web services.
1) can I call a soap web service by just typing the url of the endpoint in the browser?
2) does the answer for question depend on what type of technologies used to develop the soap web service?
If I need to invoke a soap web service, i need to send a soap request. But by just sending a get or post request from a browser cannot generate a soap request. so by default I shouldn't be able to invoke a soap web service just using the browser.
but the following two resources are contradicting above assumptions of mine.Can someone explain me how these soap web services can be invoked without a soap request?
https://msdn.microsoft.com/en-us/library/aa719483%28v=vs.71%29.aspx
http://alvinalexander.com/blog/post/java/how-to-call-web-service-from-browser

RESTful API and SOAP service

I am learning SOAP and I have some questions:
If I have a SOAP service, and if my understanding is correct then the consumer will need to import the WSDL and generate the stubs to consume my service?
If now I have exposed the SOAP service with a RESTful API with the help of a ESB in between. Does that mean the consumer no longer need to import any WSDL to generate the stubs?
Yes -the idea behind SOAP specification (wsdl) is so that clients can use it to create a proxy for calling the service and not have to figure out the details for themselves. It is very hard to connect to a SOAP service without using a wsdl
In this case the ESB does the calls to the actual service and the REST interface is a new interface client should use to communicate with the service.

Datapower to SFDC integration - session management

I am trying a scenario where Datapower invokes a web-service on SFDC. For Datapower to be able to invoke services, it needs to first get the authentication token from SFDC and use that token in each web-service request to be able to invoke the web-service.
Is there a simple way in datapower to do this? As the token generated by SFDC is valid for some time, can datapower manage this information internally or will we need to maintain it on a cache (XC10?) and deal with accessing the cache from the integration box ?
Your inputs would be really helpful..
You don't need an XC10 device here, XC10 is needed when you want to cache a lot of name/value pairs. After you call the SFDC service from a Web Service Proxy (WSP) via url-open/soap-call you get the authentication token from SFDC and store it in a local/context variable and also store the current timestamp, and session timeout parameters in other local/context variables, and use them in further SFDC webservice calls. There are other ways of doing this and I hope you got the idea.

Is there a web service I can use to receive SOAP requests and send REST requests

I wish to create a one way integration between a system that can only send SOAP requests and a system that can only respond to REST requests. I know very little about web services as it is not my specialty. But the source system can be configured to send a SOAP request to any WSDL and the 'destination' system has a REST API and provides me with a simple URL to which I can send requests to 'trigger' an event.
I would have thought it would be simple to find some web service that can receive the SOAP requests from the source system, which would be a simple request to send a REST request to the destination system.
Like some sort of intermediary, not actually converting the requests directly but forming a similar function. Is there anything that can do this?