【问题标题】:WCF client - why am I getting this error?WCF 客户端 - 为什么会出现此错误?
【发布时间】:2011-06-15 12:17:57
【问题描述】:

我正在尝试使用 Web 服务 (https/ssl/basicHttpBinding)。我毫无问题地添加服务引用并异步调用它。我将客户端的实例传递给 CallBack。尝试从 CallBack 处的服务获取结果时出现此错误:

页眉 http://schemas.xmlsoap.org/ws/2004/08/addressing:Action 最终收件人是必需的,但 消息中不存在。

var Result = client.BeginTheServiceOperation(header, CallBack, client);

private static void CallBack(IAsyncResult ar)
{
   var client = ar.AsyncState as MyServiceSoapClient;
   var result = client.EndTheServiceOperation(ar); // ERROR OCCURS HERE
   Console.WriteLine(result);
}

我错过了什么?

谢谢

【问题讨论】:

  • 你能把代码贴在你调用服务的地方吗?
  • 我已通过调用 BeginTheServiceOperation 更新了问题。谢谢
  • 请贴出调用BeingTheServiceOperation的整个方法

标签: wcf wcf-client


【解决方案1】:

事实证明,该服务需要 SOAP 1.1,默认情况下 WCF 使用 SOAP 1.2。我需要创建一个新的自定义绑定,传入该配置,一切正常。这为我指明了正确的方向:http://social.msdn.microsoft.com/Forums/en/wcf/thread/f3707303-4f35-4079-ac0b-eba4717cada8

【讨论】:

  • 您可以将此自我回答标记为答案。正如常见问题解答所说,“[...] 回答您自己的问题也很好”。
【解决方案2】:

这表明您没有对绑定应用正确的消息配置选项。该服务期待带有 WS-Addressing 标头的 SOAP 消息,但显然您的客户端没有传递它们。由于默认绑定会通过它们,我不得不假设您已经以某种方式更改了绑定,从而阻止它们通过。

如果需要更多帮助,请将您的绑定配置代码/配置 XML 添加到原始帖子中。

【讨论】:

    猜你喜欢
    • 2012-09-30
    • 1970-01-01
    • 2011-09-19
    • 2021-08-04
    • 2013-06-21
    • 2023-01-13
    • 2021-03-29
    • 2022-01-04
    • 2018-12-06
    相关资源
    最近更新 更多