I inherited a WCF service (1) configured with basicHttpBinding and it communicates with another WCF service (2) configured with basicHttpBinding. I was about to involve another WCF service (3), and in doing so I copied the binding configuration sections from (2) so (1) can now communicate with (3) as well. (1) to (2) is working just fine, but (1) to (3) bombs due to a configuration error.
The binding configuration of (2) has messageEncoding set to “Mtom”, which from what I’ve read only applies to wsHttpBinding. When I leave messageEncoding=”Mtom” in the config for (3), I get the configuration exception. If I take that out, or change it from “Mtom” to “Text”, communication to (3) works just fine from (1).
WCF service (1) and (2) are both configured with basicHttpBinding, but both also have messageEncoding set to “Mtom”.
I don’t want to break something I don’t fully understand, but I don’t want to leave unnecessary (or incorrect) configuration in my web.config either. Is Mtom just being ignored in this case since both services are configured the same way and things are defaulting back to Text? Does Mtom apply in any way to basicHttpBinding?
basicHttpBinding can also support mtom, so your services used mtom. You can verify that if you put fiddler in the middle and see the payload.