通过MonoTouch使用自定义标头发出Web服务请求的问题

时间:2010-07-04 10:07:11

标签: iphone soap mono xamarin.ios

我和我的团队正在努力解决一些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

1 个答案:

答案 0 :(得分:0)

我无法在Mono 2.6中使用消息标题与WCF一起使用。我尝试了几种不同的方法(包括你在你的例子中如何做到这一点) - 它在Mono 2.6中不起作用。

我为此提出了一个错误,然后我发现它在最新的主干中被修复后关闭了。因此,如果你对Mono 2.7或更高版本运行,这应该可行。