我正在尝试使用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);
}
我错过了什么?
由于
答案 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