0

我怎样才能在 IP 上发布肥皂消息,比如 12.23.421.12:3759

有什么方法可以读取此 IP 上的肥皂消息并可以从 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

尝试将服务引用添加到您的项目。这将创建一个类和一些可用于调用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 回答
0

我认为您需要在 IP:Port 上安装 TCP Listener

TcpListener MSDN

通常是 SOAP 响应返回到调用者地址(SOAP 请求)。如果 SOAP 请求来自您,则不需要 TcpListener。这是我的猜测:)

于 2013-03-19T06:18:39.823 回答