Hi there, I am using CXF 2.7.7. I have a WSDL that is correct and valid (imho).
But when running wsdl2java it doesn't seem to like the 'message' attribute in my binding/operation definition. Here is the error message from wsdl2java: WSDLToJava Error: org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsdl definition from : file:/C:/ws/example/MyService.wsdl Caused by : WSDLException (at /wsdl:definitions/wsdl:binding/wsdl:operation/wsdl:input): faultCode=INVALID_WSDL: Encountered illegal extension attribute 'message'. Extension attributes must be in a namespace other than WSDL's. Here is the WSDL file: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://example.com/MyService.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://example.com/MyService.wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <wsdl:types> <xsd:schema targetNamespace="http://example.com/MyService.wsdl" xmlns="http://www.w3.org/2001/XMLSchema"> <xsd:element name="serviceRequest"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="0" name="serviceDescription" type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="serviceResponse"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="result" type="xsd:int"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </wsdl:types> <wsdl:message name="serviceRequestRequest"> <wsdl:part element="tns:serviceRequest" name="parameters"></wsdl:part> </wsdl:message> <wsdl:message name="serviceResponse"> <wsdl:part element="tns:serviceResponse" name="parameters"></wsdl:part> </wsdl:message> <wsdl:portType name="MyService" > <wsdl:operation name="serviceRequest"> <wsdl:input message="tns:serviceRequestRequest"></wsdl:input> <wsdl:output message="tns:serviceResponse"></wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="localhostBinding" type="tns:MyService"> <soap:binding style="document" transport=" http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="serviceRequest"> <wsdl:input message="tns:serviceRequestRequest"></wsdl:input> <wsdl:output message="tns:serviceResponse"></wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="MyServiceProvider"> <wsdl:port binding="tns:localhostBinding" name="localhost"> <soap:address location=" http://localhost:8080/services/MyServiceProvider/"/> </wsdl:port> </wsdl:service> </wsdl:definitions>