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