I'm getting the same error response every time I send a request to my JAX-WS web service:
<ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>ns2:Client</faultcode>
<faultstring>Cannot find dispatch method for {http://www.w3.org/2003/05/soap-envelope}Envelope</faultstring>
</ns2:Fault>
I've tried using JAX-WS RI 2.1.7 and 2.2 on my Tomcat server, but both return the same error response. It will return the WSDL just fine (when "?wsdl" is appended to the endpoint URL). I used "wsimport" to generate the necessary Java classes from my WSDL--it used JAX-WS RI 2.1.6 (the one included with the JDK I guess) to generate the Java source files.
Other people online have had similar problems, but never with the SOAP element "{http://www.w3.org/2003/05/soap-envelope}Envelope", always with things specific to their WSDLs like "{}reqParams" or "{http://www.telekom.at/eai/WSToCramerCSIRead}CSIRead". I set a debug breakpoint at the start of my SIB method and it doesn't even get that far.
Any ideas? Thanks for your help.
WSDL:
<?xml version="1.0" encoding="utf-8"?>
<!-- This wsdl file is for an XDS-I.b Imaging Document Source Actor
It can be used 'as is' to support Imaging Document Source Retrieve Imaging Document Set Transaction
using Synchronous Web Services.
-->
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ihe="urn:ihe:iti:xds-b:2007" xmlns:iherad="urn:ihe:rad:xdsi-b:2009" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
targetNamespace="urn:ihe:rad:xdsi-b:2009" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" name="ImagingDocumentSource">
<documentation>IHE XDS-I.b Imaging Document Source</documentation>
<types>
<xsd:schema elementFormDefault="qualified"
targetNamespace="urn:ihe:iti:xds-b:2007"
xmlns:ihe="urn:ihe:iti:xds-b:2007">
<!-- Include the message schema -->
<xsd:include schemaLocation="../schema/IHE/XDS.b_DocumentRepository.xsd"/>
</xsd:schema>
<xsd:schema elementFormDefault="qualified"
targetNamespace="urn:ihe:rad:xdsi-b:2009"
xmlns:ihe="urn:ihe:iti:xds-b:2007"
xmlns:iherad="urn:ihe:rad:xdsi-b:2009">
<!-- Include the message schema -->
<xsd:include schemaLocation="../schema/IHE/XDSI.b_ImagingDocumentSource.xsd"/>
</xsd:schema>
<xsd:schema elementFormDefault="qualified"
targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0">
<!-- Include the message schema -->
<xsd:include schemaLocation="../schema/ebRS/rs.xsd"/>
</xsd:schema>
<!-- While no elements are directly used from these schema in the WSDL,
they need to be present here in order for
code generating toolkits to work properly -->
<xsd:schema elementFormDefault="qualified"
targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0"
xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0">
<!-- Include the message schema -->
<xsd:include schemaLocation="../schema/ebRS/lcm.xsd"/>
</xsd:schema>
<xsd:schema elementFormDefault="qualified"
targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
<!-- Include the message schema -->
<xsd:include schemaLocation="../schema/ebRS/rim.xsd"/>
</xsd:schema>
</types>
<message name="RetrieveImagingDocumentSetRequest_Message">
<documentation>Retrieve Imaging Document Set</documentation>
<part name="body" element="iherad:RetrieveImagingDocumentSetRequest"/>
</message>
<message name="RetrieveDocumentSetResponse_Message">
<documentation>Retrieve Document Set Response</documentation>
<part name="body" element="ihe:RetrieveDocumentSetResponse"/>
</message>
<portType name="ImagingDocumentSource_PortType">
<operation name="ImagingDocumentSource_RetrieveImagingDocumentSet">
<input message="iherad:RetrieveImagingDocumentSetRequest_Message"
wsaw:Action="urn:ihe:rad:xdsi-b:2009:RetrieveImagingDocumentSet"/>
<output message="iherad:RetrieveDocumentSetResponse_Message"
wsaw:Action="urn:ihe:iti:2007:RetrieveDocumentSetResponse"/>
</operation>
</portType>
<binding name="ImagingDocumentSource_Binding" type="iherad:ImagingDocumentSource_PortType">
<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="ImagingDocumentSource_RetrieveImagingDocumentSet">
<soap12:operation soapAction="urn:ihe:rad:xdsi-b:2009:RetrieveImagingDocumentSet"/>
<input>
<soap12:body use="literal"/>
</input>
<output>
<soap12:body use="literal"/>
</output>
</operation>
</binding>
<service name="ImagingDocumentSource_Service">
<port name="ImagingDocumentSource_Port_Soap12" binding="iherad:ImagingDocumentSource_Binding">
<soap12:address location="http://localhost:8080/webservice-test/ridsService"/>
</port>
</service>
</definitions>
Request:
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:urn="urn:ihe:rad:xdsi-b:2009"
xmlns:urn1="urn:ihe:iti:xds-b:2007"
xmlns:a="http://www.w3.org/2005/08/addressing">
<soap:Header>
<a:Action soap:mustUnderstand="1">urn:ihe:rad:2009:RetrieveImagingDocumentSet</a:Action>
<a:MessageID>urn:uuid:0fbfdced-6c01-4d09-a110-2201afedaa02</a:MessageID>
<a:ReplyTo soap:mustUnderstand="1">
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To>http://localhost:8080/webservice-test/ridsServer</a:To>
</soap:Header>
<soap:Body>
<urn:RetrieveImagingDocumentSetRequest>
<!--1 or more repetitions:-->
<urn:StudyRequest studyInstanceUID="test1">
<!--1 or more repetitions:-->
<urn:SeriesRequest seriesInstanceUID="test2">
<!--1 or more repetitions:-->
<urn1:DocumentRequest>
<!--Optional:-->
<urn1:HomeCommunityId>test3</urn1:HomeCommunityId>
<urn1:RepositoryUniqueId>test4</urn1:RepositoryUniqueId>
<urn1:DocumentUniqueId>test5</urn1:DocumentUniqueId>
</urn1:DocumentRequest>
</urn:SeriesRequest>
</urn:StudyRequest>
<urn:TransferSyntaxUIDList>
<!--1 or more repetitions:-->
<urn:TransferSyntaxUID>?</urn:TransferSyntaxUID>
</urn:TransferSyntaxUIDList>
</urn:RetrieveImagingDocumentSetRequest>
</soap:Body>
</soap:Envelope>
Response (HTTP 500):
<ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>ns2:Client</faultcode>
<faultstring>Cannot find dispatch method for {http://www.w3.org/2003/05/soap-envelope}Envelope</faultstring>
</ns2:Fault>