Error (missing binding) when consuming webservice

0
I tried to import a WSDL provided by our customer (as shown below), and got binding errors. Unsupported operation 'OpvoerenFactuur': Missing SOAP operation binding. Unsupported operation 'OpvoerenJournaalpost': Missing SOAP operation binding. Unsupported operation 'OpvragenRelatie': Missing SOAP operation binding. When importing te same WSDL in SOAP UI everything seems to work fine. Any suggestions? WSDL: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="ESB-FinKoppel-services-WSDL"                   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"                   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"                   xmlns:esb="http://xmlns.rotterdam.nl/fin/esb/finkoppel-services/wsdl/v1"                   xmlns:cfacv="http://xmlns.rotterdam.nl/fin/cdm/factuur/xsd/opvoeren-factuur-vraag/v1"                    xmlns:cfaca="http://xmlns.rotterdam.nl/fin/cdm/factuur/xsd/opvoeren-factuur-antwoord/v1"                   xmlns:cjpv="http://xmlns.rotterdam.nl/fin/cdm/journaalpost/xsd/opvoeren-journaalpost-vraag/v1"                   xmlns:cjpa="http://xmlns.rotterdam.nl/fin/cdm/journaalpost/xsd/opvoeren-journaalpost-antwoord/v1"                   xmlns:rrelv="http://xmlns.rotterdam.nl/fin/cdm/relatie/xsd/opvragen-relatie-vraag/v1"                   xmlns:rrela="http://xmlns.rotterdam.nl/fin/cdm/relatie/xsd/opvragen-relatie-antwoord/v1"                   targetNamespace="http://xmlns.rotterdam.nl/fin/esb/finkoppel-services/wsdl/v1">   <wsdl:types>         <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"                  elementFormDefault="qualified"                  targetNamespace="http://xmlns.rotterdam.nl/fin/esb/finkoppel-services/wsdl/v1">       <xsd:import namespace="http://xmlns.rotterdam.nl/fin/cdm/factuur/xsd/opvoeren-factuur-vraag/v1"                    schemaLocation="cmm/opvoeren-factuur-vraag-v1.xsd" />       <xsd:import namespace="http://xmlns.rotterdam.nl/fin/cdm/factuur/xsd/opvoeren-factuur-antwoord/v1"                    schemaLocation="cmm/opvoeren-factuur-antwoord-v1.xsd" />       <xsd:import namespace="http://xmlns.rotterdam.nl/fin/cdm/factuur/xsd/opvoeren-journaalpost-vraag/v1"                    schemaLocation="cmm/opvoeren-journaalpost-vraag-v1.xsd" />       <xsd:import namespace="http://xmlns.rotterdam.nl/fin/cdm/factuur/xsd/opvoeren-journaalpost-antwoord/v1"                    schemaLocation="cmm/opvoeren-journaalpost-antwoord-v1.xsd" />       <xsd:import namespace="http://xmlns.rotterdam.nl/fin/cdm/factuur/xsd/opvragen-relatie-vraag/v1"                    schemaLocation="cmm/opvragen-relatie-vraag-v1.xsd" />       <xsd:import namespace="http://xmlns.rotterdam.nl/fin/cdm/factuur/xsd/opvragen-relatie-antwoord/v1"                    schemaLocation="cmm/opvragen-relatie-antwoord-v1.xsd" />         </xsd:schema>   </wsdl:types>   <wsdl:message name="OpvoerenFactuurVraag">     <wsdl:part name="vraag" element="cfacv:OpvoerenFactuurVraag"/>   </wsdl:message>   <wsdl:message name="OpvoerenFactuurAntwoord">     <wsdl:part name="antwoord" element="cfaca:OpvoerenFactuurAntwoord"/>   </wsdl:message>   <wsdl:message name="OpvoerenJournaalpostVraag">     <wsdl:part name="vraag" element="cjpv:OpvoerenJournaalpostVraag"/>   </wsdl:message>   <wsdl:message name="OpvoerenJournaalpostAntwoord">     <wsdl:part name="antwoord" element="cjpa:OpvoerenJournaalpostAntwoord"/>   </wsdl:message>   <wsdl:message name="OpvragenRelatieVraag">     <wsdl:part name="vraag" element="rrelv:OpvragenRelatieVraag"/>   </wsdl:message>   <wsdl:message name="OpvragenRelatieAntwoord">     <wsdl:part name="antwoord" element="rrela:OpvragenRelatieAntwoord"/>   </wsdl:message>   <wsdl:message name="RequestFault">       <wsdl:part element="esb:request-fault" name="request-fault"/>   </wsdl:message>   <wsdl:portType name="com-PortType">     <wsdl:operation name="OpvoerenFactuur">       <wsdl:input message="esb:OpvoerenFactuurVraag"/>       <wsdl:output message="esb:OpvoerenFactuurAntwoord"/>       <wsdl:fault name="error" message="esb:RequestFault"/>     </wsdl:operation>     <wsdl:operation name="OpvoerenJournaalpost">       <wsdl:input message="esb:OpvoerenJournaalpostVraag"/>       <wsdl:output message="esb:OpvoerenJournaalpostAntwoord"/>       <wsdl:fault name="error" message="esb:RequestFault"/>     </wsdl:operation>     <wsdl:operation name="OpvragenRelatie">       <wsdl:input message="esb:OpvragenRelatieVraag"/>       <wsdl:output message="esb:OpvragenRelatieAntwoord"/>     </wsdl:operation>   </wsdl:portType>   <wsdl:binding name="com-Binding" type="esb:com-PortType">     <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>     <wsdl:operation name="OpvoerenFactuur">       <wsdl:input>         <soap:body use="literal"/>       </wsdl:input>       <wsdl:output>         <soap:body use="literal"/>       </wsdl:output>       <wsdl:fault name="error">           <soap:fault name="error" use="literal"/>       </wsdl:fault>     </wsdl:operation>     <wsdl:operation name="OpvoerenJournaalpost">       <wsdl:input>         <soap:body use="literal"/>       </wsdl:input>       <wsdl:output>         <soap:body use="literal"/>       </wsdl:output>       <wsdl:fault name="error">           <soap:fault name="error" use="literal"/>       </wsdl:fault>     </wsdl:operation>     <wsdl:operation name="OpvragenRelatie">       <wsdl:input>         <soap:body use="literal"/>       </wsdl:input>       <wsdl:output>         <soap:body use="literal"/>       </wsdl:output>     </wsdl:operation>   </wsdl:binding>   <wsdl:service name="esb-finKoppel-services">     <wsdl:port name="esb-opvoeren-verkoopfactuur" binding="esb:com-Binding">       <soap:address location="https://localhost:8080/endpoint-esb/opvoeren-verkoopfactuur"/>     </wsdl:port>     <wsdl:port name="esb-opvoeren-inkoopfactuur" binding="esb:com-Binding">       <soap:address location="https://localhost:8080/endpoint-esb/opvoeren-inkoopfactuur"/>     </wsdl:port>     <wsdl:port name="esb-opvoeren-journaalpost" binding="esb:com-Binding">       <soap:address location="https://localhost:8080/endpoint-esb/opvoeren-journaalpost"/>     </wsdl:port>     <wsdl:port name="esb-opvragen-relatie" binding="esb:com-Binding">       <soap:address location="https://localhost:8080/endpoint-esb/opvragen-relatie"/>     </wsdl:port>   </wsdl:service> </wsdl:definitions>
asked
1 answers
0

Already found an answer that seems to work for Mx.

For every operation in the binding section I added the line " <soap:operation soapAction = <operation name>/>

This solved the problem.

The binding section of the WSDL now looks like this:

  <wsdl:binding name="com-Binding" type="esb:com-PortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="OpvoerenFactuur">
      <soap:operation soapAction = "OpvoerenFactuur"/>
      <wsdl:input>
        <!--soap:body message="esb:OpvoerenFactuurVraag" part="body" use="literal"/-->
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="error">
          <soap:fault name="error" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="OpvoerenJournaalpost">
      <soap:operation soapAction = "OpvoerenJournaalpost"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="error">
          <soap:fault name="error" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="OpvragenRelatie">
      <soap:operation soapAction = "OpvragenRelatie"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>

answered