Search code examples
xmlwsdlcxfvalidation

Apache-cxf wsdlvalidator returns error in mime:part


Apache-cxf wsdlvalidator returns

"WSDLValidator Error: cvc-complex-type.2.4.a: Invalid content was found starting with element 'mime:part'. One of '{part}' is expected." ,

if I try to validate wsdl document with such structure:

<mime:multipartRelated>
   <mime:part>
       <soap:body parts="header parameters" use="literal"/>
   </mime:part>
   <mime:part>
       <mime:content part="attachment" type="application/octetstream"/>
   </mime:part>
</mime:multipartRelated>

wsdl document example from: https://github.com/wso2/wso2-axis2/blob/master/modules/xmlbeans/test-resources/mime-doc.wsdl. (I also tried other examples)

If I change "mime:part" to "part", validator returns error:

WSDLValidator Error : javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:binding/wsdl:operation[1]/wsdl:input/mime:multipartRelated/part): faultCode=INVALID_WSDL: Encountered unexpected element '{http://soapinterop.org/attachments/wsdl}part'.

There seems to be some schema conflicts.

Anyone have any idea how to fix this error?


Solution

  • The problem is in schema http://schemas.xmlsoap.org/wsdl/mime/, which is incorrect. The solution I found:

    Replace \apache-cxf-3.0.1-src\core\src\main\resources\schemas\wsdl\mime-binding.xsd file by new correct schema, which is located on http://schemas.xmlsoap.org/wsdl/mime/2004-08-24.xsd, build new core-jar and refresh it in bin source.