You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by Mike Spreitzer <ms...@us.ibm.com> on 2001/01/08 23:49:50 UTC
TcpTunnelGui stalling calls on RedHat Linux 6.2 with IBM Java 1.3
I'm seeing SOAP's TcpTunnelGui stalling calls; has anyone else seen (or
better yet, fixed) anything like this?
I see this with both the IBM SOAP 1.2 and the Apache SOAP 2.0 version of
the TcpTunnelGui. I'm testing with an IBM SOAP 1.2 server running in a
standalone-mode Tomcat 3.2.1; the client is the IBM SOAP 1.2 version of
the ServiceManagerClient.
The problem seems to be that the TCP connection closure doesn't propagate
across the TcpTunnelGui. I can make it propagate by ^Z'ing the
TcpTunnelGui!
For example, using the Apache SOAP 2.0 version of TcpTunnelGui, I set up a
TcpTunnelGui like this:
wat-eu-2$ java org.apache.soap.util.net.TcpTunnelGui 8080 alphaspreit 8080
In another shell, I watch for packets like this:
wat-eu-2# tcpdump port 8080
Kernel filter, protocol ALL, datagram packet socket
tcpdump: listening on all devices
In another shell, I make a call like this:
wat-eu-2$ java com.ibm.soap.server.ServiceManagerClient
http://wat-eu-2:8080/soap/rpcrouter.jsp list
In the tcpdump window, I get this output:
17:34:14.870389 lo > wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: S 4024758940:4024758940(0) win 31072 <mss
3884,sackOK,timestamp 1797407 0,nop,wscale 0> (DF)
17:34:14.870389 lo < wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: S 4024758940:4024758940(0) win 31072 <mss
3884,sackOK,timestamp 1797407 0,nop,wscale 0> (DF)
17:34:14.870438 lo > wat-eu-2.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1126: S 4023876348:4023876348(0) ack 4024758941
win 31072 <mss 3884,sackOK,timestamp 1797407 1797407,nop,wscale 0> (DF)
17:34:14.870438 lo < wat-eu-2.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1126: S 4023876348:4023876348(0) ack 4024758941
win 31072 <mss 3884,sackOK,timestamp 1797407 1797407,nop,wscale 0> (DF)
17:34:14.870458 lo > wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: . 1:1(0) ack 1 win 31072 <nop,nop,timestamp
1797407 1797407> (DF)
17:34:14.870458 lo < wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: . 1:1(0) ack 1 win 31072 <nop,nop,timestamp
1797407 1797407> (DF)
17:34:14.877958 tr0 > wat-eu-2.watson.ibm.com.1127 >
alphaspreit.watson.ibm.com.8080: S 4018469395:4018469395(0) win 31360 <mss
1960,sackOK,timestamp 1797407 0,nop,wscale 0> (DF)
17:34:14.883020 tr0 < alphaspreit.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1127: S 2359619042:2359619042(0) ack 4018469396
win 15972 <mss 1452>
17:34:14.883061 tr0 > wat-eu-2.watson.ibm.com.1127 >
alphaspreit.watson.ibm.com.8080: . 1:1(0) ack 1 win 31360 (DF)
17:34:14.883967 tr0 > wat-eu-2.watson.ibm.com.1127 >
alphaspreit.watson.ibm.com.8080: . 1:1(0) ack 1 win 31360 (DF)
17:34:14.886759 lo > wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: P 1:490(489) ack 1 win 31072
<nop,nop,timestamp 1797408 1797407> (DF)
17:34:14.886759 lo < wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: P 1:490(489) ack 1 win 31072
<nop,nop,timestamp 1797408 1797407> (DF)
17:34:14.886821 lo > wat-eu-2.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1126: . 1:1(0) ack 490 win 30583
<nop,nop,timestamp 1797408 1797408> (DF)
17:34:14.886821 lo < wat-eu-2.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1126: . 1:1(0) ack 490 win 30583
<nop,nop,timestamp 1797408 1797408> (DF)
17:34:14.894836 tr0 > wat-eu-2.watson.ibm.com.1127 >
alphaspreit.watson.ibm.com.8080: P 1:490(489) ack 1 win 31360 (DF)
17:34:14.901335 tr0 < alphaspreit.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1127: P 1:187(186) ack 490 win 15972 (DF)
17:34:14.901359 tr0 > wat-eu-2.watson.ibm.com.1127 >
alphaspreit.watson.ibm.com.8080: . 490:490(0) ack 187 win 31174 (DF)
17:34:14.901614 lo > wat-eu-2.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1126: P 1:187(186) ack 490 win 31072
<nop,nop,timestamp 1797410 1797408> (DF)
17:34:14.901614 lo < wat-eu-2.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1126: P 1:187(186) ack 490 win 31072
<nop,nop,timestamp 1797410 1797408> (DF)
17:34:14.901635 lo > wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: . 490:490(0) ack 187 win 30886
<nop,nop,timestamp 1797410 1797410> (DF)
17:34:14.901635 lo < wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: . 490:490(0) ack 187 win 30886
<nop,nop,timestamp 1797410 1797410> (DF)
17:34:14.901673 tr0 < alphaspreit.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1127: F 187:187(0) ack 490 win 15972 (DF)
17:34:14.901688 tr0 > wat-eu-2.watson.ibm.com.1127 >
alphaspreit.watson.ibm.com.8080: . 490:490(0) ack 188 win 31173 (DF)
17:34:14.928911 tr0 > wat-eu-2.watson.ibm.com.1127 >
alphaspreit.watson.ibm.com.8080: F 490:490(0) ack 188 win 31360 (DF)
17:34:14.930635 tr0 < alphaspreit.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1127: . 188:188(0) ack 491 win 15972 (DF)
At this point, the TCP connection between the TcpTunnelGui and the SOAP
server has been closed, but the connection between the TcpTunnelGui and
the SOAP client has not. Nothing else happens unless I prod something. If
I now ^Z the TcpTunnelGui, I get the following additional output in the
tcpdump window:
17:35:04.081361 lo > wat-eu-2.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1126: F 187:187(0) ack 490 win 31072
<nop,nop,timestamp 1802328 1797410> (DF)
17:35:04.081361 lo < wat-eu-2.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1126: F 187:187(0) ack 490 win 31072
<nop,nop,timestamp 1802328 1797410> (DF)
17:35:04.081390 lo > wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: . 490:490(0) ack 188 win 31072
<nop,nop,timestamp 1802328 1802328> (DF)
17:35:04.081390 lo < wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: . 490:490(0) ack 188 win 31072
<nop,nop,timestamp 1802328 1802328> (DF)
17:35:04.390696 lo > wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: F 490:490(0) ack 188 win 31072
<nop,nop,timestamp 1802359 1802328> (DF)
17:35:04.390696 lo < wat-eu-2.watson.ibm.com.1126 >
wat-eu-2.watson.ibm.com.8080: F 490:490(0) ack 188 win 31072
<nop,nop,timestamp 1802359 1802328> (DF)
17:35:04.390806 lo > wat-eu-2.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1126: . 188:188(0) ack 491 win 31072
<nop,nop,timestamp 1802359 1802359> (DF)
17:35:04.390806 lo < wat-eu-2.watson.ibm.com.8080 >
wat-eu-2.watson.ibm.com.1126: . 188:188(0) ack 491 win 31072
<nop,nop,timestamp 1802359 1802359> (DF)
and the SOAP client processes the reply message (which the sharp-eyed will
note is unusually short for a SOAP reply; that's expected, the web server
is asking for authentication, because I've configured it to do so).
Thanks for any help,
Mike
SOAP SSL exceptions and error messages
Posted by Robert Dyas <rd...@adelphia.net>.
Hi Everyone,
It does not appear that soap.jar (with SSL) passes exception information
very well.
There are two copies of error output below. The first one is for an
"untrusted server cert chain" when simplying using URL outside of the soap
framework. The second one is accessing the same server, and I am pretty sure
generating the same error, however the info passed along by soap is so
limited that you would never be able to debug it.
Is there a way to get soap to pass along better exception information?
**************** error output from JSSE not using soap *************
Exception in thread "main" javax.net.ssl.SSLException: untrusted server cert
chain
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at
com.sun.net.ssl.internal.ssl.ClientHandshaker.a([DashoPro-V1.2-120198])
at
com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage([DashoPro-V1.2-
120198])
at
com.sun.net.ssl.internal.ssl.Handshaker.process_record([DashoPro-V1.2-120198
])
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at
com.sun.net.ssl.internal.ssl.AppOutputStream.write([DashoPro-V1.2-120198])
at java.io.OutputStream.write(Unknown Source)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake([DashoPro-V1.2-120
198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsClient.doConnect([DashoPro-
V1.2-120198])
at
com.sun.net.ssl.internal.www.protocol.https.NetworkClient.openServer([DashoP
ro-V1.2-120198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpClient.l([DashoPro-V1.2-1201
98])
at
com.sun.net.ssl.internal.www.protocol.https.HttpClient.<init>([DashoPro-V1.2
-120198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsClient.<init>([DashoPro-V1.
2-120198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsClient.a([DashoPro-V1.2-120
198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsClient.a([DashoPro-V1.2-120
198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.connect([Dash
oPro-V1.2-120198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.getInputStrea
m([DashoPro-V1.2-120198])
at java.net.URL.openStream(Unknown Source)
at URLReader.main(URLReader.java:47)
**************** error output from same errror with soap *************
Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Client;
msg=Error
opening socket: null; targetException=java.lang.IllegalArgumentException:
Error
opening socket: null]
at
org.apache.soap.transport.http.SOAPHTTPConnection.send(SOAPHTTPConnection.ja
va:184)
at org.apache.soap.rpc.Call.invoke(Call.java:172)
at GetQuote.main(GetQuote.java:40)
SOAP SSL exceptions and error messages
Posted by Robert Dyas <rd...@adelphia.net>.
Hi Everyone,
It does not appear that soap.jar (with SSL) passes exception information
very well.
There are two copies of error output below. The first one is for an
"untrusted server cert chain" when simplying using URL outside of the soap
framework. The second one is accessing the same server, and I am pretty sure
generating the same error, however the info passed along by soap is so
limited that you would never be able to debug it.
Is there a way to get soap to pass along better exception information?
**************** error output from JSSE not using soap *************
Exception in thread "main" javax.net.ssl.SSLException: untrusted server cert
chain
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at
com.sun.net.ssl.internal.ssl.ClientHandshaker.a([DashoPro-V1.2-120198])
at
com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage([DashoPro-V1.2-
120198])
at
com.sun.net.ssl.internal.ssl.Handshaker.process_record([DashoPro-V1.2-120198
])
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198])
at
com.sun.net.ssl.internal.ssl.AppOutputStream.write([DashoPro-V1.2-120198])
at java.io.OutputStream.write(Unknown Source)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake([DashoPro-V1.2-120
198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsClient.doConnect([DashoPro-
V1.2-120198])
at
com.sun.net.ssl.internal.www.protocol.https.NetworkClient.openServer([DashoP
ro-V1.2-120198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpClient.l([DashoPro-V1.2-1201
98])
at
com.sun.net.ssl.internal.www.protocol.https.HttpClient.<init>([DashoPro-V1.2
-120198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsClient.<init>([DashoPro-V1.
2-120198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsClient.a([DashoPro-V1.2-120
198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsClient.a([DashoPro-V1.2-120
198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.connect([Dash
oPro-V1.2-120198])
at
com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnection.getInputStrea
m([DashoPro-V1.2-120198])
at java.net.URL.openStream(Unknown Source)
at URLReader.main(URLReader.java:47)
**************** error output from same errror with soap *************
Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Client;
msg=Error
opening socket: null; targetException=java.lang.IllegalArgumentException:
Error
opening socket: null]
at
org.apache.soap.transport.http.SOAPHTTPConnection.send(SOAPHTTPConnection.ja
va:184)
at org.apache.soap.rpc.Call.invoke(Call.java:172)
at GetQuote.main(GetQuote.java:40)