Non-ASCII characters garbled in JAX-WS/JMS request
Issue
- My application on JBoss EAP has a JAX-WS Message Driven Bean service. The client delivers the message via JMS, specifically as a JMS "TextMessage."
- When the incoming SOAP message contains only ASCII characters, the message is fine. When it contains non-ASCII characters, it is decoded improperly. For instance, here is the tail of
server.log:
2013-04-02 13:44:59,460 TRACE [org.jboss.ws.core.MessageTrace] (http-0.0.0.0-8080-3) Incoming Request Message
<soapenv:Envelope xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:wsa='http://www.w3.org/2005/08/addressing' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<soapenv:Header/>
<soapenv:Body>
<ns1:getSecureCustomerById xmlns:ns1='http://mycompany.com/customerservice'>
<custId>12345</custId>
<accessName>??</accessName>
<password>xxxxxxxx</password>
</ns1:getSecureCustomerById>
</soapenv:Body>
</soapenv:Envelope>
- Notice the
<accessName>??</accessName>element. The question mark characters should be two Japanese unicode characters (as they are in the client). As JMS is transporting the SOAP as aTextMessage-- which is aString, not bytes -- I don't see why there should be any encoding issues.
Environment
- JBoss Enterprise Application Platform (EAP)
- 5.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.