We've used this same approach with a .NET customer and had no issues. However, this particular customer is using Axis (1.2 beta 3 because of his particular version of JBoss) and it reports that it's trying to call an operation whose name is actually the name of our request element. Doing a little digging, it almost looks like Axis has decided to use something like wrapped style, which we're not using.
Any ideas on the cause of this? How we can resolve it?
(I realize the customer's Axis is not current, and I'm going to pursue with him whether he can update to at least the last release level of 1.2, but I'm not sure that will make any difference.)
Relevant excerpts from the definitions:
...
<xsd:element name="SuccessfulRenewalRequest" type="doi:SuccessfulRenewalRequestType"/>...
<xsd:element name="SuccessfulRenewalResponse" type="doi:SuccessfulRenewalResponseType"/>
<wsdl:message name="SuccessfulRenewalRequestMessage">
<wsdl:part name="request" element="doi:SuccessfulRenewalRequest"/>
</wsdl:message>
<wsdl:message name="SuccessfulRenewalResponseMessage">
<wsdl:part name="response" element="doi:SuccessfulRenewalResponse"/>
</wsdl:message>
<wsdl:operation name="SuccessfulRenewalOperation">And from the messages (captured with TCPMon):
<wsdl:input message="tns:SuccessfulRenewalRequestMessage"/>
<wsdl:output message="tns:SuccessfulRenewalResponseMessage"/>
</wsdl:operation>
...
SOAPAction: "**ns removed**/SuccessfulRenewalOperation"
Content-Length: 732
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ " xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ">
<soapenv:Body>
<SuccessfulRenewalRequest xsi:type="ns1:SuccessfulRenewalRequestType" xmlns="**removed**" xmlns:ns1="**removed**">
...
** 6 sequence fields removed **
...
</SuccessfulRenewalRequest>
</soapenv:Body>
</soapenv:Envelope>
...
<soapenv:Envelope xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode xmlns:ns1=" http://xml.apache.org/axis/">ns1:Client</faultcode>
<faultstring>No such operation 'SuccessfulRenewalRequest'</faultstring>
<detail>
<ns2:hostname xmlns:ns2=" http://xml.apache.org/axis/">**servername removed**</ns2:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body></soapenv:Envelope>
i.e. Axis appears to be using the main element in the Body, not the SOAPAction, as the Operation name.
Doug
