私はここで本当に奇妙なWCFの問題を抱えています...
安っぽいサードパーティのWebサービスに接続しています。それを実現するのは悪夢でした。テキストエンコーディングとして「ISO-8859-1」を使用することにしたので、カスタムWCFバインディングを作成する必要がありました(Web上の他のすべての人のようにUTF-8ではありません)。他の設定も乱雑でした-もちろん、どこにも文書化されていません...
しばらくの間は問題なく動作していましたが、突然、戻ってきたデータの一部が壊れてしまいました。私たちは場所の名前を取り戻すことを期待しています、そしてスイスにいるので、それらのいくつかはそれらの中にドイツのウムラウトを持っています。しかし、過去2、3か月の間、私たちは突然戻ってきました
Hünibach
適切な代わりに
Hünibach
したがって、ü(u umlaut)は壊れています。
問題ありません。最終的にUTF-8に切り替えられたので、カスタムバインディングを変更して、ISO-8859-1の代わりにテキストエンコーダーとしてUTF-8を使用するようにしました。
例外:System.ServiceModel.Security.MessageSecurityException
HTTP要求は、クライアント認証スキーム「基本」で禁止されていました。
何のf????? ClientCredentials
このサービスは、WCFを使用して渡すユーザー名/パスワードによって保護されています。テキストエンコーディングを変更すると、どういうわけかクレデンシャルが台無しになっているようです!?!?!変.....
OK-ISO-8859-1に戻り、応答ペイロードをUTF-8として解釈しようとしました-再び運がありません:-( UTF-16、UTF-32、UTF-7でも、Unicode、BigEndianUnicodeで試してみました-すべて無駄に。
では、一体どうやって適切なウムラウトを取り戻し、それでもその血まみれのサービスを呼び出すことができるのでしょうか... SoapUIでは問題なく機能します、ところで.....
何か案は??投げてくれるストローを必死に掴んでます!!