Web Services Quiz: Issue 8


Given the following WSDL, how does your .NET proxy and stub look like?


As always, answer and explanation will follow…


 


Note, it’s rpc-literal …


 


<?xml version=”1.0″ encoding=”utf-8″?>


<wsdl:definitions targetNamespace=”uri.test.com”  


xmlns:wsdl=”http://schemas.xmlsoap.org/wsdl/”


xmlns:soap=”http://schemas.xmlsoap.org/wsdl/soap/”


xmlns😡sd=”http://www.w3.org/2001/XMLSchema”


xmlns:tns=”uri.test.com”


xmlns=”http://schemas.xmlsoap.org/wsdl/”>


   <wsdl:types>


      <xsd:schema elementFormDefault=”qualified” targetNamespace=”uri.test.com”>


         


         <xsd:complexType name=”AddRequestType”>


            <xsd:sequence>


               <xsd:element minOccurs=”1″ maxOccurs=”1″ name=”a” type=”xsd:int” />


               <xsd:element minOccurs=”1″ maxOccurs=”1″ name=”b” type=”xsd:int” />


            </xsd:sequence>


         </xsd:complexType>


 


         <xsd:complexType name=”AddResponseType”>


            <xsd:sequence>


               <xsd:element minOccurs=”1″ maxOccurs=”1″ name=”c” type=”xsd:int” />


            </xsd:sequence>


         </xsd:complexType>


 


      </xsd:schema>


   </wsdl:types>


 


   <wsdl:message name=”AddRequestMsg”>


      <wsdl:part name=”AddRequest” type=”tns:AddRequestType” />


   </wsdl:message>


 


   <wsdl:message name=”AddResponseMsg”>


      <wsdl:part name=”AddResponse” type=”tns:AddResponseType” />


   </wsdl:message>


 


   <wsdl:portType name=”CalculatorPortType”>


      <wsdl:operation name=”Add”>


         <wsdl:input message=”tns:AddRequestMsg” />


         <wsdl:output message=”tns:AddResponseMsg” />


      </wsdl:operation>


   </wsdl:portType>


 


   <wsdl:binding name=”CalculatorSoap” type=”tns:CalculatorPortType”>


      <soap:binding style=”rpc” transport=”http://schemas.xmlsoap.org/soap/http”/>


      <wsdl:operation name=”Add”>


         <soap:operation soapAction=”uri.test.com/add”/>


         <wsdl:input>


            <soap:body parts=”AddRequest” use=”literal”/>


         </wsdl:input>


         <wsdl:output>


            <soap:body parts=”AddResponse” use=”literal”/>


         </wsdl:output>


      </wsdl:operation>


   </wsdl:binding>


   <wsdl:service name=”Issue7Service”>


      <wsdl:port binding=”tns:CalculatorSoap” name=”CalculatorPortType”>


         <soap:address location=”http://test.com/Issue7/Issue7Service.asmx”/>


      </wsdl:port>


   </wsdl:service>

</wsdl:definitions>