Oracle® Fusion Middleware Oracle WebLogic Server Application Adapter for SAP R/3(SAP JCo 3.0)ユーザーズ・ガイド 11g リリース1 (11.1.1.3.0) B61422-01 |
|
前 |
次 |
この章では、SAP R/3に接続する場合の制約事項および回避策について説明します。次のトピックが含まれています。
この章に記載しているアダプタ特定のエラーは、Oracle Adapter J2CAまたはOracle Adapter Business Services Engine (BSE)のいずれかの構成でアダプタを使用した場合に発生する可能性があります。
このトピックでは、SAP R/3に関するトラブルシューティング情報を次の4つのカテゴリに分けて説明します。
アプリケーション・エクスプローラ
SAP R/3
Oracle Adapter J2CA
Oracle Adapter Business Services Engine (BSE)
アプリケーション・エクスプローラ
Windows上でアプリケーション・エクスプローラをデバッグまたはテスト目的で使用するには、以下の手順を実行します。
アプリケーション・エクスプローラがデプロイされているOracle WebLogic Serverが起動していることを確認します。
図10-1に示すように、Windowsの「スタート」メニューから「すべてのプログラム」、「Oracle Application Adapters」の順に選択し、「アプリケーション・エクスプローラ」をクリックして、アプリケーション・エクスプローラを起動します。
次のディレクトリにあるae.batファイルを実行してアプリケーション・エクスプローラを起動することもできます。
<ADAPTER_HOME>
\soa\thirdparty\ApplicationAdapters\tools\iwae\bin\ae.bat
デスクトップ上にae.batファイルへのショートカットを作成することをお薦めします。
UNIXまたはLinuxプラットフォームを使用している場合は、iwae.shファイルを実行してアプリケーション・エクスプローラを起動できます。
SAP R/3
注意: アクティブ化は、SAPの重要な概念です。オブジェクトがアクティブ化された状態で存在しない場合、システム上では存在するものとして表示されますが、使用できません。これは特に、IDOCおよびSAPビジネス・オブジェクトで重要となります。詳細はSAPドキュメントを参照してください。 |
Oracle Adapter J2CA
このトピックでは、BSEを使用してWebサービスを処理する場合に発生する可能性がある様々なエラー・タイプについて説明します。
BSEは、アダプタ・フレームワークへのSOAPゲートウェイと一部のアダプタのエンジンの両方の役割を果たします。デザインタイムとランタイムの両方で、アダプタを使用するWebサービスが実行されるときに様々な条件によりBSEでエラーが発生ことがあります。これらの条件とその結果発生するエラーは、特定のアダプタにかかわらず同様に公開されるものと、使用されるアダプタによって異なった形態で公開されるものがあります。このトピックでは、アダプタ特定のもので、いくつかの一般的なエラー条件の場合に発生するエラーについて説明します。通常、BSE内のSOAPゲートウェイ(エージェント)は、SOAPリクエスト・メッセージをWebサービスに必要なアダプタに渡します。エラーが発生した場合、はアダプタおよびAPI、またはアダプタで使用されるインタフェースによって異なります。いくつかのシナリオで、SOAPゲートウェイでSOAPフォルトが生成されます。一般に、BSE内のSOAPエージェントが無効なSOAPリクエストを受信するたびに、SOAPフォルト要素がSOAPリスポンスで生成されます。SOAPフォルト要素にはフォルト・ストリングおよびフォルト・コード要素が含まれます。フォルト・コードには、SOAPエージェント・エラーの記述が含まれます。
次のSOAPレスポンス・ドキュメントは、BSEが無効なSOAPリクエストを受信したときに生成されます。
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Client</faultcode> <faultstring>Parameter node is missing</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
この例では、BSEは、このWebサービスに必須のSOAPリクエスト・メッセージで要素を受信しませんでした。
アダプタでランタイム中に例外が発生すると、BSE内のSOAPエージェントは生成されたSOAPレスポンス内にSOAPフォルト要素を含めます。SOAPフォルト要素には、フォルト・コード要素およびフォルト・ストリング要素が含まれます。フォルト・ストリングには、アダプタのターゲット・システムからのネイティブ・エラー記述が含まれます。アダプタはターゲット・システムのインタフェースおよびAPIを使用するので、例外が発生するかどうかはターゲット・システムのインタフェースまたはAPIによるエラー条件の処理方法によって決定されます。BSE内のSOAPエージェントによってSOAPリクエスト・メッセージがアダプタに渡されるとき、リクエストがそのサービスのWSDLに基づいて無効な場合、アダプタはSOAPフォルトを起こす例外を発生することがあります。アダプタで起こる可能性があるすべてのエラー条件を予期することはほぼ不可能ですが、一般的なエラー条件をアダプタがどのように処理し、どのようにWebサービスのコンシューマ・アプリケーションに公開されるかについて次に説明します。
Oracle Application Adapter for SAP R/3の無効なSOAPリクエスト
Oracle WebLogic Server Application Adapterで、実行されるWebサービスのWSDLに準拠しないSOAPリクエスト・メッセージが受信されると、次のSOAPレスポンスが生成されます。
<?xml version="1.0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Error processing agent [XDSapIfrAgent] - XD[FAIL] SapIFRException: java.sql.SQLException: com.ibi.sapjco3.SapCallableStatement: execute() j java.util.NoSuchElementException</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
SOAPリクエストからの空の結果
OracleAS Adapter for SAPがSOAPリクエスト・メッセージで渡された入力パラメータを使用してSOAPオブジェクトを実行する場合に、そのパラメータがSAP内のレコードと一致しないと、次のSOAPレスポンスが生成されます。
<?xml version="1.0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Error processing agent [XDSapIfrAgent] - XD[FAIL] SapIFRException: java.sql.SQLException: com.ibi.sapjco3.SapCallableStatement: execute() java.sql.SQLException: JCO Error Key: NO_RECORD_FOUND Short Description: com.sap.mw.jco.JCO$AbapException: (126) NO_RECORD_FOUND: NO_RECORD_FOUND</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
SAP R/3への接続の失敗
Webサービスの実行時にOracle Application Adapter for SAP R/3がSAP R/3に接続できない場合、次のSOAPレスポンスが生成されます。
<?xml version="1.0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Error processing agent [XDSapIfrAgent] - XD[RETRY] Connect to SAP gateway failed Connect_PM GWHOST=ESDSUN, GWSERV=sapgw00, ASHOST=ESDSUN, SYSNR=00 LOCATION CPIC (TCP/IP) on local host ERROR partner not reached (host ESDSUN, service 3300) TIME Mon Jun 30 16:01:02 2003 RELEASE 620 COMPONENT NI (network interface) VERSION 36 RC -10 MODULE ninti.c LINE 976 DETAIL NiPConnect2 SYSTEM CALL SO_ERROR ERRNO 10061 ERRNO TEXT WSAECONNREFUSED: Connection refused COUNTER 1</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
無効なSOAPリクエスト
Oracle Application Adapter for SAP R/3で、実行されるWebサービスのWSDLに準拠しないSOAPリクエスト・メッセージが受信されると、次のSOAPレスポンスが生成されます。
<?xml version="1.0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>RPC server connection failed: Connection refused: connect</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Oracle Application Adapter for SAP R/3リクエストからの空の結果
渡された入力パラメータを使用してOracle Application Adapter for SAP R/3でSOAPリクエストを実行する場合に、入力パラメータがターゲット・システム内のレコードと一致しないと、次のSOAPレスポンスが生成されます。
注意: このアダプタの条件では、SOAPフォルトは発生しません。 |
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <m:RunDBQueryResponse xmlns:m="urn:schemas-iwaysoftware-com:iwse" xmlns="urn:schemas-iwaysoftware-com:iwse" cid="2A3CB42703EB20203F91951B89F3C5AF"> <RunDBQueryResult run="1" /> </m:RunDBQueryResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>