在我的 App.config 我有这个绑定:
<customBinding>
<binding name="B2BJSONSoap12">
<textMessageEncoding messageVersion="Soap12" />
<httpsTransport />
</binding>
</customBinding>
而这个终点:
<endpoint address="https://xxx.xxx.xxx/b2bJSON.asmx"
binding="customBinding" bindingConfiguration="B2BJSONSoap12"
contract="SROCS.B2BJSONSoap" name="B2BJSONSoap12" />
在代码中,我创建 B2BJSONSoapClient(由 wsdl 加载)来调用方法。当我尝试调用一个时,我得到 System.ServiceModel.ProtocolException (俄语) whish 这样说:
内容类型 text/html; 响应消息的charset=utf-8 与绑定的内容类型不匹配(application/soap+xml;charset=utf-8)。使用特殊编码器时,需要正确实现 IsContentTypeSupported 方法。
那么如何将内容类型指定为“application/soap+xml”?
我可以在没有客户端的情况下使用 HttpWebRequest 来做到这一点,但这将是更多的工作......