【发布时间】:2012-10-09 17:31:10
【问题描述】:
我有一个返回结果为multipart/related 的网络服务:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: multipart/related; boundary=MIMEBoundaryurn_uuid_FCAC227A0F1D534C2D1349803588825;
type="application/soap+xml"; start="<0.urn:uuid:FCAC227A0F1D534C2D1349803588826@apache.org>"; action="urn:MyServiceAction"
Date: Tue, 09 Oct 2012 17:26:28 GMT
Content-Length: 2961
--MIMEBoundaryurn_uuid_FCAC227A0F1D534C2D1349803588825
Content-Type: application/soap+xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <0.urn:uuid:FCAC227A0F1D534C2D1349803588826@apache.org>
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
[... snipped ...]
</soapenv:Envelope>
--MIMEBoundaryurn_uuid_FCAC227A0F1D534C2D1349803588825--
WCF 似乎不支持这一点。我正在使用自定义绑定,TextMessageEncodingBindingElement 爆出一条消息,告诉我不支持该内容类型。 MtomMessageEncodingBindingElement 也抱怨,因为它不期望 application/soap+xml 而是 application/xop+xml。
是否有一个 MessageEncoder 可以正确处理multipart/related 的application/soap+xml?或者我有没有一种简单的方法可以在发送到TextMessageEncodingBindingElement之前连接到管道并提取有效负载?
【问题讨论】:
标签: c# .net wcf web-services soap