这是我已经回答过的那些“问题”之一,但是我发布了 b/c,基于一周的谷歌搜索,那里的信息似乎接近于零。
TL;DR:WCF MTOM 将 BasicHttpBinding 客户端编码到外部/第 3 部分,非 .NET Web 服务在 MTOM 响应的 XOP 处理上阻塞 - 基本上 MTOM 编码器似乎期望二进制元素中的 base64 有效负载,但运行到.. . 指令并且无法将 SOAP/XML 反序列化为运行时对象,从而在此问题的标题中引发错误。
错误:应从命名空间“ http://mynamespace ”结束元素“MyBinaryData”。从命名空间“ http://www.w3.org/2004/08/xop/ ”中找到元素“xop:Include ”
如前所述,关于这个主题的内容并不多,我猜 b/c MS 基于服务开发编写了大部分 WCF 文档,而不是客户端(尽管有一些,公平地说)。
我不打算详细介绍初始设置 b/c 我将要回答我自己的问题,但我会在回答前先说这更类似于 WCF 的默认配置MTOM 比没有。
另外,我知道 WCF 是旧的、无聊的,并且不再由 MS 积极开发,但它仍然受到支持并且有很多用途。实际上,我没有太多选择,必须找到一种方法来完成这项工作。这就是为什么我要与其他必须处理这种头痛的人分享我的发现。