WSE Web服务客户端SoapHeaderException

时间:2013-02-08 21:59:20

标签: c# soap-client soapheader wse

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

我从我正在尝试与之交互的服务的WSDL中生成了一个旧学校.asmx Web服务。 WSDL中没有关于WSE Security的信息。

没有WSE安全,我可以很好地连接。但是,我将WSE Security添加到我的.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:服务器不可用,请稍后再试

     

at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message,WebResponse response,Stream responseStream,Boolean asyncCall)

     

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

     

在C:\ Projects \ Reynolds.Core \ Reynolds.Core \ Web References \ STARProxy \ Reference.cs:第105行中的Reynolds.Core.STARProxy.STARWebService.ProcessMessage(Payload& payload)

     

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

     

在Reynolds.Core.reynolds.SendGenericSingleXMLRequest(XmlElement inputXML,String url,Guid guid)中的C:\ Projects \ Reynolds.Core \ Reynolds.Core \ Reynolds.cs:第125行

     

在C:\ Projects \ Reynolds.Core \ Reynolds.Core \ Reynolds.cs:第120行中的Reynolds.Core.reynolds.SendGenericSingleXMLRequest(XmlElement inputXML,String url)

     

在C:\ Projects \ Reynolds.Core \ Reynolds.Core \ Reynolds.cs:第114行中的Reynolds.Core.reynolds.SendGenericSingleXMLRequest(XmlElement inputXML)

     

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

这个例外对我来说并没有太多帮助。我尝试过各种谷歌搜索,但无法到达任何地方。

这是我第一次使用WSE,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:-1)

异常说明Server unavailable, please try later。这意味着您拥有第三方Web服务的错误URL或第三方服务器已关闭。