[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