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/15 05:07:40 UTC
Re: SOAP call fails iff call message length is 3568 or greater, using IBM
SOAP1.2, Tomcat 3.2.1 standalone, IBM JDK 1.3.0, and RedHat Linux 6.2
Chuck Clark,
As you can see in an earlier message (see, e.g.,
<http://marc.theaimsgroup.com/?l=soap-user&m=97894850102453&w=2>, for a
message on Jan 8 10:05 AM GMT (I think) from Wouter Cloetens), Wouter
thinks this is a manifestation of a problem very recently fixed. It took
me a while to get past the red herrings, but I now strongly suspect this
too. My team will test this hypothesis ASAP by trying some very recent
vintage of Apache SOAP.
The problem seems to be with linebreaks that are sent (client to server)
after the end of the call message. Not --- and this is what threw me off
the track for a while --- in a separate packet, but still after then last
byte accounted for by the Content-Length header. If you can get full
packet traces and look for this, you may help clarify your situation.
I produced my test code by making the following changes to the stockquote
example. In class StockQuoteService, entirely gut the "getQuote" method,
replacing its body with
return symbol.hashCode();
Note that the client doesn't really care whether the result is a float or
an int. In class GetQuote, replace the assignment
String symbol = args[2 - offset];
with
String symbol_len_str = args[2 - offset];
int sym_len = Integer.parseInt(symbol_len_str);
char[] sym_chars = new char[sym_len];
for (int i = 0; i < sym_len; i++)
sym_chars[i] = (char) ('A' + (i % 26));
String symbol = new String(sym_chars);
Good luck,
Mike