2009-01-06 39 views
0

我正在使用WCF作爲java web服務的客戶端。我沒有控制服務器端。修復WCF中有問題的服務器響應

在我從Web服務獲得的響應中,肥皂標題中的第一個元素沒有xmlns屬性。由於此WCF由於Web服務調用而返回null。

除了丟失的xmlns,響應是完美的,如果我使用fiddler添加xmlns,那麼一切都按預期工作。我對SOAP知之甚少,不知道xmlns屬性是否真的需要。

有沒有辦法來避免這個問題,要麼讓WCF忽略缺失的xmlns屬性,甚至一個鉤子,讓我手動Munge時間響應它到達之前WCF?

回答

2

這似乎是一個相當古老的問題,所以我不知道你是否曾經解決過這個問題。如果您正在使用WCF客戶端來訪問Java Axis服務,您會發現您需要習慣使用MessageInspectors來覆蓋請求和響應的行爲。

使用AfterReceiveReply方法,你應該能夠copy the original message並改變頭。也檢查出Step 5 from this MSDN article

就我所見,不能直接在此方法中更改響應頭,因爲它們是隻讀的,因此,複製然後用篡改版替換回復是我能想到的唯一方法糾正缺少的命名空間。