Invalid byte 1 of 1-byte UTF-8 sequence
meselfe Jan 12, 2011 3:07 AMI get an error "Invalid byte 1 of 1-byte UTF-8 sequence." when I deploy a pojo with jaxws webservice annotations on jbossws native.
org.apache.xerces.xni.XNIException: Parser should stop: [domain:http://www.w3.org/TR/1998/REC-xml-19980210]::[key=InvalidByte]::Message=Invalid byte 1 of 1-byte UTF-8 sequence. at org.jboss.ws.metadata.wsdl.xmlschema.JBossXSErrorHandler.fatalError(JBossXSErrorHandler.java:78) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.impl.xs.opti.SchemaParsingConfig.parse(Unknown Source) at org.apache.xerces.impl.xs.opti.SchemaParsingConfig.parse(Unknown Source) at org.apache.xerces.impl.xs.opti.SchemaDOMParser.parse(Unknown Source) at org.apache.xerces.impl.xs.traversers.XSDHandler.getSchemaDocument(Unknown Source) at org.apache.xerces.impl.xs.traversers.XSDHandler.resolveSchema(Unknown Source) at org.apache.xerces.impl.xs.traversers.XSDHandler.constructTrees(Unknown Source) at org.apache.xerces.impl.xs.traversers.XSDHandler.parseSchema(Unknown Source) at org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(Unknown Source) at org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(Unknown Source) at org.jboss.ws.tools.JavaToXSD.parseSchema(JavaToXSD.java:183) at org.jboss.ws.tools.wsdl.WSDL11Reader.processTypes(WSDL11Reader.java:394) at org.jboss.ws.tools.wsdl.WSDL11Reader.processTypes(WSDL11Reader.java:409) at org.jboss.ws.tools.wsdl.WSDL11Reader.processDefinition(WSDL11Reader.java:175) at org.jboss.ws.tools.wsdl.WSDLDefinitionsFactory.parse(WSDLDefinitionsFactory.java:128) at org.jboss.ws.metadata.umdm.ServiceMetaData.getWsdlDefinitions(ServiceMetaData.java:295) at org.jboss.ws.metadata.builder.jaxws.JAXWSWebServiceMetaDataBuilder.buildWebServiceMetaData(JAXWSWebServiceMetaDataBuilder.java:166) at org.jboss.ws.metadata.builder.jaxws.JAXWSServerMetaDataBuilder.setupProviderOrWebService(JAXWSServerMetaDataBuilder.java:50) at org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderJSE.buildMetaData(JAXWSMetaDataBuilderJSE.java:63)
The java methods exposed as @webmethods take objects as input that have been generated from XSD using JAXB "xjc". The original XSDs are encoded in utf-8 and use international characters. My guess is that while generating the WSDL jboss somehow rebuilds the original XSD types and tries to insert them in a piece of XML thats not utf-8? Maybe the WSDL itself? I noticed the WSDL that jbossws generates has no XML declaration <?xml version="" encoding=""...>! Is there some way to let jboss know it should use utf-8 all the way through?