3

WSDL であるオンライン サービスをインポートしました。

サービス メソッドを呼び出すと、次の例外が発生します。

System.ServiceModel.ProtocolException: コンテンツ タイプ text/xml; 応答メッセージの charset=ISO-8859-1 がバインディングのコンテンツ タイプ (text/xml; charset=utf-8) と一致しません。カスタム エンコーダーを使用する場合は、IsContentTypeSupported メソッドが適切に実装されていることを確認してください。応答の最初の 617 バイトは < ?xml version="1.0" encoding="ISO-8859-1"?>< SOAP-ENV:Envelope SOAP-... でした。

これは、サービスが ISO-8859-1 でデータを返すのに対し、クライアントはサービスが UTF-8 エンコーディングでデータを返すことを期待していることを意味すると思います。クライアントの予期されるコンテンツ タイプをサービスのコンテンツ タイプと一致するように変更する方法はありますか?

4

1 に答える 1

-1

クライアントが .net の場合は、ここに示すように設定できます

これは、コードでそれを行う方法です

wsHttpBinding.TextEncoding = Encoding.UTF8;

https://stackoverflow.com/a/8925516/57883

構成ファイルで直接設定する例を見つけることができるかどうか見てみましょう。

あ、質問にあるのはサンプルです

WCF: クライアントでクライアント プロキシと構成ファイルを使用する方法は?

于 2012-12-21T13:20:46.930 に答える