gmccone
12 years agoNew Contributor
Import Error with JMS Binding and SOAP 1.2
When I import a WSDL that is using a JMS Binding
using SOAP 1.1, all the operations are imported as expected.
when I change the same WSDL over to using the SOAP 1.2 specification, the WSDL import fails with
Taking the SOAP 1.2 WSDL and changing the transport back to the HTTP transport
Below are the working and non working WSDLs.
SOAP 1.1 JMS Binding (Works)
SOAP 1.2 JMS Binding (Does not work)
http://www.w3.org/2008/07/soap/bindings/JMS/
using SOAP 1.1, all the operations are imported as expected.
when I change the same WSDL over to using the SOAP 1.2 specification, the WSDL import fails with
13:22:16,369 INFO [WsdlImporter] Missing importer for {http://new.webservice.namespace}NewBinding
Taking the SOAP 1.2 WSDL and changing the transport back to the HTTP transport
http://schemas.xmlsoap.org/soap/httpand it imports correctly, so it seems to be specifically SOAP 1.2 with the JMS transport.
Below are the working and non working WSDLs.
SOAP 1.1 JMS Binding (Works)
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://new.webservice.namespace" targetNamespace="http://new.webservice.namespace">
<wsdl:types>
<xs:schema targetNamespace="http://new.webservice.namespace" elementFormDefault="qualified"/>
</wsdl:types>
<wsdl:message name="NewMessageRequest">
<wsdl:part name="parameter" type="xs:string"/>
</wsdl:message>
<wsdl:message name="NewMessageResponse">
<wsdl:part name="parameter" type="xs:string"/>
</wsdl:message>
<wsdl:portType name="NewPortType">
<wsdl:operation name="NewOperation">
<wsdl:input message="tns:NewMessageRequest"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="NewBinding" type="tns:NewPortType">
<soap:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
<wsdl:operation name="NewOperation">
<soap:operation soapAction="urn:#NewOperation"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="NewService">
<wsdl:port name="NewPort" binding="tns:NewBinding">
<soap:address location="No Target Adress"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
SOAP 1.2 JMS Binding (Does not work)
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 2 (http://www.altova.com) by RAYTHEON COMPANY (RAYTHEON COMPANY) -->
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://new.webservice.namespace" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://new.webservice.namespace">
<wsdl:types>
<xs:schema targetNamespace="http://new.webservice.namespace" elementFormDefault="qualified"/>
</wsdl:types>
<wsdl:message name="NewMessageRequest">
<wsdl:part name="parameter" type="xs:string"/>
</wsdl:message>
<wsdl:message name="NewMessageResponse">
<wsdl:part name="parameter" type="xs:string"/>
</wsdl:message>
<wsdl:portType name="NewPortType">
<wsdl:operation name="NewOperation">
<wsdl:input message="tns:NewMessageRequest"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="NewBinding" type="tns:NewPortType">
<soap12:binding style="document" transport="http://www.w3.org/2008/07/soap/bindings/JMS/"/>
<wsdl:operation name="NewOperation">
<soap12:operation soapAction="urn:#NewOperation" soapActionRequired="true"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="NewService">
<wsdl:port name="NewPort" binding="tns:NewBinding">
<soap12:address location="No Target Adress"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>