获取在IP上发布的肥皂消息

时间:2013-03-11 10:25:25

标签: c# asp.net wcf web-services soap

如何在IP上发布肥皂消息说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>

2 个答案:

答案 0 :(得分: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的情况下完成了这项工作,所以如果它包含错误,请不要把它钉在上面。

答案 1 :(得分:0)

我认为您需要在IP上安装TCP侦听器:端口

TcpListener MSDN

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