我和我的团队正在努力解决一些Web服务,这些服务要求在发出请求时可以使用SOAP Message Headers。我们无法控制这些Web服务,所以即使我们想要(或者至少没有很多痛苦)我们也无法改变实现。我们只需要能够获得与身份验证相关的信息&通过我们的邮件标题传递了几个其他项目。
我读过一些过去曾遇到过这个问题的人,并没有明确表示他们是否成功将其从Monotouch上取下来。
以下是我读过的内容:http://forums.monotouch.net/yaf_postsm2104.aspx到目前为止。
关于我们如何在Monotouch框架上克服这个问题的想法?
以下是我现在要做的事情:
using (var scope = new OperationContextScope (client.InnerChannel))
{
client.GetHistories += handler;
OperationContext.Current.OutgoingMessageHeaders.Add (MessageHeader.CreateHeader ("EnvironmentInfo", "http://schemas.contoso.com",
ServiceContext.Current.OperatingEnvironment));
OperationContext.Current.OutgoingMessageHeaders.Add (MessageHeader.CreateHeader ("AuthenticationToken", "http://schemas.contoso.com",
ServiceContext.Current.Token));
client.GetHistoriesAsync (ServiceContext.Current.OperatingEnvironment, ServiceContext.Current.Token, request);
}
感谢您的时间。
JM
答案 0 :(得分:0)
我无法在Mono 2.6中使用消息标题与WCF一起使用。我尝试了几种不同的方法(包括你在你的例子中如何做到这一点) - 它在Mono 2.6中不起作用。
我为此提出了一个错误,然后我发现它在最新的主干中被修复后关闭了。因此,如果你对Mono 2.7或更高版本运行,这应该可行。