[解決済み] WCFサービスクライアント。応答メッセージのコンテンツタイプ text/html; charset=utf-8 が、バインディングのコンテンツタイプと一致しません。
質問
私はローカルの IIS サーバー上で WCF サービスが動作しています。私はそれを C# ウェブサイト プロジェクトへのサービス参照として追加し、それはうまく追加され、プロキシ クラスが自動的に生成されました。
しかし、サービス契約を呼び出そうとすると、次のエラーが表示されます。
説明 現在のWebリクエストの実行中に、処理されない例外が発生しました。 が発生しました。 エラーとその場所に関する詳細な情報については、スタックトレースを確認してください。 をご覧ください。 スタックトレースを見てください。
例外の詳細です。 System.ServiceModel.ProtocolException: 応答メッセージのコンテンツタイプ text/html; charset=utf-8 が応答メッセージのコンテンツタイプと一致しません. のコンテントタイプと一致しません. バインディングのコンテンツタイプ(application/soap+xml; charset=utf-8)と一致しません.カスタム エンコーダを使用している場合は IsContentTypeSupported メソッドが正しく実装されていることを確認してください。 メソッドが正しく実装されていることを確認してください。レスポンスの最初の1024 バイトのレスポンスがありました。' 関数 bredir(d,u,r,v,c){var w,h,wd,hd,bi;var b=false;var p=false;var s=[[300,250,false],[250,250,false],[240,400,false],[336,280,false],[180,150,false],[468,60,false],[234,60,false],[88,31,false],[120,90,false],[120,60,false],[120,240,false],[125,125, false],[728,90,false],[160,600,false],[120,600,false],[300,600,false],[300,125,false],[530,300,false],[190,200,false],[470,250,false],[720,300,true],[500,350,true],[550,480,true]]; if(typeof(window. innerHeight)=='数値'){h=window.innerHeight;w=window.innerWidth;}else if(typeof(document.body.offsetHeight)=='number'){h=document.body.offsetHeight;w=document.body.offsetWidth;}for(Var) i=0;i
WCF サービスと通信するコンソール アプリケーションもありますが、コンソール アプリケーションでは、このエラーが発生することなく、正常にメソッドを呼び出すことができます。
以下は、私の設定ファイルからの抜粋です。
WCFサービスのWeb.Configです。
<system.serviceModel>
<services>
<service name="ScraperService" behaviorConfiguration="ScraperServiceBehavior">
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_IScraperService"
contract="IScraperService" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://example.com" />
</baseAddresses>
</host>
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IScraperService"
bypassProxyOnLocal="false" transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2000000" maxReceivedMessageSize="2000000"
messageEncoding="Text" textEncoding="utf-8"
useDefaultWebProxy="true" allowCookies="false">
<readerQuotas
maxDepth="2000000" maxStringContentLength="2000000"
maxArrayLength="2000000" maxBytesPerRead="2000000"
maxNameTableCharCount="2000000" />
<reliableSession
enabled="false" ordered="true" inactivityTimeout="00:10:00" />
<security mode="Message">
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ScraperServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
ウェブサイトプロジェクトサービスクライアント
Web.Config
:
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IScraperService"
closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8"
useDefaultWebProxy="true" allowCookies="false">
<readerQuotas
maxDepth="32" maxStringContentLength="8192"
maxArrayLength="16384" maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<reliableSession enabled="false"
ordered="true" inactivityTimeout="00:10:00" />
<security mode="Message">
<transport clientCredentialType="Windows"
proxyCredentialType="None" realm="" />
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint name="WSHttpBinding_IScraperService"
address="http://example.com/ScraperService.svc"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_IScraperService"
contract="ScraperService.IScraperService" >
<identity>
<servicePrincipalName value="host/FreshNET-II" />
</identity>
</endpoint>
</client>
</system.serviceModel>
これは、WCFを作成するための私の最初の試みであるので、すべてが非常に新しいです。どんな助けでも大いに感謝します。
どのように解決するのですか?
以下のサイトにアクセスしてみてください。 http://localhost/ScraperService.svc を、サービスをホストしているサーバーの Web ブラウザで、クライアントが通常実行するのと同じ Windows の資格情報を使用して参照してみてください。
私は、IIS が期待どおりに xml を返す代わりに、何らかの説明の html エラー メッセージを表示しているのだと想像します。
これは、インターネットフィルタリングを行う http プロキシサーバーがある場合にも発生する可能性があります。私の ContentKeeper の経験は、あらゆる http/https トラフィックを傍受し、"Unmanaged Content" としてブロックし、私たちが返すのは html エラーメッセージだけということです。これを避けるには、Internet Explorer にプロキシ サーバーの例外ルールを追加して、プロキシがサイトへのトラフィックを遮断しないようにすることができます。
コントロール パネル > インターネット オプション > 接続 > LAN 設定 > 詳細設定 > プロキシ設定
関連
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み] 配置されたアセンブリのマニフェスト定義がアセンブリ参照と一致しない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み] [Solved] アセンブリ System.Web.Extensions dll はどこにありますか?
-
[解決済み] 'IEnumerable<SelectListItem>' 型の ViewData アイテムで、キーが国であるものは存在しない。
-
[解決済み] [Solved] 不正な文字列値: '\xEFxBFxBD' for column
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】URLから画像をダウンロードする方法