[
https://issues.apache.org/jira/browse/CXF-3239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980488#action_12980488
]
Freeman Fang commented on CXF-3239:
-----------------------------------
hmm, yeah, the idl2wsdl tool should be able to honor the invisible const char,
the generated wsdl should be like
<corba:typeMapping
targetNamespace="http://cxf.apache.org/bindings/corba/idl/test2/typemap">
<corba:const xmlns:xs="http://www.w3.org/2001/XMLSchema" value="\0"
idltype="corba:char" name="Test2.MYCHAR" type="xs:byte"/>
</corba:typeMapping>
if it's control character.
> idl2wsdl fails if const char is defined in IDL
> ----------------------------------------------
>
> Key: CXF-3239
> URL: https://issues.apache.org/jira/browse/CXF-3239
> Project: CXF
> Issue Type: Bug
> Components: Tooling
> Affects Versions: 2.3.1
> Environment: CXF-2.3.1, Windows, idl2wsdl
> Reporter: Torsten Mielke
> Assignee: Freeman Fang
> Attachments: test2.idl
>
>
> Running
> {code}
> idl2wsdl test2.idl
> {code}
> on the attached IDL file, produces:
> {code}
> Error : org.apache.cxf.tools.common.ToolException: WSDLException:
> faultCode=PARSER_ERROR: : javax.xml.bind.MarshalException
> {code}
> Running with additional -verbose option prints
> {code}
> idl2wsdl -verbose Test2.idl
> idl2wsdl - Apache CXF 2.3.x-fuse-SNAPSHOT
> ( module Test2 ( const char MYCHAR ) )
> Error : org.apache.cxf.tools.common.ToolException: WSDLException:
> faultCode=PARSER_ERROR: : javax.xml.bind.MarshalException
> org.apache.cxf.tools.common.ToolException:
> org.apache.cxf.tools.common.ToolException: WSDLException:
> faultCode=PARSER_ERROR: : javax.xml.bind.MarshalE
> xception
> at
> org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.process(IDLToWSDLProcessor.java:88)
> at
> org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.process(IDLToWSDLProcessor.java:79)
> at org.apache.cxf.tools.corba.IDLToWSDL.execute(IDLToWSDL.java:73)
> at
> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)
> at
> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:58)
> at
> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:40)
> at org.apache.cxf.tools.corba.IDLToWSDL.run(IDLToWSDL.java:162)
> at org.apache.cxf.tools.corba.IDLToWSDL.main(IDLToWSDL.java:170)
> Caused by: org.apache.cxf.tools.common.ToolException: WSDLException:
> faultCode=PARSER_ERROR: : javax.xml.bind.MarshalException
> at
> org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.parseIDL(IDLToWSDLProcessor.java:219)
> at
> org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.process(IDLToWSDLProcessor.java:86)
> ... 7 more
> Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: :
> javax.xml.bind.MarshalException
> at
> org.apache.cxf.wsdl.JAXBExtensionHelper.marshall(JAXBExtensionHelper.java:261)
> at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown
> Source)
> at
> org.apache.cxf.tools.corba.common.WSDLCorbaWriterImpl.printExtensibilityElements(WSDLCorbaWriterImpl.java:159)
> at
> org.apache.cxf.tools.corba.common.WSDLCorbaWriterImpl.printDefinition(WSDLCorbaWriterImpl.java:119)
> at
> org.apache.cxf.tools.corba.common.WSDLCorbaWriterImpl.writeWSDL(WSDLCorbaWriterImpl.java:77)
> at
> org.apache.cxf.tools.corba.common.WSDLUtils.writeWSDL(WSDLUtils.java:84)
> at
> org.apache.cxf.tools.corba.processors.idl.WSDLASTVisitor.writeDefinition(WSDLASTVisitor.java:268)
> at
> org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.writeDefinitions(IDLToWSDLProcessor.java:297)
> at
> org.apache.cxf.tools.corba.processors.idl.IDLToWSDLProcessor.parseIDL(IDLToWSDLProcessor.java:217)
> ... 8 more
> Caused by: javax.xml.bind.MarshalException
> - with linked exception:
> [com.ctc.wstx.exc.WstxIOException: Invalid null character in text to output]
> at
> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:322)
> at
> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:172)
> at
> org.apache.cxf.wsdl.JAXBExtensionHelper.marshall(JAXBExtensionHelper.java:258)
> ... 16 more
> Caused by: com.ctc.wstx.exc.WstxIOException: Invalid null character in text
> to output
> at
> com.ctc.wstx.sw.BaseNsStreamWriter.doWriteAttr(BaseNsStreamWriter.java:515)
> at
> com.ctc.wstx.sw.BaseNsStreamWriter.writeAttribute(BaseNsStreamWriter.java:224)
> at
> org.apache.cxf.wsdl.PrettyPrintXMLStreamWriter.writeAttribute(PrettyPrintXMLStreamWriter.java:115)
> at
> com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.attribute(XMLStreamWriterOutput.java:131)
> at
> com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl.attribute(XmlOutputAbstractImpl.java:106)
> at
> com.sun.xml.bind.v2.runtime.XMLSerializer.attribute(XMLSerializer.java:446)
> at
> com.sun.xml.bind.v2.runtime.property.AttributeProperty.serializeAttributes(AttributeProperty.java:99)
> at
> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeAttributes(ClassBeanInfoImpl.java:356)
> at
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:689)
> at
> com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:65)
> at
> com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:168)
> at
> com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:155)
> at
> com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:340)
> at
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696)
> at
> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:152)
> at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:157)
> at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:189)
> at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:316)
> at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:323)
> at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:72)
> at
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494)
> at
> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:315)
> ... 18 more
> Caused by: java.io.IOException: Invalid null character in text to output
> at
> com.ctc.wstx.api.InvalidCharHandler$FailingHandler.convertInvalidChar(InvalidCharHandler.java:51)
> at com.ctc.wstx.sw.XmlWriter.handleInvalidChar(XmlWriter.java:623)
> at
> com.ctc.wstx.sw.BufferingXmlWriter.writeAttrValue(BufferingXmlWriter.java:1037)
> at
> com.ctc.wstx.sw.BufferingXmlWriter.writeAttribute(BufferingXmlWriter.java:883)
> at
> com.ctc.wstx.sw.BaseNsStreamWriter.doWriteAttr(BaseNsStreamWriter.java:512)
> ... 39 more
> Error : org.apache.cxf.tools.common.ToolException: WSDLException:
> faultCode=PARSER_ERROR: : javax.xml.bind.MarshalException
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.