SOAP客户端连接的参数

时间:2012-08-27 15:40:19

标签: android web-services ksoap2

我为Android客户端应用程序使用asmx web服务。我需要soap_action,method_name,namespace和url,用于下面编写的示例SOAP 1.1请求。如何为任何Web服务请求显示这些参数?我想了解这些参数的来源。 (例如:method_name =“GetKullaniciBilgileri”它来自身体标签之后)

POST /WebSite1/WebService.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://kodmerkezi.net/HelloThere"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <HelloThere xmlns="http://kodmerkezi.net">
      <name>string</name>
    </HelloThere>
  </soap:Body>
</soap:Envelope>

我将这些服务作为

运行
http://localhost:56053/WebSite1/WebService.asmx?op=HelloThere

1 个答案:

答案 0 :(得分:1)

命名空间 = "http://kodmerkezi.net"

SOAP_Method = "HelloThere"

SOAP_Action = "http://kodmerkezi.net/HelloThere"

网址 = "http://localhost:56053/WebSite1/WebService.asmx"

如果你有WSDL,实际上很容易提取这些字段。

WSDL中已经提到了SOAPAction,因此您可以从那里使用它。

SOAPAction = Namespace + MethodName

因此,形成SOAPAction,使用第一部分(带有http:// ...的部分)作为命名空间,第二部分用作SOAPMethod。

此外,MethodName位于Body标记之后,后跟名称空间。

eg. <soap:Body>
<MethodName xmlns="namespace">

您可以从这里获取这两个,然后使用SOAP_Action = Namespace + MethodName来获取SOAPAction。

最后,该网址指的是运行该服务的 * .asmx 文件的网址。