2013-03-11 59 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。這是我的猜測:)