我使用“添加服务引用”功能来创建一个指向外部 Web 服务的代理。
默认情况下,WCF 客户端会生成 SOAP 消息,其中消息体具有类似以下格式的命名空间修饰:
<s:Body>
<BankingTransaction xmlns="http://tempuri.org/">
<amount>0</amount>
</BankingTransaction>
</s:Body>
我需要消息正文看起来像这样:
而不是这样
<s:Body>
<bb:BankingTransaction xmlns:bb="http://tempuri.org/">
<amount>0</amount>
</bb:BankingTransaction>
</s:Body>
区别在于 "bb" XML 命名空间别名。我尝试使用的Web服务需要为消息有效载荷定义XML命名空间别名。而WCF客户端的默认行为是将命名空间定义为默认命名空间。我已经搜遍了各种配置/修饰的解决方案,但没有找到。如果没有配置解决方案,我将不得不检查并修改每个序列化后的SOAP消息。#无聊。
这里有一个简单的解决方案吗?