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.