問題タブ [soapexception]
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# - SoapException の拡張方法
SoapException
2 つの文字列属性を追加するために拡張しようとして立ち往生しています。から派生し
た Web サービス メソッドがあり、それを Web サービス クライアントでキャッチしたいと考えています。しかし、WebMethod にプロパティを追加して Web サービス クライアントに公開しようとすると、起動時に Web サービスが失敗し、次のメッセージが表示されます。CustomSoapException
SoapException
CustomSoapException
CustomSoapException
[XmlInclude(typeof(CustomSoapException))]
ASMX
IDictionary を実装しているため、System.Collections.IDictionary 型のメンバー System.Exception.Data をシリアル化できません。
誰かが私の内部のタイプのData
プロパティを適切にシリアル化する方法を教えてくれれば、Web サービス クライアントに正しく公開できます。プロパティ内にデータを入れるつもりさえありません。おそらく、シリアライズする必要を避けるために、拡張クラスから完全に完全に削除することができます。IDictionary
CustomSoapException
Data
これが私のコードですCustomSoapException
:
ファイル内のWebMethodコードは次のとおりです。asmx.cs
Web サービス クライアントコード:
dynamics-crm-4 - 一般的なSoapExceptionを受け取ったときに実際の問題に絞り込む方法:サーバーは要求を処理できませんでした。MS-CRM4.0から
最近、CRM 4.0に対してプログラミングを開始し、CrmServiceを使用してこれらの要求を発行しています。リクエストを送信するときに使用している動的エンティティの一部のプロパティで、間違った値を取得することがよくあります。もちろん、リクエストは失敗し、例外をインターセプトしてログに記録します。問題は、これが私が得るものであるということです:
これはあまり関係ありません。
これまで、私はいくつかのプロパティを勘違いして削除し、もう一度テストしてから、プロパティの値のどこが間違っているのかを推測しようとしました。エラーの原因に関するより詳細な情報を取得して、実際の原因をより迅速に特定できるようにする別の方法はありますか。
c# - SOAP ENV を使用してリモート Web サービスを呼び出し、Soap Exception をキャッチする方法
C# の WebClient.UploadString メソッドを使用して Web サービス (リモート) にアクセスしており、必要な資格情報とデータを含む SOAPEnv を渡しています。
正常に動作しますが、リモート Web サービスから返される SoapException をキャッチできません。WebClient.UploadString メソッドを読むと、WebException または一般的な例外が返されます。
SoapEnv を使用して Web サービスを呼び出し、SOAPException をキャッチする方法を知りたいです。WebClient メソッドを使用する理由は、Web サービスが WS-Security 認証を必要とするため、SoapEnv を渡すためです。
よろしく、ジャギー
c# - クライアント側で SoapException を受け入れる方法
恐ろしい「client found response content type of "text/html" but expected "test/xml"」エラーが発生しましたが、グーグルで検索した後、SoapException を返す方法に関するこの投稿を見つけました。
だから私は先に進んでそれを実装しましたが、今でも同じエラーが発生しています。SoapException を受け入れることができるようにクライアント側で行う必要がある変更はありますか (私はそうは思いません。すべてが Exception から継承されているだけですよね?)
なぜ私はまだクライアント側でその恐ろしい応答を得ているのですか?
編集: この catch ブロックの例外はまさに私が確認する必要があるものであることはわかっていますが、クライアント側でまだ System.InvalidOperationException を取得しています。
Edit2:それが役立つ/重要な場合は、WebReference(* .asmxファイルを呼び出す)を介してWebサービスに接続しています。
Edit3: サーバー側の例外ログに書き込まれる内容は次のとおりです (PublishingManager.Publish() 呼び出しで)。私の考えでは、これはクライアントに返されるものでなければなりません...
Edit3: この余分なコード チャンクを投げて、私がこれらの例外をどのようにテストしているかを人々に見てもらいたいだけです (そして、テストする方法が間違っているかもしれません...)。最初のコード チャンクでは、try ブロック内で "return Components.PWD.GetConversionErrors();" を呼び出しています。そのメソッドは次のとおりです。
ご覧のとおり、実際の呼び出しをコメントアウトし、テスト目的で毎回例外をスローする独自の行を挿入しました...
Edit4: @gbvb これが新しいメソッドです:
Edit5: Fiddler2 が見たもの:
誰かがこのセクションを適切にフォーマットする方法を知っている場合は、そうしてください:)
php - php Soap Clientリクエスト中に複数のSOAP障害を処理するにはどうすればよいですか?
監視ステーションから水位を取得するために、phpのsoapClientを介してWebサービスにSOAP呼び出しを行うことに興味があります。実行中に発生した2つのsoapfaultを処理したいと思います。最初の障害は次のとおりです。
このエラーは、特定の時間のデータが利用できない場合、スクリプト中に数回発生することが予想されます。スクリプトに新しい時刻で再試行するように指示するには、この障害をキャッチする必要があります。私はそうするためにキャッチブロックを使用しました。
また、Webサービスがwsdlファイルをロードしていない場合、またはサーバーがタイムアウトした場合に発生する2番目の障害をキャッチする必要があります。これをテストするために、以前に受け取ったのと同じエラーを生成するための誤った場所がスクリプトに与えられました。これは次のとおりです。
2番目のエラーは捕捉されず、スクリプトが終了します。しかし、私はそれをキャッチしてメッセージを表示する必要があります。
以下にsoap呼び出しを行うphp関数を投稿しました。
誰かが私にこれを行う方法について何かアイデアを教えてもらえますか?
soapexception - WebService 拡張機能を使用して SOAP 呼び出しを再試行する方法 (クライアントではなくサーバーで)
私は、WAN を介して厄介なバックエンドにアクセスする SOAP サービスを開発しました。コンシューマー アプリが再試行ロジックを実装するのを防ぐために、再試行ロジックを実装したいと考えています。
再試行ロジックを作成する最もクリーンな方法は? には興味深いアイデアがいくつかありますが、数十回の呼び出しでコードが複雑になるのは避けたいと思います。
SOAPExtension を実装して retrySpecific 例外をチェックし、内部再試行を実行する必要があると思います。
P コード:
SOAP 呼び出しが WebService に入ります
バックエンドへの呼び出しが行われ
ます 合格の場合、データが返されます
失敗の場合、バックエンドへの呼び出しが行われ
ます 合格の場合、データが返されます
失敗の場合、例外が再実行されます
これを実装する方法についてのアイデアはありますか?
c# - SoapException が ComVisible クラスでキャッチされない
古い VB6 クラスで呼び出される .NET で ComVisible ライブラリを開発しています。クラスで基本的に行うことは、Web サービスを呼び出し、応答を解析し、必要なデータを含むオブジェクトを返すことです。SoapException
Web サービスは、間違ったパラメーターで呼び出された場合に を返すように設計されています。ここに私のコードの一部があります:
正しいパラメーターを使用して VB6 コードからこのメソッドを呼び出そうとすると、適切な応答が返されます。しかし、間違ったパラメーターで呼び出すと、VB6 プログラムで-245757
( ) ランタイム エラーが発生し、C# コードの句でキャッチされていないように見えます (ただし、メソッドによって空のフィールドが返されることを期待します)。 .Object reference was not set to an instance of an object
catch
ReplyObject
Error
テスト C# プロジェクトを作成し、同じメソッドをコピーしました (つまり、.NET プラットフォーム内から同じ Web サービスを呼び出します)。この場合、SoapException
が適切にキャッチされていることを確認できます。
この動作は意図的なものですか? ComVisible クラス内でをキャッチする方法はありSoapException
ますか (返信オブジェクトにエラー メッセージを含めたいので)?
UPD:私の VB6 コードは次のとおりです。
php - キャッチされない SoapFault 例外: サーバーは要求を処理できませんでした。---> System.ApplicationException
昨日まで、私の php コードは今日まで正常に動作していました。このエラーが発生し始めました。私は自分のコードを変更しておらず、それがどのように起こるかわかりません。
どんな助けでも素晴らしいでしょう!
c# - Dynamics nav 2009 RE: SoapException: 標準アイテム コード 'foo' が存在しません
購入請求書を作成しようとしています:
そしてSoapException
、最後の行に次のメッセージが表示されます。
標準テキストコード「LS-150」は存在しません。
非常に混乱しています。この商品コードは発注書で使用されており、商品リストで確認できます。では、なぜここで使用できないのでしょうか。これは私の意見ではうまくいくはずです。PostOrder
' ' オブジェクトからこのテキスト ID にアクセスすることもできます。
私は " " 会社のアプリケーションで使用Dynamics NAV 2009 R2
しています- それは私の問題でしょうか?DEMO
CRONUS International Ltd.
ところで。この一定の SQL Server タイムアウトの話は何ですか? PurchaseInvoice
存在しないために削除できず、形式が間違っているために更新できないものを作成できるのに、なぜそれらをうまく読むことができるのですか? Web サービスは「アプリケーションにアクセスするための安全な方法」であるべきではありませんか?
解決:
解決策は、更新行を 1 つ追加することでした。
@uncommonsense に感謝します。