問題タブ [faultexception]
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.
c# - asmx webservice から SoapException をキャッチする WCF クライアント
asmx Web サービスを呼び出す WCF サービスがあります。その Web サービスは、次のような例外をスローします。
C# では、FaultException としてキャッチできますが、詳細プロパティはありません。この例外の詳細を知るにはどうすればよいですか?
wcf - クライアント アプリケーションは、特定の wcf メソッドが faultexception をスローするかどうかをどのように認識しますか?
wcf メソッドが障害例外をスローし、クライアント アプリケーションがその障害例外をキャッチすることを知っています。しかし、そのwcfメソッドがクライアント側でフォルト例外をスローするかどうかを知る方法はありますか?
c# - C#クライアントでカスタムJava例外をキャッチするWebサービス
ClientAlreadyExistsException というカスタム Java 例外があり、この例外は Java のサインアップ メソッドによってスローされ、Apache CXF を使用して Web サービスを生成します。C# クライアントでサインアップ メソッドを呼び出すと、常にエラー FaultException`1 が返されるため、例外をキャッチできませんが、Java 例外に書き込んだテキストを実際に見ることができます。
SoapException をキャッチしようとしましたが、うまくいきませんでした。
助けはありますか?
c# - スタックトレースを表示しないwcf例外
クライアントにスタックトレースを表示せずにwcf例外からスローする必要があります。メッセージだけです...
throw new FaultException("ex1");
平均して 20 個の例外文字列があります。毎回 FaultException を文字列引数でスローするのではなく、例外オブジェクトをスローせずに実装するにはどうすればよいですか
c# - WCF で最初のチャンスの例外を無視する必要がありますか?
Visual Studio 内で WCF サービスを実行すると、デバッグ出力に大量の例外が表示されます。
それらは不規則に投げられるようです: いずれにせよ、私はどのようなパターン (つまり、数秒ごとから数十秒まで) も特定できませんでした。
debug を break on に設定するとFaultException
、 によってスローされていることがわかりSystem.ServiceModel.Dispatcher.ErrorBehavior.ThrowAndCatch(Exception e, Message message)
ます。
例外メッセージは{"The message with To '' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher. Check that the sender and receiver's EndpointAddresses agree."}
.
明らかな答えは、「まあ、あなたのアドレスは空です」と思われるでしょう。ただし、これはクライアントが接続する前に発生します。
これは単なる「正常」ですか、それとも私が間違っていることの兆候ですか?
c# - 非 WCF クライアントの WCF エラーの処理
Wcf サービスを作成しました。これは、Wcf クライアントと非 Wcf クライアントの両方からアクセスされます。以下のように、FaultException 処理用に独自のクラスを作成しました。
私が持っている私のサービスインターフェースのために
私のメソッド XmlTypes には次のものがあります。
これは、Wcf クライアントでは問題なく機能するようです。
ただし、たとえば WebClient UploadString を使用して、非 Wcf クライアントから呼び出しを行うと (サービス参照を使用できることはわかっています。これはテスト目的です)、返されます。
System.Net.WebException: リモート サーバーがエラーを返しました: (400) 要求が正しくありません。
これは、別のテスト アプリでの私の webclient コードです。
私のwebconfigファイルでは、この例から取られたように、非wcfクライアントに対してsoap障害をスローする以下を追加しました
どこが間違っていますか?
c# - C# は Java Web サービスを呼び出します: FaultException をキャッチできません
WCF アプリケーションを開発していますが、サービスの 1 つで、Java で開発されたサード パーティの Web サービスを使用する必要があります。サードパーティのサービスは政府によって提供されており、そのコードにアクセスしたり、変更を求めたりすることはほとんど不可能です。
wsdl からサービス参照として追加すると、参照が自動的に生成されます。
メソッド呼び出しは機能しているように見えますが、障害をキャッチしようとすると、サード パーティ サービスによって提供されるカスタム障害データを取得できません。FaultException で取得できるのは、「処理中にエラーが発生しました」だけです。(これだけでメッセージと理由の両方が設定されます。)
wsdl にはカスタムの障害タイプがありますが、.NET は返された SOAP 応答をそのタイプの FaultException にマップできないようです。したがって、私のコードは、一般的なメッセージと HasDetails=false を含む一般的な FaultException を取得するだけです。
政府の Web サービスから返されたエラーの種類をクライアントに示す義務があるため、これは私たちにとって問題です。
あなたたちは、私が打ち負かすことができる何かを台無しにしていると思いますか? 私はすでにイライラしているので、どんなアドバイスも大歓迎です。ここに私のコードからのチャンクがあります:
そして、これが私がスニッフィングした障害の SOAP 応答です。
最後に、サード パーティの Web サービスの wsdl を次に示します。
編集: 自動生成された Reference.cs の関連部分:
c# - WCF エラー例外
WCF サービスを構築するときに、サービスに FaultException のコントラクトを含めないと、Reference.cs ファイルに含まれるすべてのメンバーを使用して、クライアントで WCF サービス参照を作成できます。
FaultException コントラクトを含めると、2 つのことが起こります。
WCF テスト クライアントでは、コントラクト名 (CreateFaultMessage) の横に赤い "X" があります。
WCF サービス参照を作成すると、すべてのメンバーがReference.cs ファイルに含まれているわけではありません。
私は WCF の専門家ではないので、FaultException コントラクトを作成する限り、誰かが私が間違っていることを教えてくれることを願っています。
以下は、インターフェイスでの私のコントラクトのコード宣言です。
以下は、インターフェイスを実装するクラスのメソッドです。PostTransmissionRecord メソッドの catch ブロックでの CreateFaultMessage メソッドの呼び出しに注意してください。