我在.NET环境中调用Java SOAP Web服务。我将该服务添加为Web参考,它为我加载了代理和配置设置。到现在为止还挺好。如何从WS响应中提取SOAP标头
对我来说,就像调用另一个库,因为所有类型都被加载,我可以调用方法并将返回类型分配给.Net为我生成的代理类。
但是,我的提供者说他们正在发送一些cookies在SOAP标头中。现在,我如何从我的C#代码访问SOAP标头?因为当我调用服务并检索响应时,就像调用一个方法并检索一个Typed响应一样。不确定如何从中提取SOAP头信息。
任何想法?
我OperationContext.Current为空。如果我在客户端,情况不会如此。它表示如果你在服务器上并且客户端打电话给你,你会有一个上下文吗? – TeaLeave
在客户端上,您必须[在服务调用周围创建'OperationContextScope'](https://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontextscope(v = vs.110).aspx) ,最好用'using'语句完成。 – acelent
AS @PauloMadeira注意到,您需要OperationContext的作用域。这取决于你如何创建你的客户端。这篇文章有很好的信息:http://stackoverflow.com/questions/15205337/current-operationcontext-is-null-in-wcf-windows-service –