WCF MTOM - 支持非二进制格式

jja*_*man 5 .net c# wcf soap mtom

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

------=_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"
Run Code Online (Sandbox Code Playgroud)

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

<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()
Run Code Online (Sandbox Code Playgroud)

我原本以为必须有一些绑定设置允许其他设置,Content-Transfer-Encoding但我似乎无法找到任何东西.WCF只支持Content-Transfer-Encoding二进制文件吗?如果是这样,有什么方法可以为其他人实施我自己的支持?

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