トラブルシューティング手法とセルフ・ヘルプ情報は、問題を迅速に識別して解決するのに役立ちます。 このトピックでは、SAP コネクターで起こった問題に対して有力であると思われる解決策について説明します。
フィールド | 入力パラメーター (非スターター・アクティビティー) | 出力パラメーター (スターターおよび非スターター・アクティビティー) |
---|---|---|
日付 | yyyy-mm-dd または yyyymmdd |
yyyymmdd |
時刻 | hh:mm:ss または hhmmss |
hhmmss |
SAP コネクター・バージョン 6.0.x 以前のバージョンの日付および時刻フィールド値の入出力パラメーターでサポートされる形式は、それぞれ yyyy-mm-dd および hh:mm:ss です。
問題: 同じ SAP RFC プログラム ID を使用して、 「RFC の受信」アクティビティーと「IDOC の受信」アクティビティーをともなうオーケストレーションをデプロイするときに、次の例外がスローされます。
java.lang.RuntimeException: An attempt to start a JCoIDocServer failed. There might be an existing JCoServer with the same server configuration, else try restarting your server
at com.ibm.j2ca.sap.inbound.SapJCoServerBuilder.verfiyServerConfiguration(SapJCoServerBuilder.java:403)
at com.ibm.j2ca.sap.inbound.SapJCoServerBuilder.createServer(SapJCoServerBuilder.java:96)
at com.ibm.j2ca.sap.inbound.SAPEventListenerManager.buildEventListener(SAPEventListenerManager.java:149)
at com.ibm.j2ca.sap.inbound.SAPEventListenerManager.startEventListeners(SAPEventListenerManager.java:132)
at com.ibm.j2ca.sap.inbound.EndpointManager.addEndpoint(EndpointManager.java:68)
at com.ibm.j2ca.sap.SAPResourceAdapter.endpointActivation(SAPResourceAdapter.java:266)
at com.approuter.module.sap.activity.ReceiveIDOCActivity.activate(ReceiveIDOCActivity.java:222)
at com.approuter.maestro.activities.BaseModule.activate(BaseModule.java:296)
at com.approuter.maestro.vm.Program.start(Program.java:796)
at com.approuter.maestro.vm.Kernel.startOrchestration(Kernel.java:704)
at com.approuter.maestro.management.Loader$1.run(Loader.java:461)
at java.lang.Thread.run(Thread.java:736)
原因: SAP JCo では、指定された一連のサーバー構成を持つ JCoServer の 1 つのインスタンスのみを Java 仮想マシン (JVM) 内で実行できます。同じサーバー構成を持つ別の JCoServer を 同じ JVM で実行することはできません。JCo は、サーバーを再始動できないことを示すエラーをスローします。 「IDOC の受信」アクティビティーと「RFC の受信」アクティビティーは、 オーケストレーションでの同じ SAP プログラム ID の使用をサポートしません。
解決方法: 異なる SAP プログラム ID を使用して、「RFC の受信」アクティビティーと 「IDOC の受信」アクティビティーを持つオーケストレーションをデプロイし、 IDOC と RFC 用に個別のエンドポイントを作成するようにしてください。
SAP コネクターの使用時に「202 会話の最大数を超えました (Maximum number of 202 conversations exceeded)」というエラーが表示される 場合は、以下の構成を行うことが推奨されています。
エラー
LOCATION CPIC (TCP/IP) on local host with Unicode
ERROR max no of 202 conversations exceeded
TIME <Day> <Date> <Time> <Year>
RELEASE 720
COMPONENT CPIC (TCP/IP) with Unicode
以下の推奨は、 ロードと並列要求の数に応じて異なります。
SAP-Gateway
gw/max_conn=2000, gw/max_sys=1200
gw/max_overflow_size =40000000, gw/max_shm_req = 200 (this is to adjust the memory allocation)
CPIC_MAX_CONV=5000
スケジュール A
move to line
# Version of java currently in use.
if [ -z $JAVA_HOME ]; then
JAVA_HOME=/usr/java/default
fi
JAVA="${JAVA_HOME}/bin/java"
## maximum SAP conversations allowed
export CPIC_MAX_CONV=500
問題: 前のバージョンのアプライアンスで実行されている SAP プロジェクトがあるとき、アプライアンスをバージョン 7.0 以降にアップグレードすると、SAP プロジェクトが開始せず、 以下のエラーが発生します。
Start of Orchestration config-
url://SAP_BAPI/1.0/Default/Orchestrations/Orchestration failed:
java.lang.ExceptionInInitializerError: Error
getting the version of the native layer:
java.lang.UnsatisfiedLinkError: sapjco3
(/usr/ironhide/lib/thirdparty/libsapjco3.so:
wrong ELF class: ELFCLASS32).
Required SAP JCO library is not found.
Install version 3.x SAP JCO library (.dll or .so based on platform)
java.lang.UnsatisfiedLinkError: sapjco3 (/usr/ironhide/lib/thirdparty/libsapjco3.so: wrong ELF class: ELFCLASS32)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1030)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:994)
at java.lang.System.loadLibrary(System.java:507)
at com.sap.conn.jco.rt.DefaultJCoRuntime.loadLibrary(DefaultJCoRuntime.java:481)
at com.sap.conn.jco.rt.DefaultJCoRuntime.registerNativeMethods(DefaultJCoRuntime.java:347)
at com.sap.conn.jco.rt.JCoRuntime.registerNatives(JCoRuntime.java:1108)
at com.sap.conn.rfc.driver.CpicDriver.<clinit>(CpicDriver.java:954)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at com.sap.conn.rfc.engine.DefaultRfcRuntime.getVersion(DefaultRfcRuntime.java:43)
at com.sap.conn.rfc.api.RfcApi.RfcGetVersion(RfcApi.java:237)
at com.sap.conn.jco.rt.MiddlewareJavaRfc.<clinit>(MiddlewareJavaRfc.java:215)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at com.sap.conn.jco.rt.DefaultJCoRuntime.initialize(DefaultJCoRuntime.java:77)
at com.sap.conn.jco.rt.JCoRuntimeFactory.<clinit>(JCoRuntimeFactory.java:23)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:182)
at com.sap.conn.jco.JCo.createJCo(JCo.java:52)
at com.sap.conn.jco.JCo.<clinit>(JCo.java:26)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:182)
at com.approuter.module.sap.SAPActivator.checkSAPInstalled(SAPActivator.java:101)
at com.approuter.module.sap.activity.SAPBaseActivity.checkSapSetup(SAPBaseActivity.java:498)
at com.approuter.module.sap.activity.SAPBaseActivity.generateSchemas(SAPBaseActivity.java:172)
at com.approuter.module.sap.activity.SapSendRfcData.activate(SapSendRfcData.java:112)
at com.approuter.maestro.activities.BaseModule.activate(BaseModule.java:301)
at com.approuter.maestro.vm.Program.start(Program.java:768)
at com.approuter.maestro.vm.Kernel.startOrchestration(Kernel.java:739)
at com.approuter.maestro.management.Loader$1.run(Loader.java:455)
at java.lang.Thread.run(Thread.java:738)
java.lang.ExceptionInInitializerError: Error getting the version of the native layer: java.lang.UnsatisfiedLinkError: sapjco3 (/usr/ironhide/lib/thirdparty/libsapjco3.so: wrong ELF class: ELFCLASS32)
at com.sap.conn.jco.rt.MiddlewareJavaRfc.<clinit>(MiddlewareJavaRfc.java:227)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at com.sap.conn.jco.rt.DefaultJCoRuntime.initialize(DefaultJCoRuntime.java:77)
at com.sap.conn.jco.rt.JCoRuntimeFactory.<clinit>(JCoRuntimeFactory.java:23)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:182)
at com.sap.conn.jco.JCo.createJCo(JCo.java:52)
at com.sap.conn.jco.JCo.<clinit>(JCo.java:26)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:182)
at com.approuter.module.sap.SAPActivator.checkSAPInstalled(SAPActivator.java:101)
at com.approuter.module.sap.activity.SAPBaseActivity.checkSapSetup(SAPBaseActivity.java:498)
at com.approuter.module.sap.activity.SAPBaseActivity.generateSchemas(SAPBaseActivity.java:172)
at com.approuter.module.sap.activity.SapSendRfcData.activate(SapSendRfcData.java:112)
at com.approuter.maestro.activities.BaseModule.activate(BaseModule.java:301)
at com.approuter.maestro.vm.Program.start(Program.java:768)
at com.approuter.maestro.vm.Kernel.startOrchestration(Kernel.java:739)
at com.approuter.maestro.management.Loader$1.run(Loader.java:455)
at java.lang.Thread.run(Thread.java:738)
2013-08-22 09:18:25.013 SEVERE [T-10] [orc:SAP_BAPI/1.0/Default/Orchestrations/Orchestration] [com.approuter.module.common.util.LogHelper] Required SAP JCO native library is not found. Install version 3.x SAP JCO native library(.dll or .so based on platform).
java.lang.RuntimeException: java.lang.ExceptionInInitializerError: Error getting the version of the native layer: java.lang.UnsatisfiedLinkError: sapjco3 (/usr/ironhide/lib/thirdparty/libsapjco3.so: wrong ELF class: ELFCLASS32)
at com.approuter.module.sap.activity.SAPBaseActivity.checkSapSetup(SAPBaseActivity.java:509)
at com.approuter.module.sap.activity.SAPBaseActivity.generateSchemas(SAPBaseActivity.java:172)
at com.approuter.module.sap.activity.SapSendRfcData.activate(SapSendRfcData.java:112)
at com.approuter.maestro.activities.BaseModule.activate(BaseModule.java:301)
at com.approuter.maestro.vm.Program.start(Program.java:768)
at com.approuter.maestro.vm.Kernel.startOrchestration(Kernel.java:739)
at com.approuter.maestro.management.Loader$1.run(Loader.java:455)
at java.lang.Thread.run(Thread.java:738)
Caused by: java.lang.ExceptionInInitializerError: Error getting the version of the native layer: java.lang.UnsatisfiedLinkError: sapjco3 (/usr/ironhide/lib/thirdparty/libsapjco3.so: wrong ELF class: ELFCLASS32)
at com.sap.conn.jco.rt.MiddlewareJavaRfc.<clinit>(MiddlewareJavaRfc.java:227)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at com.sap.conn.jco.rt.DefaultJCoRuntime.initialize(DefaultJCoRuntime.java:77)
at com.sap.conn.jco.rt.JCoRuntimeFactory.<clinit>(JCoRuntimeFactory.java:23)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:182)
at com.sap.conn.jco.JCo.createJCo(JCo.java:52)
at com.sap.conn.jco.JCo.<clinit>(JCo.java:26)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:182)
at com.approuter.module.sap.SAPActivator.checkSAPInstalled(SAPActivator.java:101)
at com.approuter.module.sap.activity.SAPBaseActivity.checkSapSetup(SAPBaseActivity.java:498)
原因:
前のバージョンの Cast Iron アプライアンス (バージョン6.3 以前) では、32 ビット SAP JCO ライブラリーが使用されていました。 Cast Iron アプライアンスのバージョン 7.0 以降では、 64 ビット SAP JCO ライブラリーを使用する必要があります。
解決方法:
以下のステップを実行することで、32 ビット SAP JCO ライブラリーの sapjco3.jar と libsapjco3.so を削除し、64 ビット SAP JCO ライブラリーをロードします。
SAP JCO ライブラリーのアップグレード: