問題タブ [protocolexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1103 参照

wcf - System.ServiceModel.ProtocolException のメッセージには常に html コードが含まれていますか?

それが私の質問です。クライアントでいくつかの WCF 例外をキャッチしていますが、ProtocolException のメッセージには常に html コードが含まれています。
それが毎回起こると仮定できますか?本当に良いメッセージは内部例外にあることがわかりますが、ProtocolException メッセージを破棄して、内部例外からのメッセージをユーザーに表示できますか?

0 投票する
2 に答える
12315 参照

wcf - クライアント側でのWCFサービスの再起動の処理

サーバーボックスでWindowsサービスとしてホストされているWCFサービスに対して実行されているGUIクライアントがあります。WCFサービスはPerCallInstanceContextModeで実行されており、クライアントにはサービスクライアントのシングルトンインスタンスがあります。多くの非同期呼び出しの処理が困難になるため、呼び出しごとにシングルトンを再インスタンス化することは避けたいと思います。

私にとっての問題は、Windowsサービスが再起動された後、クライアントが電話をかけるたびに、次のような例外メッセージが表示されることです。

サーバーによって開始されたシャットダウンのために出力セッションが自動的に閉じられたため、このチャネルを使用してメッセージを送信することはできなくなりました。DispatchRuntime.AutomaticInputSessionShutdownをfalseに設定して自動クローズを無効にするか、リモートサーバーでシャットダウンプロトコルを変更することを検討してください。

これを回避するための最良の方法は何ですか?サービスクライアントへのすべての呼び出しの周りにtry-catch句を配置し、通信例外でシングルトンインスタンスを再インスタンス化できますが、これには多くの定型コードが含まれます。

0 投票する
6 に答える
6623 参照

.net - WCF REST からエラーの詳細を取得する

.Net WCF クライアントによって消費される REST サービスがあります。

エラーが発生すると、REST サービスは HTTP 400 Bad Request を返し、応答本文には JSON のシリアル化された詳細が含まれます。

Fiddler、Javascript、または C# から直接要求を実行すると、エラーが発生したときに応答本文に簡単にアクセスできます。

ChannelFactoryただし、 6 つの非常に複雑なインターフェイスを持つ WCF を使用しています。このプロキシによってスローされる例外は常に でありProtocolException、有用な詳細はありません。

このエラーが発生したときに応答本文を取得する方法はありますか?


アップデート

.Net を使用してこれを行うにはさまざまな方法があり、エラー応答を取得する方法は他にもあることを認識しています。それらは知っておくと便利ですが、この質問には答えません。

私たちが使用している REST サービスは変更され、複雑なインターフェイスは更新されます。新しいインターフェイスでを使用するChannelFactoryと、(実行時ではなく) コンパイル時に例外が発生し、コードの保守と更新がはるかに簡単になります。

WCF チャネルを使用しているときにエラー HTTP ステータスの応答本文を取得する方法はありますか?

0 投票する
2 に答える
439 参照

c# - C# リクエストがタイムアウトしない

BackgroundWorker で実行されるこのコードがあり、サーバーに POST リクエストを送信して応答を取得する必要があります。動作するはずの場合は正常に動作しますが、404 エラーを誘発しようとすると、エラー報告システムがキャッチされません。

リクエストにタイムアウトを設定しましたが、うまくいきません! これはバグですか、それともここで何か間違っていますか?

ありがとう

0 投票する
1 に答える
929 参照

apache - XML-RPC API エンドポイントがランダムに ProtocolError -1 をスローするのはなぜですか?

Magento の XML-RPC API を中心に広範なミドルウェア システムを構築しました。エンドポイントを Python でラップし、多数のマルチコールを実行しています。

一見ランダムな間隔で、API は次のように応答します。

これは、「503 Service Unavailable」という Apache の面白い言い方ですか? もしそうなら、それはなぜでしょうか?

この例外を処理する理想的な方法は何ですか? 例外の再試行は、問題を悪化させるようです。

Web サーバーは Ubuntu 10.04.1 PHP 5.3.2-1ubuntu4.5 with Suhosin-Patch & Zend Engine v2.3.0 API は Python の xmlrpclib で呼び出されています。

0 投票する
2 に答える
2741 参照

wcf - WCF の奇妙なサービス動作

今から完全に機能する wsHttpBinding サービスを使用しています。私の WPF アプリケーション (クライアント) はそれに接続され、15 秒ごとにサーバーから情報を自動的に受信します。

クライアントが次の例外を受け取る場合があることに気付きました (たまに、問題がない日もあります)。

この問題をどこで修正するかについて何か考えがありますか?

ありがとう、カミーユ。

0 投票する
2 に答える
5312 参照

wcf - カスタム例外ハンドラ EL WCF を使用して FaultException をスローする

そのため、WCF サービスで Enterprise Library を使用して、例外関連の作業をいくつか実行しようとしています。

私の考えは、「NullReferenceException」などの「カスタム例外ハンドラー」を設定し、「カスタム例外ハンドラー」で FaultException 例外を作成することです。

私の理解では、この「新しい」例外はネットワークを通過し、クライアントでキャッチします。

理解を深めるためのコード:

WCF サービス:

カスタム例外ハンドラ: (エンタープライズ ライブラリ)

NullReferenceException を「カスタム例外ハンドラー」にマップするアプリ構成ファイル:

そして最後に、この FaultException をキャッチすることを期待するクライアント コード:

しかし、代わりに、応答アクションが必要であることを示す ProtocolException が発生します。

アクション '' の操作 'メソッド' に対する応答メッセージを受信しました。ただし、クライアント コードにはアクション 'http://tempuri.org/MyService/MethodResponse' が必要です。

私は何を間違っていますか?「カスタム例外ハンドラー」でカスタム FaultContract を使用して FaultException を返す (明示的にスローしない) ことは可能ですか?

アドバイスをいただければ幸いです。

更新: ご覧のとおり、「カスタム例外ハンドラー」の処理後のアクションは「ThrowNewException」に設定されています。「NotifyRethrow」に変更すると、「ProtocolException」が発生しなくなります。代わりに、クライアントは通常の "FaultException" (カスタム型ではない) をキャッチします。

ここで問題となるのは、元のカスタム型の FaultException がネットワークを通過しない理由です。

Update 2 忘れていたことの 1 つは、WCF サービスが IIS ではなく ServiceHost 内で実行されていることです。したがって、基本的には、ServiceHost を作成し、この ServiceHost を介して Service1 インターフェイスを公開する Windows サービスがあります。

これがこの問題と関係があると私が考える理由は、Enterprise Library が、サービス境界内だけでなく、アプリケーション全体で例外を処理すると主張しているためです。これにより、例外のスローが遅すぎる可能性がありますか? それとも適切なレベルではありませんか?

更新 3
投稿ありがとうございます。そうです、私がカスタム ハンドラーをいじっている唯一の理由は、MyFaultCode 値を設定したいからです。私はあなたのアドバイスを試しました-2つのハンドラーを構成しました。

最初はカスタム ハンドラーで、NullReference 例外をキャッチします。次に、MyFaultContract フィールドを使用して、新しい例外 - MyApplicationException をスローします。

次に、2 番目のハンドラーを構成しました。組み込みの "Fault Contract Exception Handler" は、MyApplicationException をキャッチし、新しい FaultException を作成し、MyFaultcontract を MyApplicationException から新しく作成された FaultException に自動的にマップします。

WCF クライアントは、カスタム コントラクトではなく、一般的な FaultException を引き続きキャッチします。

0 投票する
1 に答える
58 参照

playframework - playframework ProtocolException 無効メッセージ

私は面白い現象を持っています:

このコントローラーで空の index.html ページを開始すると、次のようになります。

インデックス ページは表示されませんが、次のコンテンツを含むファイルをダウンロードするというオファーが表示されます。

ここでの魔法は何ですか?

0 投票する
2 に答える
32409 参照

c# - Web サービスが間違ったコンテンツ タイプの応答ヘッダーを返す

asp.net c# アプリケーションでサードパーティの Web サービス (php ベース) を使用しようとしていますが、サービス構成で失敗しました。既にサービス/Web 参照を追加しようとしました - すべて同じエラー:

応答メッセージのコンテンツ タイプ text/html がバインディングのコンテンツ タイプ (text/xml; charset=utf-8) と一致しません。カスタム エンコーダーを使用する場合は、IsContentTypeSupported メソッドが適切に実装されていることを確認してください。応答の最初の 402 バイトは次のとおりです。 " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body>;<. ..

[応答は手動で編集され、> < 文字が正しく表示されます。それ以外の場合は完全に有効です]

私には、それは完全に有効な応答のように思えます。フィドラーが応答ヘッダーに書き込む内容を確認しようとしました - Content-Type: text/html、これがおそらく問題の原因です - Web サービスが間違った content-type を送信しました (代わりに text/html) text/xml の) ですが、受信した content-type を無視/上書きするようにクライアントを構成するにはどうすればよいですか? グーグルは私に何も得られないので、誰かが助けてくれるならお願いします-問題はどこですか? Binding\endpoint 構成は、[サービス参照の追加] オプションを使用したときに VS2010 によって生成されるデフォルトの basicHttpBinding/endpoint であり、何も変更されていません。前もって感謝します。

[app.config]

0 投票する
1 に答える
654 参照

java - デスクトップ クライアント Web サーバー通信

クライアントサーバー通信を行っています。URLConnectionクラスを介して両方を接続しました。

現在、ログイン情報をサーバーに送信しようとしています。サーバーは情報が正しいかどうかを確認します。そうでない場合は、再度ログインするように求められます。このシナリオでは、ログインが失敗したと仮定します。しかし、ログイン情報を再度送信しようとしたときにサーバーから応答を取得した後、取得しています

これが私のコードです: