Я решил эту проблему, создав новый класс, производный от WebContentTypeMapper, и изменив WebContentFormat на «Raw», когда Content-Type = «text / xml». Наряду с этим новым классом я обновил web.config для использования элемента «customBinding» в разделе «bindings».
public class XmlContentTypeMapper : WebContentTypeMapper
{
public override WebContentFormat
GetMessageFormatForContentType(string contentType)
{
if (contentType.Contains("text/xml") || contentType.Contains("application/xml"))
{
return WebContentFormat.Raw;
}
else
{
return WebContentFormat.Default;
}
}
}
web.config
<bindings>
<customBinding>
<binding name="XmlMapper">
<webMessageEncoding webContentTypeMapperType="Lt.Trigger.XmlContentTypeMapper, ExService" />
<httpTransport manualAddressing="true" />
</binding>
</customBinding>
</bindings>