WCF MTOM - 支持非二进制格式

时间:2015-04-09 13:46:11

标签: c# .net wcf soap mtom

我正在创建一个接受MTOM消息的WCF SOAP服务。一般来说,一切都按预期工作,但似乎我的服务只接受二进制编码的附件。例如,如果附件是这样发送的(请注意Content-Transfer-Encoding的{​​{1}}):

7bit

当此消息发布到我的服务时,我收到错误消息:

------=_Part_0_1053847062.1428586130682
Content-Type: text/xml; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-ID: <document.xml>
Content-Disposition: attachment; name="document.xml"

我原本以为必须有一些绑定设置允许其他<Message>Content-Transfer-Encoding '7bit' not supported for binary part. Must be 'binary'.</Message> <StackTrace>at System.Xml.XmlMtomReader.CheckContentTransferEncodingOnBinaryPart(ContentTransferEncodingHeader header) at System.Xml.XmlMtomReader.Read() at System.Xml.XmlReader.ReadStartElement() ,但我似乎无法找到任何东西。 WCF仅支持Content-Transfer-Encoding二进制文件吗?如果是这样,有什么方法可以为其他人实施我自己的支持吗?

另一个可能的答案是,实际上除了二进制之外没有使用其他编码,这是唯一需要的编码。我最初的测试是使用SoapUI,它似乎尽可能使用非二进制编码,但这可能不是一个准确的测试。

0 个答案:

没有答案