我試圖創建一個WSTransfer實現(我知道羅馬吻寫一個已經爲WCF - 但它實際上並不符合規格)創建WCF的消息與多發的命名空間
我已經結束了放棄因爲WSTransfer是鬆耦合的,所以服務聯繫人上的數據合同;所以每個創建消息看起來都像消息創建(消息請求)。
這工作正常,一切都很可愛,直到它是時候迴應一個響應。
我的問題是WSTransfer響應的構造方式。以創建爲例,響應看起來像
<wxf:ResourceCreated>
<wsa:Address>....</wsa:Address>
<wsa:ReferenceProperties>
<xxx:MyID>....</xxx:MyId>
</wsa:ReferenceProperties>
</wxf:ResourceCreated>
正如您所看到的,響應消息中有3個不同的XML名稱空間。
現在,當涉及一個人時很容易;你可以(即使你不暴露),創建一個數據合同,並設定值,並然而,問題的響應中的子元素設定不同的命名空間發生火災回來
Message response = Message.CreateMessage(request.Version,
"http://schemas.xmlsoap.org/ws/2004/09/transfer/CreateResponse",
resourceCreatedMessage);
;看起來WCF的datacontracts不會這樣做。即使使用
[MessageBodyMember(Namespace="....")]
的響應類中的各個元素
似乎沒有做任何改變,一切都變得對合同類指定的命名空間的一部分。
那麼如何將不同的名稱空間應用於WCF消息中的單個元素;要麼通過合同,要麼通過一些其他jiggery pokery?
在那裏,試過了;那更可怕:) :) – blowdart 2008-11-06 15:44:58