我想知道是否有人遇到过这个问题而且有答案或指针。我实现了IClientMessageInspector以在客户端上为我的soap消息添加标头。所以,在BeforeSendREquest中我调用了MessageHeader.CreateHeader。这似乎有效,因为我在Fiddler中看到了带有标题的消息。在服务方面,我有一个自定义authenticationManager。当服务调用进入实现时,我没有看到插入的标题。我有一种感觉,ServiceModel堆栈在反序列化期间跳过我的标题,但不确定。此外,如果它确实发生了什么,不知道如何解决这个问题。也许在服务端实现IClientMessageInspector的等价物?
任何想法/指针都会有所帮助。
答案 0 :(得分:0)
在服务器端WCF代码中,为了对客户端的SOAP头进行操作(由IClientMessageInspector插入),我使用了IDispatchMessageInspector的实现。在其AfterReceiveRequest()方法中,我使用request.Headers.FindHeader()来查看是否存在预期的标题。