Camel cxf webservice - problem with getting Response - web-services

I encounter problem with Apache Camel.
I did two SOAP WebServices. First (i will call it A ) is a standard Proxy which calling WebServices B which do all job (getting data from Datebase, parsing response etc.).
It works very well as i expected. Im sending data to the A by SoapUI, A is sending request to B, B is getting data from database, parsing response, sending it to A, A is sending response to Soap UI. Perfect... until everything is working on http.
When i turn on ssl on JbossFuse where WebService A is deployed i'am able to send request by SoapUI to Webservice A, A is sending request to B, B is sending response, A is getting responce ( i see it in log ), and ... nothing more happen. SoapUI getting SocketTimeoutException: Read timed out.
It's look like WebService A doesn't know where should send response. Nothing especially happened in logs, 0 exceptions. Probably i forgot about one thing and i don't know what.
Jboss which i use is old one 6.1.0.redhat-379.
Have someone any ideas what can i do/what can i check which help me solve my problem?

It's not solution, but it's workaround of my problem.
I just did simple Ws Client in Webservice A which connect to Webservice B. Then instead of calling endpoint of WS B from blueprint, i call Bean with WS Client.

Related

Web Services: Rolling back a committed Transaction

Im new to webservices.
Im sending a webservice request to cxf endpoint through a camel route marked "transacted" and the response is got.
In the same transaction route, next statement throws an exception so that my Exception handler rollsback the transaction.
I can find other things in my transaction rolledback, except my webservice request response since its already commited.
Is there a way of rolling back commited webservice request?
Or is there a way of sending a rollback last webservice request ??
Please help, Stuck for 3 days on same...
Just make another webservice to undone everything done by the first webservice and call it in .onException() routine
No there is no such thing as transactions for web services. You can find information on wikipedia such as http://en.wikipedia.org/wiki/Compensating_transaction

Send SOAP service reponse without client requst in Axis2

I want to send response(I am getting the data from my DB) continuously every 5 minutes without any request from client by using SOAP and Axis2. I have created the SOAP server by using following link. http://www.eclipse.org/webtools/community/tutorials/TopDownAxis2WebService/td_tutorial.html
But I don't know how to response continuously from server. Please help me.
A webservice cannot send a response without being called because it won't know where to send the data nor what function is being invoked (a ws could have many functions).
The idea of a WS is to offer a service to everyone who can access it, so the response destinies are multiple.
If you want to get the data from your DB every 5 minutes, your client will have to call the WS every 5 minutes or less (take into account the server processing time).

WSO2 ESB providing HTTP 202 response on Proxy Service

I am trying to setup very simple WSO2 ESB Proxy service. While using it, I am getting HTTP 202 response back and WSO2 ESB is not doing anything with the request beside logging it. Here is the background of my setup
My service implementation is using SOAP 1.2 over Http 1.1. When my client opens the connection to the server, it fires first request and asks for keep-alive connection. The ESB passes the request to the actual implementation and sends response back with transfer-encoding as chunked. So far it works as desired.
After the initial request response exchange, my client submits several requests in parallel and I get HTTP 202 responses for all of them. Looking at logs, it seems ESB is not sending the request to the actual implementation ever.
Is there something that I am doing wrong? How do I fix it?
What happens in this scenario is that your subsequent requests are hitting the main sequence of the WSO2 ESB. That is why you can only see a log for those requests. As you have already narrowed down this happens due to the jsessionId attached to the URL. To overcome this issue you can create a REST API with URL pattern to match the correct URL path. Please refer the following documentation.
https://docs.wso2.com/display/ESB481/Creating+APIs

Apache Axis - Java WS Client Code and SoapUI giving different responses

We are facing a strange issue of getting different number of records as response while making the same webservice API call from our WS client code and SOAP UI.
Lets assume the WS API is something like Foo[] getBar() and it is supposed to return 2 records.
So when we are making a call from SoapUI we get two records but when our client code makes a call it is getting only one record.
I have grabbed the request XML posted by my WS client code from logs and used it to request from SoapUI.
Can it be an issue of an old client stubs?
PS: We are using Apache Axis.

How can I see incoming Requests in IIS7?

I have a created web service that takes 2 complex types as parameters. I can use the auto-generated WSDL to create a new application that calls my web service and it works perfectly.
However, a 3rd party consumer is having trouble calling my web service. I see their incoming request in the IIS7 log file and a 500 error is being returned to them.
I suspect that their request is malformed. I would like to be able to see the entire <soap:envelope> that IIS7 is receiving so that I can troubleshoot the issue. I am using Windows Server 2008 and IIS7.
How can I do this?
I would open up a copy of WireShark while they are putting their request through. You can then see each packet which comes to your server. Wireshark is cool because it can put all of the packets back together so you can see the full HTTP request they're sending.