We are using stub classes created from WSDL2Java to communicate with a customer's web service. Axis (1.3 and 1.4) seems unable to parse the response of the SOAP message, and eyeballing the response in a tool like tcpmon one can see junk characters inserted between every valid XML character (the typical ASCII square), and two before the opening xml bracket.
 
Using the default Http sender, Axis reports an IO exception with a message like "Invalid byte 1 of 1 byte UTF-8 sequence". Using the commons-http-client, this becomes a SAXParseException of "Content is not allowed in prolog". The SOAP response's header claims a content type of UTF-8, although it does not appear to be so.
 
I've been able to test out communications with the same web services using a .NET generated proxy. Watching the traffic in tcpmon, the response looks the same, but is understood by the client.
 
Should we be setting the character set / encoding expected in the response stream manually somewhere?
 
 
Thanks
Matthew Brown

Reply via email to