この章では、mySAP ERPへの接続時の制限事項とその回避方法について説明します。項目は次のとおりです。
この章に示すアダプタ固有のエラーは、アダプタをOracleAS Adapter J2CAで使用しているかOracleAS Adapter Business Services Engine(BSE)構成で使用しているかに関係なく発生する可能性があります。
このトピックでは、mySAP ERPのトラブルシューティング情報を次の4つのカテゴリにわけて説明します。
Application Explorer
mySAP ERP
OracleAS Adapter J2CA
BSE
Application Explorer
デバッグとテストの目的でWindows上でApplication Explorerを使用する場合は、次の場所にあるバッチ・スクリプトae.batをロードします。
OracleAS_home\adapters\application\tools
UNIXの場合は、次の場所にあるシェル・スクリプトae.shをロードします。
OracleAS_home/adapters/application/tools
mySAP ERP
|
注意: アクティブ化は、SAPの重要な概念です。 オブジェクトがアクティブな状態で存在しない場合、そのオブジェクトは、システムに存在しているように表示されますが使用できません。 これは、IDOCおよびSAPビジネス・オブジェクトでは特に重要です。 詳細はSAPのドキュメントを参照してください。 |
OracleAS Adapter J2CA
| エラー | 解決方法 |
|---|---|
| Application ExplorerでOracleAS Adapter J2CA構成に接続しようとすると、次のエラー・メッセージが表示される。
|
右ペインの「詳細」タブで、「ホーム」フィールドに指定したディレクトリが適切なディレクトリ(OracleAS_home¥adapters¥applicationなど)を指していることを確認してください。 |
BPEL Process Manager
| エラー | 解決方法 |
|---|---|
| JDeveloperでのmySAP ERPイベント処理プロジェクト(インバウンド)のデプロイにおける、エンドポイント・アクティブ化エラー。 | このインバウンドJ2CAサービスで使用するチャネルが、Application Explorerで停止していることを確認してください。 テストまたはデバッグ目的でこのチャネルを起動している場合は、BPEL PMサーバーを起動する前に停止する必要があります。 エンドポイントのアクティブ化は、BPEL Process Managerによって管理されています。 |
| 次のエラー・メッセージがBPEL PMサーバー・コンソールに表示される。
|
指定したWSDLファイルがこのURLに存在し、そのファイルが有効であることを確認してください。
回避方法: WSDLの場所を 別の回避方法: IPアドレスを、 |
| BPELプロセスのデプロイ時に、次の例外がJDeveloperにスローされる。
|
必要なパッチがすべてインストールされていることを確認してください。 必要なパッチは、OTN-J(Oracle Technology Network Japan)のWebサイトにリストされ、更新されています。 |
このトピックでは、BSEを介してWebサービスを処理する際に発生する可能性がある各種のエラーについて説明します。
BSEには、アダプタ・フレームワークへのSOAPゲートウェイとしての機能、および一部のアダプタ用エンジンとしての機能があります。 設計時と実行時には、アダプタを使用するWebサービスの実行中に、様々な条件が原因でBSEにエラーが発生する可能性があります。これらの条件とそれに伴うエラーの一部には、アダプタに関係なく同様に表示されるものと、使用中のアダプタに応じて異なる方法で表示されるものがあります。 このトピックでは、一般的なエラー条件のいくつかについて、それらが発生した場合に予想できる状況をアダプタ別に説明します。通常、BSE内のSOAPゲートウェイ(エージェント)が、SOAPリクエスト・メッセージをWebサービスに必要なアダプタに渡します。エラーが発生した場合の表示方法は、アダプタおよびアダプタで使用されているAPIまたはインタフェースに応じて異なります。一部の使用例では、SOAPゲートウェイによりSOAP障害が発生します。通常は、BSE内のSOAPエージェントが無効なSOAPリクエストを受信すると、SOAPレスポンス内でSOAP障害要素が生成されます。SOAP障害要素には、障害文字列と障害コードの要素が含まれます。障害コードには、SOAPエージェント・エラーの説明が含まれています。
BSEが無効なSOAPリクエストを受信すると、次の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サービスのWSDLに必須の要素をSOAPリクエスト・メッセージで受信していません。
アダプタの実行中に例外が発生すると、BSE内のSOAPエージェントが生成SOAPレスポンスにSOAP障害要素を生成します。SOAP障害要素には、障害コードと障害文字列の要素が含まれます。障害文字列には、アダプタ・ターゲット・システム固有のエラー記述が含まれています。アダプタはターゲット・システムのインタフェースとAPIを使用するため、例外が発生するかどうかは、ターゲット・システムのインタフェースまたはAPIがエラー条件を処理する方法によって決定します。 SOAPリクエスト・メッセージがBSE内のSOAPエージェントによってアダプタに渡され、そのリクエストが該当サービスのWSDLに基づいて無効となる場合は、アダプタに例外が発生してSOAP障害となる可能性があります。アダプタに発生するエラー条件をすべて予想するのはほぼ不可能ですが、ここではアダプタにおける一般的なエラー条件の処理方法と、Webサービスのコンシューマ・アプリケーションへの表示方法について説明します。
OracleAS Adapter for MySAP ERPの無効なSOAPリクエスト
OracleAS Adapter for MySAP ERPが実行中の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.sapjco.SapCallableStatement: execute() j java.util.NoSuchElementException</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
SOAPリクエストからの空の結果
OracleAS Adapter for MySAP ERPがSOAPリクエスト・メッセージで渡された入力パラメータを使用してmySAP ERPオブジェクトを実行する場合に、そのパラメータがmySAP ERP内のレコードと一致しないと、次の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.sapjco.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>
mySAP ERPへの接続失敗
OracleAS Adapter for MySAP ERPがWebサービスの実行時にmySAP ERPに接続できない場合は、次の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リクエスト
OracleAS Adapter for MySAP ERPが実行中の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>
OracleAS Adapter for MySAP ERPリクエストからの空の結果
OracleAS Adapter for MySAP ERPが渡された入力パラメータを使用して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>