Details
Description
When generating javadoc comments in emitted java classes from xsd:documentation/xsd:annotation, CDATA are systematically disregarded by wsdl2java.
Narrowed down to a simple test
1/ wsdl2java -d src stuff.wsdl
2/ xjc -wsdl -d src stuff.wsdl
Simple wsdl:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http:/com.example/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" targetNamespace="http:/com.example/" jaxb:version="1.0" > <wsdl:types> <xsd:schema targetNamespace="http:/com.example/"> <xsd:element name="doStuff"> <xsd:complexType > <xsd:annotation> <xsd:documentation> This does show up <![CDATA[This doesn't]]> </xsd:documentation> <xsd:appinfo> <jaxb:class name="DoStuff"> <jaxb:javadoc>This does show up <![CDATA[This doesn't]]> </jaxb:javadoc> </jaxb:class> </xsd:appinfo> </xsd:annotation> <xsd:sequence/> </xsd:complexType> </xsd:element> <xsd:element name="doStuffResponse"> <xsd:complexType> <xsd:sequence/> </xsd:complexType> </xsd:element> </xsd:schema> </wsdl:types> <wsdl:message name="doStuffRequest"> <wsdl:part name="input" element="tns:doStuff"/> </wsdl:message> <wsdl:message name="doStuffResponse"> <wsdl:part name="result" element="tns:doStuffResponse"/> </wsdl:message> <wsdl:portType name="stuffPortType"> <wsdl:operation name="doStuff"> <wsdl:input message="tns:doStuffRequest"/> <wsdl:output message="tns:doStuffResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="stuffBinding" type="tns:stuffPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="doStuff"> <soap:operation soapAction="http:/com.example/doStuff" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="stuffService"> <wsdl:port binding="tns:stuffBinding" name="stuffPort"> <soap:address location="http://localhost:8080/stuff/stuffService"/> </wsdl:port> </wsdl:service> </wsdl:definitions>