0

IPに投稿されたsoapメッセージを取得するにはどうすればよいですか?12.23.421.12:3759

このIP上のsoapメッセージを読み取って、XMLからデータを解析できる方法はありますか。

これはWIRESHARKツールからのログです。これを解析する必要があります

<SOAP-ENV:Envelope 
   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
   xmlns:SOAP-ENC="http://schemas.xmlso ap.org/soap/encoding/" 
   xmlns:xsi ="http://www.w3.org/2001/XMLSche ma-instance" 
   xmlns:xsd="http://w ww.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
    <huawei:setSubscriberDetails xmlns:huawei="http://business.add.gsm.rcom.com">
        <paramSubscriberDetails>
            <IMEI>355030005026 8312</IMEI>
            <IMSI >405828210239016</IMSI>
            <prepaid>true</prepaid>
            <MSISDN>919646845889</MSISDN>
        </paramSubscriberDetails>
    </huawei:setSubscriberDetails>
</SOAP-ENV:Body>

4

2 に答える 2

0

IP:Port に TCP リスナーをインストールする必要があると思います

TcpListener MSDN

通常、SOAP 応答は発信者アドレスに返されます (SOAP 要求)。SOAP リクエストがあなたから来る場合、TcpListener は必要ありません。それは私の推測です:)

于 2013-03-19T06:18:39.823 に答える
0

プロジェクトにサービス参照を追加してみてください。これにより、soap サービスを呼び出すために使用できるクラスといくつかのメソッドが作成されます。

Soap メッセージだけを受け取った場合は、Load メソッドを使用してXDocumentにロードします。それはXMLであるため、次のようにして情報を取得できます

var xDoc = XDocument.Load("http://yourserver.com/yourservice/1");
var body = xDoc.Element("SOAP-ENV:Body");
var huaweiSubscriberDetails = new HuaweiSubscriberDetails(){
     Imei = body.Element("IMEI").Value,
     Imsi = body.Element("IMSI").Value,
     etc...
}

Visual Studio を使用せずに頭からこれを行ったので、エラーが含まれている場合は、私を突き止めないでください。

于 2013-03-11T13:13:41.367 に答える