WCF客户端 - 为什么我收到此错误?

时间:2011-06-13 07:02:12

标签: wcf wcf-client

我正在尝试使用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);
}

我错过了什么?

由于

2 个答案:

答案 0 :(得分:1)

这表示您尚未将正确的消息配置选项应用于绑定。该服务期望带有WS-Addressing头的SOAP消息,但显然您的客户端没有传递它们。由于默认绑定会传递它们,因此我必须假设您已经以某种方式更改了绑定,以防止它们被传递。

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

答案 1 :(得分:1)

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