ヘッダーをスキップ
Oracle Application Server Adapter for MySAP ERPユーザーズ・ガイド
10g リリース3(10.1.3.4.0)
B53279-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

7 トラブルシューティングとエラー・メッセージ

この章では、MySAP ERPへの接続時の制限事項とその回避方法について説明します。項目は次のとおりです。

この章に示すアダプタ固有のエラーは、アダプタをOracleAS Adapter J2CAで使用しているかOracleAS Adapter Business Services Engine(BSE)構成で使用しているかに関係なく発生する可能性があります。

トラブルシューティング

このトピックでは、MySAP ERPのトラブルシューティング情報を次の4つのカテゴリにわけて説明します。


注意:


トラブルシューティングに関連するログ・ファイル情報は、次の場所にあります。
  • OracleAS Adapter J2CAのトレース情報は、OracleAS_home¥opmn¥logsディレクトリにあります。

  • BSEのトレース情報は、OracleAS_home¥j2ee¥home¥applications¥ws-app-adapter¥ibse¥ibselogsディレクトリにあります。

  • Application Explorerのログ・ファイルは、OracleAS_home¥adapters¥application¥toolsディレクトリにあります。


Application Explorer

デバッグとテストの目的でWindows上でApplication Explorerを使用する場合は、次の場所にあるバッチ・スクリプトae.batをロードします。

OracleAS_home\adapters\application\tools

UNIXの場合は、次の場所にあるシェル・スクリプトiwae.shをロードします。

OracleAS_home/adapters/application/tools
エラー 解決方法
Application Explorerの「アダプタ」ノード・リストにMySAP ERPが表示されない。 sapjco.jarおよびsapjcorfc.dllファイルがlibディレクトリに追加されていることを確認してください。librfc32.dllファイルがWindowsの「system32」フォルダに追加されていることを確認してください。
Application ExplorerからOracleAS Adapter for MySAP ERPに接続できない。

アダプタのアクティブ化で問題が発生しました

次のことを確認します。
  • MySAP ERPが実行中であること。

  • アプリケーション・サーバー名、システム番号およびクライアント番号が正しいこと。

  • MySAP ERPユーザーIDとパスワードが正しいこと。

Application Explorer経由でMySAP ERPターゲットに接続できない。次のエラー・メッセージが表示される。

ターゲット[SAP]の取得中にエラーが発生しました - java.lang.Exception: SAPシステムへのログオン・エラー

MySAP ERPターゲットへの接続時に正しい接続パラメータを入力していることを確認してください。
Application Explorer経由でMySAP ERPシステムに接続できない。次のエラー・メッセージが表示される。

アダプタのアクティブ化で問題が発生しました(com.ibi.sapr3.SapAdapterException: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed Connect_PM GWHOST=isdsrv8, GWSERV=sapgw00, ASHOST=isdsrv8, SYSNR=00 LOCATION CPIC (TCP/IP) on local host ERROR partner not reached (host isdsrv8, service 3300) TIME Fri Aug 27 11:49:14 2004 RELEASE 620 COMPONENT NI (network interface) VERSION 36 RC -10 MODULE ninti.c LINE 979 DETAIL NiPConnect2 SYSTEM CALL SO_ERROR ERRNO 10061 ERRNO TEXT WSAECONNREFUSED: Connection refused COUNTER 1). 詳細はログで確認してください

MySAP ERPが実行中であることと、アプリケーション・サーバーに接続するための正しいパラメータ値を使用していることを確認してください。
MySAP ERPは実行中だが、Application Explorer経由で相手のMySAP ERPシステムに接続できない。次のエラー・メッセージが表示される。

アダプタのアクティブ化で問題が発生しました(com.ibi.sapr3.SapAdapterException: java.lang.ExceptionInInitializerError: JCO.classInitialize(): ミドルウェア・レイヤーcom.sap.mw.jco.rfc.MiddlewareRFCをロードできませんでした JCO.nativeInit(): 動的リンク・ライブラリsapjcorfcを初期化できませんでした [sapjcorfcがjava.library.pathにありません] java.library.path

sapjcorfc.dllファイルがlibディレクトリに追加されていることと、librfc32.dllファイルがWindowsの「system32」フォルダに追加されていることを確認してください。
dllが別のクラスローダに読み込まれている(BSEとJ2CAが同じサーバーにインストールされている)。次のエラー・メッセージが表示される。

com.ibi.sapr3.SapAdapterException: java.lang.ExceptionInInitializerError: JCO.classInitialize(): ミドルウェア・レイヤーcom.sap.mw.jco.rfc.MiddlewareRFCをロードできませんでしたJCO.nativeInit(): 動的リンク・ライブラリsapjcorfcを初期化できませんでした[ネイティブ・ライブラリF:¥iWay55.008.0628¥lib¥sapjcorfc.dllがすでに別のクラスローダにロードされています] java.library.path

sapjco.jarをサーバーのクラスパスに追加してください。
Solaris環境でApplication Explorerを開始できない。次の例外がコンソールにスローされます。

javax.resource.ResourceException: IWAFManagedConnectionFactory: License violation.at com.ibi.afjca.spi.IWAFManagedConnectionFactory.createConnectionFactory(IWAFManagedConnectionFactory.java:98)at com.iwaysoftware.iwae.common.JCATransport.getConnectionFactory(JCATransport.java:133) at com.iwaysoftware.iwae.common.JCATransport.initJCA(JCATransport.java:69)at com.iwaysoftware.iwae.common.JCATransport.<init>(JCATransport.java:62)at com.iwaysoftware.iwae.common.AdapterClient.<init>(AdapterClient.java:85)at com.ibi.bse.ConfigWorker.run(ConfigWorker.java:41)at java.lang.Thread.run(Thread.java:534)

コネクション・ファクトリを作成できませんでした

JAVACMDが、ユーザー・システムに設定されていません。Application Explorerを起動する前に、JAVACMDを次の場所にエクスポートします。

JAVACMD=/<jdk_home>/bin/java<jdk_home>は、使用しているシステムでJDKがインストールされているディレクトリです。

実行時のログオン障害エラー。 ターゲットの作成時に、MySAP ERPシステムに接続するためのパスワードを指定していない場合、またはApplication Explorerの「編集」オプションに指定していない場合は、MySAP ERPに接続できません。接続パスワードがrepository.xmlに保存されていません。Application Explorerの「編集」オプションを使用してパスワードを更新して、アプリケーション・サーバーを再起動してください。
ae.batiaexplorer.batではなく)をアクティブ化してApplication Explorerを起動すると、次の例外が発生します。

java.lang.ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider

これは軽い例外です。アダプタの機能に影響を与えることはありません。次の場所からBouncyCastleファイルをダウンロードしてください。

ftp://ftp.bouncycastle.org/pub


MySAP ERP

エラー 解決方法
リクエストの実行時に次のエラー・メッセージが表示される。

AdapterException: java.lang.Exception: Function module CUSTOMER_GETDETAIL2 does NOT exist.

入力XML文書の構文をチェックし、リモート関数モジュールの名前が正しいこと、MySAP ERPで使用可能なこと、およびアクティブであることを確認してください。
リクエストの実行時に次のエラー・メッセージが表示される。

AdapterException: java.lang.Exception: Object type unknown for business object: CUST

入力XML文書の構文をチェックし、MySAP ERPに存在するビジネス・オブジェクト型が正しいこと、およびアクティブであることを確認してください。文書の名前が正しいことも確認してください。
リクエストの実行時に次のエラー・メッセージが表示される。

AdapterException: java.lang.Exception: Unable to retrieve BAPI name for: CUSTOMER.DETAIL2

入力XML文書の構文をチェックし、BAPIの名前が正しいこと、MySAP ERPで使用可能なこと、およびアクティブであることを確認してください。
リクエストの実行時に次のエラー・メッセージが表示される。

java.lang.RuntimeException: com.sap.mw.jco.JCO$AbapException: (126) OBJECT_UNKNOWN: Basic type or extension does not exist.

入力XML文書の構文をチェックし、IDocタイプまたは拡張子タイプが正しいこと、MySAP ERPで使用可能なこと、およびアクティブであることを確認してください。
リクエストの実行時に次のエラー・メッセージが表示される。

AdapterException: java.lang.Exception: BapiError/BapiAbort: You are not authorized to display customers.

使用中のユーザーIDの権限がMySAP ERPで正しく構成されていることを確認してください。 詳細はMySAP ERP管理者に問い合せてください。


注意:


アクティブ化は、SAPの重要な概念です。オブジェクトがアクティブな状態で存在しない場合、そのオブジェクトは、システムに存在しているように表示されますが使用できません。これは、IDOCおよびSAPビジネス・オブジェクトでは特に重要です。詳細はSAPのドキュメントを参照してください。

OracleAS Adapter J2CA

エラー 解決方法
Application ExplorerでOracleAS Adapter J2CA構成に接続しようとすると、次のエラー・メッセージが表示される。

JCAを初期化できませんでした

右ペインの「詳細」タブで、「ホーム」フィールドに指定したディレクトリが適切なディレクトリ(OracleAS_home¥adapters¥applicationなど)を指していることを確認してください。

BPEL Process Manager

エラー 解決方法
JDeveloperでのMySAP ERPイベント処理プロジェクト(インバウンド)のデプロイにおける、エンドポイント・アクティブ化エラー。 このインバウンドJ2CAサービスで使用するチャネルが、Application Explorerで停止していることを確認してください。テストまたはデバッグ目的でこのチャネルを起動している場合は、BPEL PMサーバーを起動する前に停止する必要があります。エンドポイントのアクティブ化は、BPEL Process Managerによって管理されています。
次のエラー・メッセージがBPEL PMサーバー・コンソールに表示される。

プロセス"TestSAP"(リビジョン"1.0")のコンパイルに失敗しました。<2005-05-18 10:49:53,285> <ERROR><default.collaxa.cube.engine.deployment> <Cube ProcessLoader::create> WSDLの読取りに失敗しました。"WSDLException: faultCode=INVALID_WSDL"のため、"http://127.0.0.1:7777/BPELConsole/wsil/adapters/applications/CUSTOMER_invoke.wsdl?wsdl"でWSDLの読取り中にエラーが発生しました。: http://127.0.0.1:7777/BPELConsole/wsil/adapters/applications/CUSTOMER_invoke.wsdl?wsdlのドキュメントのXMLが無効です: 要素タイプ"P"は、対応する終了タグ"</P>"で終了する必要があります。

指定したWSDLファイルがこのURLに存在し、そのファイルが有効であることを確認してください。

回避方法: WSDLの場所をlocalhost:7777に変更します。デフォルトは、127.0.0.1:7777です。

別の回避方法: IPアドレスを、obsetenv.bat(Windows)またはobsetenv.sh(UNIX)にあるDhttp.nonProxyHostsリストに追加します。

BPELプロセスのデプロイ時に、次の例外がJDeveloperにスローされる。

java.io.FileNotFoundException: ¥BPELConsole¥wsil¥adapters¥applications¥DEBMAS01_receive.wsdl?wsdl(指定されたパスが見つかりません。)

必要なパッチがすべてインストールされていることを確認してください。必要なパッチは、OTN-J(Oracle Technology Network Japan)のWebサイトにリストされ、更新されています。

BSEエラー・メッセージ

このトピックでは、BSEを介してWebサービスを処理する際に発生する可能性がある各種のエラーについて説明します。

BSEでの一般的なエラー処理

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>