WSE Web服务客户端SoapHeaderException



我正在尝试构建一个与第三方SOAPWeb服务交互的客户端。此web服务需要WSE安全性。

我从尝试与之交互的服务的WSDL生成了一个老派.asmx web服务。WSDL中没有关于WSE安全性的信息。

如果没有WSE安全性,我可以很好地连接。但是,我在.asmx web服务中添加了WSE安全性。

我向我的客户端添加了以下代码,以添加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(SoapClientMessage消息、WebResponse响应、流响应流、布尔异步调用)

位于System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object[]parameters)

位于Reynolds.Core.STARProxy.STARWebService.ProcessMessage(有效载荷和有效载荷),位于C:\Projects\Reynolds.Core\ReynoldsCore\Web References\STARProxy\Reference.cs:line 105

在Reynolds.Core.Reynolds.SendGenericXMLRequest(XmlElement[]inputElements,String url,Guid[]guids)中,位于C:\Projects\Reynolds\Core\Reynolds.cs:line 191

位于Reynolds.Core.Reynolds.SendGenericSingleXMLRequest(XmlElement inputXML,String url,Guid-Guid),位于C:\Projects\Reynolds.Core\Reynolds\cs:line 125

在Reynolds.Core.Reynolds.SendGenericSingleXMLRequest(XmlElement inputXML,String url)中,位于C:\Projects\Reynolds.Core\Reynolds\Core\Reynold.cs:line 120

在Reynolds.Core.Reynolds.SendGenericSingleXMLRequest(XmlElement inputXML)中的C:\Projects\Reynolds.Core\Reynolds/cs:line 114

在Reynolds.Testing.GUI.Form1.btnProcessMessage_Click(Object sender,EventArgs e)中的C:\Projects\Reynolds\Testing\Reynolds.Testing.GUI\Form1.cs:line 33

这个例外并没有给我太多的工作机会。我试着在谷歌上搜索了很多次,但都没能找到。

这是我第一次使用WSE,所以任何帮助都将不胜感激。

异常状态为Server unavailable, please try later。这意味着第三方web服务的URL错误,或者第三方服务器已关闭。

相关内容

  • 没有找到相关文章

最新更新