2013-02-08 63 views
0

我正在嘗試構建與第三方SOAP Web服務交互的客戶端。此Web服務需要WSE安全性。WSE Web服務客戶端SoapHeaderException

我從服務的WSDL中生成一箇舊學校.asmx Web服務,我嘗試與之交互。 WSDL沒有關於WSE安全性的信息。

沒有WSE安全我可以連接好。不過,我將WSE安全性添加到了我的.asmx Web服務。

我下面的代碼添加到我的客戶端添加WSE用戶名和密碼

SoapContext requestContext = host.RequestSoapContext; 
UsernameToken userToken = new UsernameToken("username", "password", PasswordOption.SendPlainText); 
requestContext.Security.Tokens.Add(userToken); 

但是,現在當我打電話的ProcessMessage方法我得到下面的異常不告訴我很多:

System.Web.Services.Protocols.SoapHeaderException:服務器不可用,請稍後再試

在System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMe ssage消息,WebResponse的響應,流responseStream,布爾asyncCall)

在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串方法名,對象[]參數)

在Reynolds.Core.STARProxy.STARWebService。 ProcessMessage的(有效載荷&有效載荷)在C:\項目\ Reynolds.Core \ Reynolds.Core \ Web引用\ STARProxy \ Reference.cs:線105

在Reynolds.Core.reynolds.SendGenericXMLRequest(XmlElement的[] inputElements,字符串url,Guid [] guids)在C:\ Projects \ Reynolds.Core \ Reynolds.Core \ Reynolds.cs中:第191行

在Reynolds.Core.reynolds.SendGenericSingleXMLRequest(XmlElement的inputXML,字符串URL,的Guid GUID)在C:\項目\ Reynolds.Core \ Reynolds.Core \ Reynolds.cs:線125

在Reynolds.Core.reynolds .SendGenericSingleXMLRequest(XmlElement的inputXML,字符串URL)在C:\項目\ Reynolds.Core \ Reynolds.Core \ Reynolds.cs:線120

在Reynolds.Core.reynolds.SendGenericSingleXMLRequest(的XmlElement inputXML)在C:\項目\ Reynolds.Core \ Reynolds.Core \ Reynolds.cs:線114

在Reynolds.Testing.GUI.Form1.btnProcessMessage_Click(對象發件人,EventArgs e)如C:\項目\ Reynolds.Testing \ Reynolds.Testing。 GUI \ Form1.cs中:行33

這個例外並沒有給我太多的幫助。我嘗試了各種谷歌搜索,但無法獲得任何地方。

這是我第一次使用WSE,所以任何幫助,將不勝感激。

+0

WSE已過時。它在六年前被WCF取代。您應該使用WCF進行新的開發。 – 2013-02-08 22:18:21

+0

我只是建立客戶端而不是服務。該服務需要WSE。我可以構建一個使用WSE的WCF客戶端嗎? – jkruer01 2013-02-08 22:25:56

+0

在大多數情況下,您可以爲WSE服務構建一個WCF客戶端。問題可能出現在WSE不標準的地方(在標準完成之前發貨)。在這種情況下,您可能必須更改WCF配置以匹配非標準。 – 2013-02-08 23:18:08

回答

0

例外狀態Server unavailable, please try later。這意味着您的第三方Web服務的URL可能不正確,或者第三方服務器已關閉。

+0

當我點擊「獲取這個異常的一般幫助」時,它說:「當通過SOAP調用XML Web Service方法並且在處理SOAP頭期間發生異常時拋出異常。該服務可用但發生錯誤某處/某種程度上當我拿出WSE安全性時,它工作正常。 – jkruer01 2013-02-08 22:28:22