1

Androidクライアントアプリケーションにasmx Webサービスを使用しています。以下に記述されている SOAP 1.1 リクエストのサンプルには、soap_action、method_name、namespace、および url が必要です。任意の Web サービス リクエストに対してこれらのパラメータを引き出すにはどうすればよいですか? これらのパラメーターがどこから来たのかを知りたいポイント。(例: method_name="GetKullaniciBilgileri" body タグの後から来ます)

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
4

1 に答える 1

1

名前空間="http://kodmerkezi.net"

SOAP_メソッド="HelloThere"

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

URL ="http://localhost:56053/WebSite1/WebService.asmx"

WSDL があれば、実際にこれらのフィールドを抽出するのは簡単です。

SOAPAction はすでに WSDL で言及されているため、そこから使用できます。

SOAPAction = 名前空間 + メソッド名

したがって、SOAPAction を形成し、最初の部分 (http://... の部分) を名前空間として使用し、2 番目の部分を SOAPMethod として使用します。

また、MethodName はBodyタグの後に続き、その後に名前空間が続きます。

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

ここからこれら 2 つを取得し、SOAP_Action = Namespace + MethodName を使用して SOAPAction を取得できます。

最後に、URL は、サービスを実行している* .asmxファイルの URL を参照します。

于 2012-08-27T15:42:03.147 に答える