我已经在两台机器上启动了我的 .net 服务(一台是 Windows server 2012,另一台是 Windows 7)。该服务在每台机器上使用相同的编译 C# 代码。
在 Windows 服务器上,xml 响应创建一个 xmlns 并将其称为“a”并将其放在 xml 中的所有属性上。
在 Windows 7 上,它使用顶部属性上的默认命名空间。
例子:
windows server 2012
<postResponse xmlns:a="xxxxx">
<a:line1>
<a:line2> bla </a:line1>
<a:line3> bla </a:line1>
<a:responseCode> 200 </a:responseCode>
</a:line1>
</postResponse>
windows 7
<postResponse>
<line1 xmlns:"xxxxx">
<line2> bla </line1>
<line3> bla </line1>
<responseCode> 200 </responseCode>
</line1>
</postResponse>
事实证明,向我发送数据的遗留应用程序会注意到差异并且不接受 Windows 服务器格式。我在 WCF 上使用soap 12,并且 .config 文件是相同的。为什么会发生这种情况,我在哪里可以找到解决此问题的配置?