2013-03-11 34 views
0

SOAP消息?我怎样才能张贴在IP SOAP消息说12.23.421.12:3759获取张贴在IP

有没有什么办法,在这个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> 

+0

你是什么意思得到?互联网上的服务是否提供了信息,或者您是否正在实施(SOAP)服务,该服务应该列在特定的端口/ IP地址上? – 2013-03-11 10:27:28

+0

是的是有一个服务,发送肥皂消息到IP,我需要解析该消息,我该怎么做。 – 2013-03-11 10:32:05

+0

你能举一个你从服务中获得什么的例子吗?特别是在肥皂围巾 – 2013-03-11 10:41:07

回答

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的,所以不要束缚我就可以了,如果有错误获取您的信息。

+0

我不能添加服务refernce coz它不是一个实际上托管在IP上的服务,问题是soap消息被发送到这个IP(源IP不是固定的,但目标是固定的),你可以说它就像一个TCP数据包这个IP每一次,我需要抓住这些数据包 – 2013-03-12 05:58:26

0

我想你需要的TCP监听器安装在您的IP:端口

TcpListener MSDN

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