我正在尝试使用http请求来使用wsdl Web服务。 示例:
<wsdl:types> <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/"> <s:element name="Add"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="intA" type="s:int"/> <s:element minOccurs="1" maxOccurs="1" name="intB" type="s:int"/> </s:sequence> </s:complexType> </s:element> <s:element name="AddResponse"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="AddResult" type="s:int"/> </s:sequence> </s:complexType> </s:element> <s:element name="Subtract"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="intA" type="s:int"/> <s:element minOccurs="1" maxOccurs="1" name="intB" type="s:int"/> </s:sequence> </s:complexType> </s:element> <s:element name="SubtractResponse"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="SubtractResult" type="s:int"/> </s:sequence> </s:complexType> </s:element> <s:element name="Multiply"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="intA" type="s:int"/> <s:element minOccurs="1" maxOccurs="1" name="intB" type="s:int"/> </s:sequence> </s:complexType> </s:element> <s:element name="MultiplyResponse"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="MultiplyResult" type="s:int"/> </s:sequence> </s:complexType> </s:element> <s:element name="Divide"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="intA" type="s:int"/> <s:element minOccurs="1" maxOccurs="1" name="intB" type="s:int"/> </s:sequence> </s:complexType> </s:element> <s:element name="DivideResponse"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="DivideResult" type="s:int"/> </s:sequence> </s:complexType> </s:element> </s:schema> </wsdl:types>
这是Wsdl文件的一部分,其中包含方法的名称和参数定义。 方法添加的请求正文应该是这样的:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:Add>
<tem:intA>?</tem:intA>
<tem:intB>?</tem:intB>
</tem:Add>
</soapenv:Body>
</soapenv:Envelope>
问题:
如何以编程方式获取Web服务方法,名称和请求正文?