A WS request/response message maybe of UTF-16 or use a Byte Order Marker (BOM) with UTF-8
In the Axis code I found places where they do
new String(byteArray, "UTF-8")
org.xml.sax.SAXParseException: Content is not allowed in prolog.
I think you can get at the current current encoding by getting the SOAPMessage.CHARACTER_SET_ENCODING off of Message.class