2012-01-19 87 views
2

進出口新的.NET Web服務和我這個問題徹底糊塗了。 TCP查看器顯示我的測試應用程序跟我的網絡服務構成了其XML如下:爲什麼我的.NET Web服務XML與其他人不同?

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <GetSupply xmlns="http://webservices.florecom.org/commercial/customer/"> 
     <Request> 
     <SupplyRequest> 
      <Header xmlns="urn:fec:florecom:xml:data:draft:SupplyStandardMessage:5"> 
      <UserName>xxx</UserName> 
      <Password>xxx</Password> 
      <MessageDateTime>2012-01-17T14:59:44.0438037+02:00</MessageDateTime> 
      <MessageSerial>0</MessageSerial> 
      </Header> 
      <Body xmlns="urn:fec:florecom:xml:data:draft:SupplyStandardMessage:5"> 
      <SupplyRequestDetails> 
       <SupplyRequestLine xmlns="urn:fec:florecom:xml:data:draft:ReusableAggregateBusinessInformationEntity:3"/> 
      </SupplyRequestDetails> 
      </Body> 
     </SupplyRequest> 
     </Request> 
    </GetSupply> 
    </s:Body> 
</s:Envelope> 

但我的web服務是從另一家公司看起來像這樣接收XML:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
    <fsm:SupplyRequest xmlns:qdt="urn:un:unece:uncefact:data:draft:QualifiedDataType:5" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:4" xmlns:ram="urn:un:unece:uncefact:data:draft:ReusableAggregateBusinessInformationEntity:3" xmlns:fsm="urn:fec:florecom:xml:data:draft:SupplyStandardMessage:5"> 
     <fsm:Header> 
     <fsm:UserName>xxx</fsm:UserName> 
     <fsm:Password>xxx</fsm:Password> 
     <fsm:MessageID>634617184436505019</fsm:MessageID> 
     <fsm:MessageDateTime>2012-01-09T15:07:23.6505019+01:00</fsm:MessageDateTime> 
     <fsm:MessageSerial>0</fsm:MessageSerial> 
     </fsm:Header> 
     <fsm:Body> 
     <fsm:SupplyRequestDetails> 
      <SupplyRequestLine xmlns="urn:fec:florecom:xml:data:draft:ReusableAggregateBusinessInformationEntity:3"/> 
     </fsm:SupplyRequestDetails> 
     </fsm:Body> 
    </fsm:SupplyRequest> 
    </soap:Body> 
</soap:Envelope> 

誰能幫解釋爲什麼?這些不同版本的SOAP?由於

UPDATE

由於利益的問題,就是在這種情況下發生的問題(與第2 XML消息)是當服務方法被擊中(使用斷點來檢查這個和欺騙使用Fiddler消息).NET未能方法的參數綁定(稱爲「請求」),所以如果你指的是SOAP和開發它其實並不重要的價值仍然是NULL

+0

他們看起來是一樣的我,如果他們不是你會得到錯誤 – Jontatas

+0

@Jontatas:不幸的是,我收到了錯誤(請參閱上面的更新),並且這些消息(在我的眼中)完全不同? – Jimbo

+0

我想說你偶然發現了我在集成平臺中從Web服務中獲取數據時所注意到的相同事情。有趣的是,如果我返回一個對象,但對於數組數據,這是不行的。請參閱http://stackoverflow.com/questions/8485744 – Jontatas

回答

3

。這些節點是命名空間,以便消費者知道文檔的格式。他們實際上將被人誰知道通過http://schemas.xmlsoap.org/soap/envelope

定義的架構都指向SOAP 1.1命名空間相同的處理

+0

不幸的是,這並不解釋爲什麼雖然它擊中了服務方法,提供的參數仍然是第二個消息在空,但是第一個消息中的作品。 – Jimbo

+0

這是哪個XML節點? –

+0

在稱爲'GetSupply'服務的方法,所述參數被稱爲'Request' - 它的第一消息中結合,而不是第二 – Jimbo

相關問題