【问题标题】:MTOM + basicHttpBindingMTOM + basicHttpBinding
【发布时间】:2012-06-07 22:15:58
【问题描述】:

我继承了一个配置了 basicHttpBinding 的 WCF 服务 (1),它与另一个配置了 basicHttpBinding 的 WCF 服务 (2) 通信。我正要涉及另一个 WCF 服务 (3),因此我从 (2) 复制了绑定配置部分,因此 (1) 现在也可以与 (3) 通信。 (1) 到 (2) 工作正常,但 (1) 到 (3) 由于配置错误而发生炸弹。

(2) 的绑定配置将 messageEncoding 设置为“Mtom”,从我读到的内容仅适用于 wsHttpBinding。当我在 (3) 的配置中留下 messageEncoding="Mtom" 时,我得到配置异常。如果我把它拿出来,或者把它从“Mtom”改为“Text”,那么从(1)到(3)的通信就可以了。

WCF 服务 (1) 和 (2) 都配置了 basicHttpBinding,但都将 messageEncoding 设置为“Mtom”。

我不想破坏我不完全理解的东西,但我也不想在我的 web.config 中留下不必要的(或不正确的)配置。在这种情况下是否只是忽略了 Mtom,因为这两个服务的配置方式相同,并且默认情况下返回到 Text? Mtom 是否以任何方式适用于 basicHttpBinding?

【问题讨论】:

    标签: c# wcf


    【解决方案1】:

    basicHttpBinding 也可以支持 mtom,所以你的服务使用了 mtom。你可以验证一下,如果你把fiddler放在中间看看payload。

    【讨论】:

    • 那么这是否在 (1) 和 (2) 之间工作,因为它们都是这样配置的?我假设是这样,因为 (1) 到 (3) 失败,直到我删除 messageEncoding="Mtom",或将其更改为“Text”。
    • 我总是忘记提琴手,让我解雇那个家伙,看看它说了什么。谢谢。
    猜你喜欢
    • 2020-05-26
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 2016-06-05
    • 2012-11-16
    相关资源
    最近更新 更多