Title: Axis 1.2rc3 Web service executing incorrect method call.

I haven't been able to figure out exactly why its happening, but when my client application tries to make a web service call, the web service actually executes the wrong service call.  I've downloaded the source and followed the execution of the request and the call is correct until it enters RPCProvider.processMessage().  In this method, the method (operation) is changed to a different method (operation).  To what I can tell, Axis is having issues with the fact that my 1st parameter to my method is a RPCElement and the 2nd parameter to my method is a SOAPBodyElement.  Honestly, I could not determine how Axis classified these parameters as RPCElements vs a SOAPBodyElement, but that is besides the point.  The 1st element, because it is an RPCElement is therefore considered the body of the method (the parameters), and then the operation gets changed due to the drop of the 2nd parameter.  See the latest RPCProvider.processMessage() to get a full understanding.

Anyways, has anyone else came across this?  Were you able to find a workaround, or possibly the WSDL is incorrect.

Here's my WSDL:
<?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:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://abstractor.webservices.sfsltd.com" xmlns:xsd1="http://abstractor.webservices.sfsltd.com" targetNamespace="http://abstractor.webservices.sfsltd.com" name="Abstractor">

 <wsdl:types>
   <xs:schema targetNamespace="http://abstractor.webservices.sfsltd.com">
  <xs:include schemaLocation="AbstractorTypes.xsd"/>
   </xs:schema>
 </wsdl:types>
 <wsdl:message name="MessageGetTitleSearchIn">
  <wsdl:part name="authentication" element="xsd1:Authentication"/>
 </wsdl:message>
 <wsdl:message name="MessageGetTitleSearchOut">
  <wsdl:part name="arg1" element="xsd1:TitleSearch"/>
 </wsdl:message>
 <wsdl:message name="MessageConfirmTitleSearchIn">
  <wsdl:part name="authentication" element="xsd1:Authentication"/>
  <wsdl:part name="confirmation" element="xsd1:Confirmation"/>
 </wsdl:message>
 <wsdl:portType name="AbstractorSoapPort">
  <wsdl:operation name="getTitleSearch">
   <wsdl:input message="tns:MessageGetTitleSearchIn"/>
   <wsdl:output message="tns:MessageGetTitleSearchOut"/>
  </wsdl:operation>
  <wsdl:operation name="confirmTitleSearch">
   <wsdl:input message="tns:MessageConfirmTitleSearchIn"/>
  </wsdl:operation>
 </wsdl:portType>
 <wsdl:binding name="AbstractorBinding" type="tns:AbstractorSoapPort">
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  <wsdl:operation name="getTitleSearch">
   <soap:operation soapAction="getTitleSearch"/>
   <wsdl:input>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://abstractor.webservices.sfsltd.com" use="literal"/>

   </wsdl:input>
   <wsdl:output>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://abstractor.webservices.sfsltd.com" use="literal"/>

   </wsdl:output>
  </wsdl:operation>
  <wsdl:operation name="confirmTitleSearch">
   <soap:operation soapAction="confirmTitleSearch"/>
   <wsdl:input>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://abstractor.webservices.sfsltd.com" use="literal"/>

   </wsdl:input>
   <wsdl:output>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://abstractor.webservices.sfsltd.com" use="literal"/>

   </wsdl:output>
  </wsdl:operation>
 </wsdl:binding>
 <wsdl:service name="Abstractor">
  <wsdl:port name="Abstractor" binding="tns:AbstractorBinding">
   <soap:address location="http://localhost/webservices/services/Abstractor"/>
  </wsdl:port>
 </wsdl:service>
</wsdl:definitions>

_______________________
Jeremy Nix
Senior Application Developer
Southwest Financial Services, LTD.
(513) 621-6699 x1158
www.sfsltd.com


Reply via email to