Salesforce SOAPの例外 – エンベロープで予期されるフォルトが見つかりました

SalesforceのSOAPコールアウトを介して受け取った応答を解析する際に問題があります。私が受け取っているエラーは次のとおりです。Webサービスコールアウト失敗:予期しない要素。
Parserは要素 ‘ http://schemas.xmlsoap.org/soap/envelope/:Envelope
を期待していましたが、 「 http://schemas.xmlsoap.org/soap/envelope/:Fault
」が見つかりました。

この奇妙な点の1つは、応答が正常に解析されたが、失敗した場合、Salesforceは応答の処理方法を知らないということです。これらのエラーメッセージが必要なので、エンドユーザーは問題を修正してやり直すことができます。

私は目標システムを担当する技術者と話をしており、エラー応答が正しく送信されていると述べています。別の奇妙な点は、エラーを完全に解析している同じシステム上に他の同様のWebサービスがあることです。
WSDLによって作成されたメソッドには明らかな違いはないようです。

このエラーがなぜ発生しているのか、誰にもこの問題のトラブルシューティングに役立つヒントがあるのか​​どうかは誰にも分かりません。

どんな提案も大変ありがとうございます。ありがとう!

ベストアンサー

Apex
Debugログを有効にすることができます。これらのログは、コールアウトの発信XMLと受信XMLに表示されます。これにより、XMLの外観をより視覚的に確認することができます。

基本的には常にsoap:Envelope要素、soap:Fault要素は常にsoap:Body要素内にある必要があります。あなたがそうでないなら、それは本当に無効です。他の言語の他のSOAPクライアントでテストした場合は、これらの言語で発信XMLをキャプチャし、Apexから取得したデバッグと比較してみてください。

SOAP標準に従って、こちらをご覧ください。

存在する場合、SOAPフォールト要素は本文項目として表示されなければならず、本文要素内に複数回表示されてはならない(MUST
NOT)。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です