【发布时间】:2012-09-30 11:54:39
【问题描述】:
我在 WCF 服务上的消息解析有问题。 我运行了 WCF 应用程序的服务器端。另一家公司向我发送了这样的 HTTP POST 请求:
POST /telemetry/telemetryWebService HTTP/1.1
Host: 192.168.0.160:12123
Content-Length: 15870
Expect: 100-continue
Connection: Keep-Alive
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<wsse:Security> ... </wsse:Security>
</soapenv:Header>
<soapenv:Body>
...
</soapenv:Body>
</soapenv:Envelope>
您如何在此 HTTP 请求中看到这一点,缺少 2 个重要的标头:Soap Action 和 Content-type。这就是我的服务无法正确处理此请求的原因。
我需要捕获请求直到它开始被处理并手动添加这些标头。
我已经尝试过 IDispatchMessageInspector,但没有任何结果。
【问题讨论】:
-
你能告诉我们为什么用
IDispatchMessageInspector的尝试没有成功,也许显示(一个示例)代码和它的问题/错误?请注意,您可以随时编辑您的问题。 (PS。我不认为在客户端解决这个问题是一种选择?) -
我感觉到你的痛苦 :P "嘿,让我们使用这个 SOAP 东西。它只是一堆 XML,对吗?等等,什么?你的意思是有一个 规范 适合吗?以及能够生成代码以为你做正确事情的工具?”