我为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
答案 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 文件的网址。