2 Replies Latest reply: May 15, 2012 4:28 AM by Fredrik Andersson RSS

Where is my soap-envelope?

Fredrik Andersson Newbie

Hello Guys!

 

Right now I'm in a project were we uppgrading a java-ee-app from jboss 4 to jboss 5.1.2.

 

This app is making a webservice call to an other server in a IIS.

The infrastructure looks something like

 

Jboss -> black_box_of_firewalls -> Microsoft IIS.

 

Right now the IIS is down, and that is ok for now.

 

How ever my intention is that the old-app and the new-app should work in the same way.

 

We generate the webservice client from the wsdl-file, with maven.

We have not changed the code in any way. To generate the webservice client we use the jboss-ws-tools.

The only changes should be that we uses jar from 5.1.2 instead of 4.

 

But we get different response for the same call.

 

I have asked the firewall-guys to sniff the traffic after the firewall.

 

From the old-app we caught this call and response:

 

POST /xxx/ws_xxx.asmx HTTP/1.1

SOAPAction: "http://www.xxx.xx/ (...)

Content-Type: text/xml; charset=UTF-8

JBoss-Remoting-Version: 22

User-Agent: JBossRemoting - 2.2.2.SP10

Host: 1.2.3.4:1234

Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2

Content-Length: 264

Connection: Keep-Alive

X-BlueCoat-Via: 80AF669A73FA896C

 

<env:Envelope>bla bla bla</env:Envelope>

 

HTTP/1.1 500 Internal Server Error

Date: Fri, 11 May 2012 10:38:45 GMT

Server: Microsoft-IIS/6.0

X-Powered-By: ASP.NET

X-AspNet-Version: 2.0.50727

Cache-Control: private

Content-Type: application/soap+xml; charset=utf-8

Content-Length: 493

 

<?xml version="1.0" encoding="utf-8"?> bla bla bla<soap:Envelope></soap:Envelope>

 

To me I can see the soap-envelop we sent and that the IIS responded.

 

But from the new-app we caught this call and response:

 

POST /xxx/ws_xxx.asmx HTTP/1.1

SOAPAction: "http://www.xxx.xx/ (...)

Content-Type: text/xml; charset=UTF-8

JBoss-Remoting-Version: 22

User-Agent: JBossRemoting - 2.5.4.SP3 (Flounder)

remotingContentType: remotingContentTypeNonString

Host: 1.2.3.4:1234

Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2

Transfer-Encoding: chunked

Connection: Keep-Alive

X-BlueCoat-Via: 80AF669A73FA896C

 

HTTP/1.1 400 Bad Request

Content-Type: text/html

Date: Fri, 11 May 2012 10:34:37 GMT

Connection: close

Content-Length: 20

 

<h1>Bad Request</h1>

 

As you can se there seems to be no soap-envelop in the request, and there are some different other header like: Transfer-Encoding: chunked, and remotingContentType.

 

In the response I see nothing about IIS either. So even if my firewall-guys say that I'm wrong I do have some doubt's that the response in fact came from the IIS.

 

What do you think guys, could this be because of:

 

1) Bug in new-app because of wrong way of generating the webservice client? (example is most welcome)

2) Misstake in sniffing, the sniffer missed the envelop in some strange way?

3) Something in firewall is removing the sending saop-envelope?

4) The response is from something else, perhaps in our black box of fire walls.

...or something else?

 

All guesses and suggestions are most welcome.

 

Best regards

Fredrik

  • 1. Re: Where is my soap-envelope?
    spyhunter99 Novice

    Have you tried using something like SoapUi, TcpMon, or Fiddler2 to help troubleshoot this? Are the IIS server logs available?

    Confirm that are you are in fact sending the correct urls. You can also try turning off chunked encoding. Provided you're using JbossWS Native, there's an endpoint config that you can set that will disable it. It's possible the firewall is rejecting it for that reason

  • 2. Re: Where is my soap-envelope?
    Fredrik Andersson Newbie

    Thanks for your help!

     

     

    There seems to be a limit in the firewall, that it do not support Transfer-Encoding: chunked

     

     

    The solution was to add this line of code:
    ((BindingProvider)stub).getRequestContext().put(org.jboss.ws.core.StubExt.PROPERTY_CHUNKED_ENCODING_SIZE, "-1")

     

    But this might be a bad solution if messages are big.
    (In my case they are small)

     

    Best regards
    Fredrik