在C#中将asapx webservice中的Soap Request Header从text / xml更改为soap / xml

我需要打电话给网络服务。 我生成了一个代理并调用了该方法。 但它一直都在失败。 因为API在头文件中需要soap / xml,而在Visual Studio中生成的代理客户端在头文件中发送text / xml。

问题:是否可以更改生成的代理客户端的Content-Type标头的值?

内容类型text / xml; 服务不支持charset = utf-8

这通常是客户端/服务器绑定中的不匹配,其中服务中的消息版本使用SOAP 1.2(期望application / soap + xml),而客户端中的版本使用SOAP 1.1(发送text / xml)。 WSHttpBinding使用SOAP 1.2,BasicHttpBinding使用SOAP 1.1。

它通常似乎是一侧的wsHttpBinding和另一侧的basicHttpBinding。

您可以将客户端上的配置更改为使用SOAP 1.2的WSHttpBinding,它将影响内容类型标头。