我这里有一个非常奇怪的WCF问题……
我们正在连接一个糟糕的第三方Web服务;这是一个噩梦甚至让它继续下去,我们不得不创建一个自定义的WCF绑定,因为那些人决定使用“ISO-8859-1”作为他们的文本编码(而不是像网络上的其他人一样使用UTF-8),以及其他设置也很混乱 – 当然没有在任何地方记录……
它现在已经工作了一段时间,但突然之间,我们的一些数据又重新出现了.我们希望能够找到地方的名字,并且在瑞士,其中一些有德国变形金刚.但在过去的两三个月里,我们突然回来了
Hünibach
而不是正确的
Hünibach
所以ü(你的破坏声)被破坏了.
没问题,我认为他们最终切换到UTF-8,我改变了我的自定义绑定使用UTF-8作为其文本编码器而不是ISO-8859-1 – 但没有运气 – 不,我得到:
EXCEPTION: System.ServiceModel.Security.MessageSecurityException
The HTTP request was forbidden with client authentication scheme ‘Basic’.
什么f ?????该服务受用户/密码的保护,我们使用WCF的ClientCredentials传入该用户名/密码.似乎改变文本编码会以某种方式弄乱凭证!?!?!奇怪的…..
好的 – 回到ISO-8859-1,我只是试图将响应有效载荷解释为UTF-8 – 再次没有运气:-(尝试使用UTF-16,UTF-32,UTF-7甚至,Unicode,BigEndianUnicode – 所有无济于事.
那么我怎么回到我的正确的变形虫,仍然可以称之为血腥的服务…在SoapUI中工作得很好,顺便说一下……
有任何想法吗??我拼命地抓住你可能扔给我的任何吸管!!
最佳答案 尝试检查您要返回的数据,看看他们用来表示它的数字代码.变音符号是8859-1中与其他角色共享代码的其中一个字符.