2 Replies Latest reply on Feb 24, 2011 9:01 PM by Magesh Bojan

    SOAP Binding WSDL not returned from ?wsdl

    Keith Babo Master

      Ran into an issue when testing the SOAP binding with the m1app.  The WSDL returned from ?wsdl is not what we specify in the binding config.  The SOAP gateway is parsing the WSDL correctly, so this looks like it might be a problem with how we are registering the WS with JAX-WS.

       

      m1app can be found here:

      https://github.com/jboss-switchyard/quickstarts/tree/master/m1app

       

      WSDL used in the test is here:

      https://github.com/jboss-switchyard/quickstarts/blob/master/m1app/src/main/resources/wsdl/OrderService.wsdl

       

      And here is what's returned from http://localhost:18001/OrderService?wsdl:

       

      <?xml version='1.0' encoding='UTF-8'?><wsdl:definitions name="OrderService" targetNamespace="urn:switchyard-quickstarts:m1app:1.0" xmlns:ns1="http://soap.component.switchyard.org/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:switchyard-quickstarts:m1app:1.0" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <wsdl:import location="http://localhost:18001/OrderService?wsdl=BaseWebService.wsdl" namespace="http://soap.component.switchyard.org/">
          </wsdl:import>
        <wsdl:binding name="OrderServiceSoapBinding" type="ns1:BaseWebService">
          <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
          <wsdl:operation name="invoke">
            <soap:operation soapAction="" style="document" />
            <wsdl:input name="invoke">
              <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output name="invokeResponse">
              <soap:body use="literal" />
            </wsdl:output>
          </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="OrderService">
          <wsdl:port binding="tns:OrderServiceSoapBinding" name="OrderServicePort">
            <soap:address location="http://localhost:18001/OrderService" />
      
          </wsdl:port>
        </wsdl:service>
      </wsdl:definitions>
      

       

      Obviously, the information in the above WSDL is not correct.  The imported WSDL is also incorrect.