I've suggested that we stick with UTF-8 since it is more flexible, but it seems that their system isn't able to handle UTF-8 for some reason. In most cases, the encoding doesn't really matter, but when we have some data with bullet characters and curly-quotes, they find that the data is garbled from their end, as one would expect.
We had been using axis1.1, and I noticed that UTF-8 was hard-coded in many places, but I see that axis1.2 does have some configurability for the encoding.
So, just to start, I'm trying to get my test client to request the data in ISO-8859-1 just to see what happens when I change the global "axis.xmlEncoding" to ISO-8859-1. So far, that doesn't seem to be changing the default anywhere. Looking at the AxisServlet code, I see that the encoding is set by the request.
So, now I need to figure out how to set the encoding of the request.
My test jsp page just uses an html form to let the user enter the xml expression to pass to the service. This works fine, but it always sends it to the service in utf-8.
Here is an excerpt of the code:
String endpoint = ""; // url of the endpoint
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL( endpoint ) );
call.setOperationName( new QName( "http://soapinterop.org/", "MyTestRequest" ) );
document = (Document) call.invoke( new Object[] { xml } );
I've tried including an encoding header on the xml which (as expected) didn't magically change the request encoding into iso-8859-1.
Is there any way to tell Call to make it's request in iso-8859-1?
And the followup question might be: Is this going to result in the response being sent in that same encoding as the request?
Thanks for the help.
Bernie