[jboss-user] [JBossWS] - Client call fails using JBossWS

tomstrummer do-not-reply at jboss.com
Fri Oct 17 11:17:49 EDT 2008


Hi, I have a client that causes a web service to throw a 500 error when it uses JBossWS to make the service call.  For some reason the same request succeeds when Metro is used.  I have WireShark captures of the failed and successful requests, and there are only a few very minor differences that I can find.

(captures are below).

Here are the differences I see:

1.  JBossWS streams the request body, so it sets Transfer-Encoding: chunked and does not set a Content-Length header.  Not that it's excusable for a server to barf over this sort of thing, but this seems like the biggest difference between the two.  Is it possible to make JBossWS _not_ stream the request?

2.  JBossWS adds a "Pragma" header and a custom "JBoss-Remoting-Version" header.  Can't imagine these are the problem.

3.  JBossWS omits the XML declaration header in the request body, and happens to use "env" for the SOAP namespace, while Metro uses "S."  Again, I don't imagine this is the problem, but just for kicks, can this be customized?  

I'm going to use curl to see if I can't narrow down the problem further.  Unfortunately the actual text message that the server responds with on the 500 error is generic and doesn't provide any insight into the problem.

Thanks for any insight.

Good request:

  | No.     Time        Source                Destination           Protocol Info
  |      11 8.719335    172.16.10.203         192.251.13.133        HTTP     POST /emkt/xml/query HTTP/1.1 
  | 
  | Frame 11 (393 bytes on wire, 393 bytes captured)
  | Ethernet II, Src: HewlettP_ad:42:c3 (00:1c:c4:ad:42:c3), Dst: Cisco_f9:55:ff (00:17:e0:f9:55:ff)
  | Internet Protocol, Src: 172.16.10.203 (172.16.10.203), Dst: 192.251.13.133 (192.251.13.133)
  | Transmission Control Protocol, Src Port: 49504 (49504), Dst Port: http (80), Seq: 1, Ack: 1, Len: 327
  | Hypertext Transfer Protocol
  |     POST /emkt/xml/query HTTP/1.1\r\n
  |         Request Method: POST
  |         Request URI: /emkt/xml/query
  |         Request Version: HTTP/1.1
  |     SOAPAction: "query"\r\n
  |     Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2\r\n
  |     Content-Type: text/xml; charset=utf-8\r\n
  |     User-Agent: Java/1.6.0_06\r\n
  |     Host: emkt.pjm.com\r\n
  |     Connection: keep-alive\r\n
  |     Content-Length: 244
  |     \r\n
  | 
  | No.     Time        Source                Destination           Protocol Info
  |      12 8.719374    172.16.10.203         192.251.13.133        HTTP     Continuation or non-HTTP traffic
  | 
  | Frame 12 (310 bytes on wire, 310 bytes captured)
  | Ethernet II, Src: HewlettP_ad:42:c3 (00:1c:c4:ad:42:c3), Dst: Cisco_f9:55:ff (00:17:e0:f9:55:ff)
  | Internet Protocol, Src: 172.16.10.203 (172.16.10.203), Dst: 192.251.13.133 (192.251.13.133)
  | Transmission Control Protocol, Src Port: 49504 (49504), Dst Port: http (80), Seq: 328, Ack: 1, Len: 244
  | Hypertext Transfer Protocol
  |     Data (244 bytes)
  | 
  | 0000  3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31   <?xml version="1
  | 0010  2e 30 22 20 3f 3e 3c 53 3a 45 6e 76 65 6c 6f 70   .0" ?><S:Envelop
  | 0020  65 20 78 6d 6c 6e 73 3a 53 3d 22 68 74 74 70 3a   e xmlns:S="http:
  | 0030  2f 2f 73 63 68 65 6d 61 73 2e 78 6d 6c 73 6f 61   //schemas.xmlsoa
  | 0040  70 2e 6f 72 67 2f 73 6f 61 70 2f 65 6e 76 65 6c   p.org/soap/envel
  | 0050  6f 70 65 2f 22 3e 3c 53 3a 42 6f 64 79 3e 3c 51   ope/"><S:Body><Q
  | 0060  75 65 72 79 52 65 71 75 65 73 74 20 78 6d 6c 6e   ueryRequest xmln
  | 0070  73 3d 22 68 74 74 70 3a 2f 2f 65 6d 6b 74 2e 70   s="http://emkt.p
  | 0080  6a 6d 2e 63 6f 6d 2f 65 6d 6b 74 2f 78 6d 6c 22   jm.com/emkt/xml"
  | 0090  3e 3c 51 75 65 72 79 4c 6f 61 64 52 65 73 70 6f   ><QueryLoadRespo
  | 00a0  6e 73 65 20 64 61 79 3d 22 32 30 30 38 2d 31 30   nse day="2008-10
  | 00b0  2d 31 35 22 3e 3c 41 6c 6c 2f 3e 3c 2f 51 75 65   -15"><All/></Que
  | 00c0  72 79 4c 6f 61 64 52 65 73 70 6f 6e 73 65 3e 3c   ryLoadResponse><
  | 00d0  2f 51 75 65 72 79 52 65 71 75 65 73 74 3e 3c 2f   /QueryRequest></
  | 00e0  53 3a 42 6f 64 79 3e 3c 2f 53 3a 45 6e 76 65 6c   S:Body></S:Envel
  | 00f0  6f 70 65 3e                                       ope>
  |         Data: 3C3F786D6C2076657273696F6E3D22312E3022203F3E3C53...
  | 
  | No.     Time        Source                Destination           Protocol Info
  |     239 11.362093   192.251.13.133        172.16.10.203         HTTP/XML HTTP/1.1 200 OK 
  | 
  | Frame 239 (424 bytes on wire, 424 bytes captured)
  | Ethernet II, Src: Cisco_f9:55:ff (00:17:e0:f9:55:ff), Dst: HewlettP_ad:42:c3 (00:1c:c4:ad:42:c3)
  | Internet Protocol, Src: 192.251.13.133 (192.251.13.133), Dst: 172.16.10.203 (172.16.10.203)
  | Transmission Control Protocol, Src Port: http (80), Dst Port: 49504 (49504), Seq: 244782, Ack: 572, Len: 358
  | [Reassembled TCP Segments (245139 bytes): #14(1368), #15(389), #18(1368), #20(1368), #22(1368), #24(1368), #26(1368), #28(1368), #30(1368), #32(1368), #34(1368), #36(1368), #38(1368), #40(1368), #42(1368), #44(1368), #46(1368), #48(1368), #]
  | Hypertext Transfer Protocol
  |     HTTP/1.1 200 OK\r\n
  |         Request Version: HTTP/1.1
  |         Response Code: 200
  |     Date: Wed, 15 Oct 2008 16:59:57 GMT\r\n
  |     Content-Type: text/xml\r\n
  |     Set-Cookie: JSESSIONID=L2hNJGnpYndLmYMcwv58CN2pfqMfmPJghLPfSJwpZdBQnDzDJLnG!-697457095; path=/\r\n
  |     Transfer-Encoding: chunked\r\n
  |     Set-Cookie: BIGipServeremkt.pjm.com=361277632.25115.0000; expires=Wed, 15-Oct-2008 17:29:59 GMT; path=/\r\n
  |     \r\n
  |     HTTP chunked response
  | eXtensible Markup Language
  | 

Bad request:

  | No.     Time        Source                Destination           Protocol Info
  |      12 9.644348    172.16.10.203         192.251.13.133        HTTP     POST /emkt/xml/query HTTP/1.1 
  | 
  | Frame 12 (454 bytes on wire, 454 bytes captured)
  | Ethernet II, Src: HewlettP_ad:42:c3 (00:1c:c4:ad:42:c3), Dst: Cisco_f9:55:ff (00:17:e0:f9:55:ff)
  | Internet Protocol, Src: 172.16.10.203 (172.16.10.203), Dst: 192.251.13.133 (192.251.13.133)
  | Transmission Control Protocol, Src Port: 42670 (42670), Dst Port: http (80), Seq: 1, Ack: 1, Len: 388
  | Hypertext Transfer Protocol
  |     POST /emkt/xml/query HTTP/1.1\r\n
  |         Request Method: POST
  |         Request URI: /emkt/xml/query
  |         Request Version: HTTP/1.1
  |     SOAPAction: "query"\r\n
  |     Content-Type: text/xml; charset=UTF-8\r\n
  |     JBoss-Remoting-Version: 22\r\n
  |     User-Agent: JBossRemoting - 2.2.2.SP8\r\n
  |     Cache-Control: no-cache\r\n
  |     Pragma: no-cache\r\n
  |     Host: emkt.pjm.com\r\n
  |     Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2\r\n
  |     Connection: keep-alive\r\n
  |     Transfer-Encoding: chunked\r\n
  |     \r\n
  | 
  | No.     Time        Source                Destination           Protocol Info
  |      13 9.645404    172.16.10.203         192.251.13.133        HTTP     Continuation or non-HTTP traffic
  | 
  | Frame 13 (352 bytes on wire, 352 bytes captured)
  | Ethernet II, Src: HewlettP_ad:42:c3 (00:1c:c4:ad:42:c3), Dst: Cisco_f9:55:ff (00:17:e0:f9:55:ff)
  | Internet Protocol, Src: 172.16.10.203 (172.16.10.203), Dst: 192.251.13.133 (192.251.13.133)
  | Transmission Control Protocol, Src Port: 42670 (42670), Dst Port: http (80), Seq: 389, Ack: 1, Len: 286
  | Hypertext Transfer Protocol
  |     Data (286 bytes)
  | 
  | 0000  31 31 37 0d 0a 3c 65 6e 76 3a 45 6e 76 65 6c 6f   117..<env:Envelo
  | 0010  70 65 20 78 6d 6c 6e 73 3a 65 6e 76 3d 27 68 74   pe xmlns:env='ht
  | 0020  74 70 3a 2f 2f 73 63 68 65 6d 61 73 2e 78 6d 6c   tp://schemas.xml
  | 0030  73 6f 61 70 2e 6f 72 67 2f 73 6f 61 70 2f 65 6e   soap.org/soap/en
  | 0040  76 65 6c 6f 70 65 2f 27 3e 3c 65 6e 76 3a 48 65   velope/'><env:He
  | 0050  61 64 65 72 3e 3c 2f 65 6e 76 3a 48 65 61 64 65   ader></env:Heade
  | 0060  72 3e 3c 65 6e 76 3a 42 6f 64 79 3e 3c 51 75 65   r><env:Body><Que
  | 0070  72 79 52 65 71 75 65 73 74 20 78 6d 6c 6e 73 3d   ryRequest xmlns=
  | 0080  22 68 74 74 70 3a 2f 2f 65 6d 6b 74 2e 70 6a 6d   "http://emkt.pjm
  | 0090  2e 63 6f 6d 2f 65 6d 6b 74 2f 78 6d 6c 22 3e 3c   .com/emkt/xml"><
  | 00a0  51 75 65 72 79 4d 61 72 6b 65 74 52 65 73 75 6c   QueryMarketResul
  | 00b0  74 73 20 74 79 70 65 3d 22 4c 6f 61 64 52 65 73   ts type="LoadRes
  | 00c0  70 6f 6e 73 65 22 20 64 61 79 3d 22 32 30 30 38   ponse" day="2008
  | 00d0  2d 31 30 2d 31 35 22 3e 3c 41 6c 6c 2f 3e 3c 2f   -10-15"><All/></
  | 00e0  51 75 65 72 79 4d 61 72 6b 65 74 52 65 73 75 6c   QueryMarketResul
  | 00f0  74 73 3e 3c 2f 51 75 65 72 79 52 65 71 75 65 73   ts></QueryReques
  | 0100  74 3e 3c 2f 65 6e 76 3a 42 6f 64 79 3e 3c 2f 65   t></env:Body></e
  | 0110  6e 76 3a 45 6e 76 65 6c 6f 70 65 3e 0d 0a         nv:Envelope>..
  |         Data: 3131370D0A3C656E763A456E76656C6F706520786D6C6E73...
  | 
  | No.     Time        Source                Destination           Protocol Info
  |      15 9.662267    172.16.10.203         192.251.13.133        HTTP     Continuation or non-HTTP traffic
  | 
  | Frame 15 (71 bytes on wire, 71 bytes captured)
  | Ethernet II, Src: HewlettP_ad:42:c3 (00:1c:c4:ad:42:c3), Dst: Cisco_f9:55:ff (00:17:e0:f9:55:ff)
  | Internet Protocol, Src: 172.16.10.203 (172.16.10.203), Dst: 192.251.13.133 (192.251.13.133)
  | Transmission Control Protocol, Src Port: 42670 (42670), Dst Port: http (80), Seq: 675, Ack: 1, Len: 5
  | Hypertext Transfer Protocol
  |     Data (5 bytes)
  | 
  | 0000  30 0d 0a 0d 0a                                    0....
  |         Data: 300D0A0D0A
  | 
  | No.     Time        Source                Destination           Protocol Info
  |      20 9.865277    192.251.13.133        172.16.10.203         HTTP     [TCP Out-Of-Order] HTTP/1.1 500 Internal Server Error  (text/html)
  | 
  | Frame 20 (1290 bytes on wire, 1290 bytes captured)
  | Ethernet II, Src: Cisco_f9:55:ff (00:17:e0:f9:55:ff), Dst: HewlettP_ad:42:c3 (00:1c:c4:ad:42:c3)
  | Internet Protocol, Src: 192.251.13.133 (192.251.13.133), Dst: 172.16.10.203 (172.16.10.203)
  | Transmission Control Protocol, Src Port: http (80), Dst Port: 42670 (42670), Seq: 1, Ack: 680, Len: 1224
  | Hypertext Transfer Protocol
  |     HTTP/1.1 500 Internal Server Error\r\n
  |         Request Version: HTTP/1.1
  |         Response Code: 500
  |     Date: Wed, 15 Oct 2008 17:13:36 GMT\r\n
  |     Content-Length: 883
  |     Content-Type: text/html\r\n
  |     Set-Cookie: JSESSIONID=L2kQ8KWNVHbzBDbfcNRwQc1QvR5W6PyPFzyQ6F5PL7lYds0tG9dP!-330699111; path=/\r\n
  |     Connection: Close\r\n
  |     Set-Cookie: BIGipServeremkt.pjm.com=344500416.25115.0000; expires=Wed, 15-Oct-2008 17:43:36 GMT; path=/\r\n
  |     \r\n
  | Line-based text data: text/html
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4182956#4182956

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4182956



More information about the jboss-user mailing list