我在这里有一个非常奇怪的 WCF 问题......
我们正在连接一个糟糕的第三方网络服务;这甚至是一场噩梦,我们不得不创建一个自定义 WCF 绑定,因为这些人决定使用“ISO-8859-1”作为他们的文本编码(而不是像网络上的其他人一样使用 UTF-8),并且其他设置也很混乱-当然,没有记录在任何地方...
它已经工作了一段时间了,但是突然间,我们的一些数据被破坏了。我们希望取回地名,并且在瑞士,其中一些地名中有德语变音符号。但是最近两三个月,我们突然回过神来
Hünibach
而不是正确的
Hünibach
所以 ü (u 变音符号)被破坏了。
没问题,我认为他们终于切换到了 UTF-8,并且我将自定义绑定更改为使用 UTF-8 作为其文本编码器而不是 ISO-8859-1 - 但运气不好 - 不,我得到了:
例外:System.ServiceModel.Security.MessageSecurityException
客户端身份验证方案“基本”禁止 HTTP 请求。
什么鬼??????该服务受我们使用ClientCredentials
WCF 传入的用户名/密码保护。似乎更改文本编码会以某种方式弄乱凭据!?!?!诡异的.....
好的 - 回到 ISO-8859-1,我只是试图将响应负载解释为 UTF-8 - 再次没有运气:-( 尝试使用 UTF-16、UTF-32、UTF-7 甚至 Unicode、BigEndianUnicode - 所有无济于事。
那么我到底如何才能找回我正确的变音符号,并且仍然能够调用该血腥的服务......在SoapUI中工作得很好,顺便说一句......
有任何想法吗??我拼命地抓住你可能扔给我的任何稻草!