[JBoss JIRA] (JBWS-3411) WSDL generation for javax.jws SOAP services uses system-default character set.
by Bastian Blankenburg (Created) (JIRA)
WSDL generation for javax.jws SOAP services uses system-default character set.
------------------------------------------------------------------------------
Key: JBWS-3411
URL: https://issues.jboss.org/browse/JBWS-3411
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: jbossws-native
Affects Versions: jbossws-native-3.4.1
Environment: Windows 7, JDK 1.6.0 64bit, JBoss AS 5.1.0GA
Reporter: Bastian Blankenburg
When deploying a webservice implemented using javax.jws and JAXB annotations, a WSDL is generated. In this process, a temporary XML schema file is generated and written to the tmp directory by the WSDL11Reader.processSchemaInclude method. It uses a DOMWriter in lines 640-646 to actually write the file via a FileWriter. This leads to the schema being written with the system-default character set, without an XML declaration. For non-ASCII characters, this might in turn lead to org.apache.xerces.xni.XNIException being thrown by the xerces parser when the file is read again by the JavaToXSD.parseSchema (line 181) method.
For example, part of my I have an @XmlEnum with a value "località", specified by @XmlEnumValue("localit\u00e0"), which causes this problem. The exception message in this case is
"Parser should stop: JBossWS_(...)18444939893360070.xsd[domain:http://www.w3.org/TR/1998/REC-x... byte 2 of 3-byte UTF-8 sequence."
Java char supports UTF-16 characters with the "\u" escape sequences. The DOMWriter has another constructor DOMWriter(OutputStream stream, String charsetName) which also causes an XML declaration to be written. Its usage in WSDL11Reader with "UTF-16" as second parameter would thus avoid the described problem.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira