2013-02-08 91 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