ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » SAP Websphere Adapter Issue (sapjco3.dll)

Post new topic  Reply to topic
 SAP Websphere Adapter Issue (sapjco3.dll) « View previous topic :: View next topic » 
Author Message
rglack10
PostPosted: Wed Jul 06, 2011 11:38 pm    Post subject: SAP Websphere Adapter Issue (sapjco3.dll) Reply with quote

Apprentice

Joined: 06 Jul 2011
Posts: 34

Hi,

I am currently attempting to run the SAP connectivity sample from the WMB toolkit. The toolkit is patched to 7.0.0.2 and my machine is a 64bit processor (x64) running a 64bit vista OS.

The issue I am having is when I follow the sample instructions, at deployment time I receive the following error.

"com.ibm.adapter.framework.BaseException

Reason:
Error getting version of the native layer: java.lang.UnsatisfiedLinkError: sapjco3 (<dir path>\sapjco3.dll is not a valid Win32 application. )

I then tried to create my own adapter and using the sapjco3.jar and sapjco3.dll from my SAP admin followed the instruction to declare their path etc. The error is the same as above and here is a selection from the broker syslog and broker eclipse log.

SYSLOG

"( MB7BROKER.SapSample ) An adapter error occurred during the processing of a message. The adapter error message is ''Error getting the version of the native layer: java.lang.UnsatisfiedLinkError: sapjco3 (.\sapjco3.dll is not a valid Win32 application. )
''.

This error was detected by the adapter. The following message describes the diagnostic information that is provided by the adapter ''Error getting the version of the native layer: java.lang.UnsatisfiedLinkError: sapjco3 (.\sapjco3.dll is not a valid Win32 application. )
''.

Inspect the diagnostic information that is provided by the adapter. Further diagnostic information might be written to user trace. Inspect user trace for further information. "

ECLIPSE LOG

"eclipse.buildId=unknown
java.fullversion=JRE 1.6.0 IBM J9 2.4 Windows Vista x86-32 jvmwi3260sr7-20091125_47905 (JIT enabled, AOT enabled)
J9VM - 20091125_047905
JIT - r9_20091123_13891
GC - 20091111_AA
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB
Framework arguments: -showlocation -product com.ibm.etools.msgbroker.tooling.ide
Command-line arguments: -os win32 -ws win32 -arch x86 -showlocation -product com.ibm.etools.msgbroker.tooling.ide

!ENTRY com.ibm.adapter.framework 4 4 2011-07-06 20:08:03.246
!MESSAGE Error getting the version of the native layer: java.lang.UnsatisfiedLinkError: sapjco3 (C:\SAP_JCO\sapjco3.dll is not a valid Win32 application. )
!STACK 0
java.lang.ExceptionInInitializerError: Error getting the version of the native layer: java.lang.UnsatisfiedLinkError: sapjco3 (C:\SAP_JCO\sapjco3.dll is not a valid Win32 application. )
at com.sap.conn.jco.rt.MiddlewareJavaRfc.<clinit>(Unknown Source)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(Unknown Source)
at com.sap.conn.jco.rt.DefaultJCoRuntime.initialize(Unknown Source)
at com.sap.conn.jco.rt.JCoRuntimeFactory.<clinit>(Unknown Source)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(Unknown Source)
at com.sap.conn.jco.rt.RuntimeEnvironment.<init>(Unknown Source)
at java.lang.J9VMInternals.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Unknown Source)
at com.sap.conn.jco.ext.Environment.getInstance(Unknown Source)
at com.sap.conn.jco.ext.Environment.registerDestinationDataProvider(Unknown Source)
at com.ibm.j2ca.sap.JCo3DestinationDataProvider.<clinit>(Unknown Source)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(Unknown Source)
at com.ibm.j2ca.sap.SAPEMDManagedConnection.<init>(Unknown Source)
at com.ibm.j2ca.sap.SAPEMDManagedConnectionFactory.createManagedConnection(Unknown Source)
at com.ibm.j2ca.base.internal.WBIDefaultConnectionManager.allocateConnection(Unknown Source)
at com.ibm.j2ca.base.WBIConnectionFactory.getConnection(Unknown Source)
at com.ibm.j2ca.extension.emd.discovery.connection.WBIMetadataConnectionImpl.<init>(Unknown Source)
at com.ibm.j2ca.sap.emd.discovery.connection.SAPOutboundConnectionType.openMetadataConnection(Unknown Source)
at com.ibm.adapter.emd.internal.discovery.EMDDiscoveryAgent.initialize(Unknown Source)
at com.ibm.ccl.discovery.ui.internal.threads.InitializeThread.run(Unknown Source)

"

Interestingly, after attempting the first click of "next" and trying the same action again this error then occurs...

"( MB7BROKER.SapSample ) The adapter was unable to locate a required Java library.

The most likely cause of this exception is that the client libraries for the Enterprise Information System (EIS) are missing from the system. The EIS client libraries are not supplied with the message broker product and have to be obtained separately from the EIS provider. If the EIS client libraries have been installed and the broker has been configured to use them then make sure they have the correct permissions and that configurable service points to the correct location. The missing resource which caused this problem was: ''com.ibm.j2ca.sap.ext.JCo3ServerDataProvider (initialization failure)''. If the problem persists then it might be due to an internal problem with the product.

Obtain the missing client libraries from the EIS vendor and configure the broker to have access to these files using mqsichangeproperties command. If you are using SAP then ensure you have JCO3 and not JCO2. Consult the documentation for the exact details (topic an09140). If this is not the cause of the missing class exception then contact IBM support. "


As part of own investigation I have looked at the sapjco3.dll file. Using the dependency walker application I verified it is a 64 bit .dll and the file is valid with one missing delay load dependency dll, which I understand shouldn't be an issue.

The next area I looked at was the error itself "sapjco3.dll is not a valid Win32 application". I can see that I am running the Message Broker toolkit as a 32 bit (x86) application on a 64bit (x64) OS. So the basic facts look like the SAP file is 64 bit and cannot be executed by the toolkit which is a 32 bit app running under the x86 architecture on an x64 64 bit OS. But, I don't know if this is the case as some .dll are executable across both 32 and 64 bit OS. Also, why would IBM not document this and how could it work as there is no 64 bit Message Broker Toolkit installation for Windows Vista.

I had found some articles suggesting the issue was with a dependency .dll file which was not at the required level. I am continuing my investigation today but wonder if anyone has come up against the same issue or can shed some light?

If anyone could also attempt to run the sample perhaps or even create an adapter using the SAP files as you don't need SAP connectivity details, these can be mocked to create the adapter (before it is deployed etc.).

Any help would be greatly appreciated.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Thu Jul 07, 2011 5:00 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

You may like to try to install the updated Visual C components from Microsoft. SAP JCo 3.0.5 and later requires you to apply a Microsoft hotfix.

SAP Note 684106 contains the C++ run time DLLs for the SAP JCo 3.x library, which are a prerequisite for running the libraries. From the SAP Note 684106 page, download the r3dllinstll.zip file and save it to a directory on your system. Expand the contents of this .zip file and run either r3dllins.exe for a GUI install or r3dllcon.exe for console mode, to install the required run time libraries on your system.

SAP Note 1375494 describes the details of the Microsoft ATL libraries security patch. From the SAP Note 1375494 page, download the ATL_patch_ms_0935_1.zip file and save it to a directory on your system. Expand the contents of this .zip file and open the PDF that is provided.

The Microsoft hotfix to be applied is KB973544 in the MS09-035 security bulletin. Read the entire contents of hotfix issues KB969706 and KB973544.
1.Download Microsoft hotfix KB973544 from the following URL:

http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx
Note:

Select the correct ATL library version with enhanced security. Select 32- or 64-bit depending on your system. Ensure that you select the correct system type.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
smdavies99
PostPosted: Thu Jul 07, 2011 5:31 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Quote:
The next area I looked at was the error itself "sapjco3.dll is not a valid Win32 application". I can see that I am running the Message Broker toolkit as a 32 bit (x86) application on a 64bit (x64) OS. So the basic facts look like the SAP file is 64 bit and cannot be executed by the toolkit which is a 32 bit app running under the x86 architecture on an x64 64 bit OS. But, I don't know if this is the case as some .dll are executable across both 32 and 64 bit OS. Also, why would IBM not document this and how could it work as there is no 64 bit Message Broker Toolkit installation for Windows Vista.


Are you running the 64bit version of the broker runtime?
Have you download the correct 64bit sapjco libraries from SAP.com (you will need your companies SAP Id to getthem)?
Have you unpacked the libraries and then created the EISProviders configurable service that points at the 64 bit libraries?
Is this configurable service correct?
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
rglack10
PostPosted: Thu Jul 07, 2011 5:39 am    Post subject: Reply with quote

Apprentice

Joined: 06 Jul 2011
Posts: 34

lancelotlinc wrote:
You may like to try to install the updated Visual C components from Microsoft. SAP JCo 3.0.5 and later requires you to apply a Microsoft hotfix.

SAP Note 684106 contains the C++ run time DLLs for the SAP JCo 3.x library, which are a prerequisite for running the libraries. From the SAP Note 684106 page, download the r3dllinstll.zip file and save it to a directory on your system. Expand the contents of this .zip file and run either r3dllins.exe for a GUI install or r3dllcon.exe for console mode, to install the required run time libraries on your system.

SAP Note 1375494 describes the details of the Microsoft ATL libraries security patch. From the SAP Note 1375494 page, download the ATL_patch_ms_0935_1.zip file and save it to a directory on your system. Expand the contents of this .zip file and open the PDF that is provided.

The Microsoft hotfix to be applied is KB973544 in the MS09-035 security bulletin. Read the entire contents of hotfix issues KB969706 and KB973544.
1.Download Microsoft hotfix KB973544 from the following URL:

http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx
Note:

Select the correct ATL library version with enhanced security. Select 32- or 64-bit depending on your system. Ensure that you select the correct system type.


Thank you for the response. I have already attempted to install the C++ runtime fix but I will follow your suggestions again I have passed this to our SAP admin to get the notes and downloads as I don't have direct access to the market place. I will let you know if this works...
Back to top
View user's profile Send private message
rglack10
PostPosted: Thu Jul 07, 2011 6:00 am    Post subject: Reply with quote

Apprentice

Joined: 06 Jul 2011
Posts: 34

smdavies99 wrote:
Quote:
The next area I looked at was the error itself "sapjco3.dll is not a valid Win32 application". I can see that I am running the Message Broker toolkit as a 32 bit (x86) application on a 64bit (x64) OS. So the basic facts look like the SAP file is 64 bit and cannot be executed by the toolkit which is a 32 bit app running under the x86 architecture on an x64 64 bit OS. But, I don't know if this is the case as some .dll are executable across both 32 and 64 bit OS. Also, why would IBM not document this and how could it work as there is no 64 bit Message Broker Toolkit installation for Windows Vista.


Are you running the 64bit version of the broker runtime?
Have you download the correct 64bit sapjco libraries from SAP.com (you will need your companies SAP Id to getthem)?
Have you unpacked the libraries and then created the EISProviders configurable service that points at the 64 bit libraries?
Is this configurable service correct?


I have installed the 64 bit version of the broker runtime yes, but it still installs as an (x86) 32 bit application by the looks of things. To confirm this I re-downloaded the patest fix pack of 7.0.0.2 from the support portal for windows 64 bit and it still attempts to install under Program files x86... I originally installed from the master zip files whic auto discovers the system etc but in any case its all running as x86 32 bit on my x64 64 bit vista OS as far as I can see...

The SAP admin gave me the sapjco dll and jar and like I said I have used tools to analyse the dll and it is valid and has all its dependencies and its a 64 bit dll.

Yes I have unpacked the libraries and created the EISProviders configurable service that points at the 64 bit libraries it is at this stage when I attempt to confirm this I get the error described that the sapjco3.dll file is not a 32 bit appklication.

Even when following the provided sample I get the error so I am making an assumption that the configurable service is correct.

Also I'm not sure the runtime is involved at the stage of creatiung the EIS SAP adapter in the toolkit as there's no interaction at that stage?

I have spent quite a few hours on this chasing leads here and there at the SAP end, the hardware end, the OS end etc... but alas to no avail as of yet..
Back to top
View user's profile Send private message
smdavies99
PostPosted: Thu Jul 07, 2011 6:49 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

I seem to recall reading in the release notes about which Versions of Windows would run a 64bit EG. Perhaps vista is 32bit only? Have you checked?

If that is the case (64bit vista can only run 32bit EG's) then have your tried the 32 bit runtime?
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
rglack10
PostPosted: Mon Jul 11, 2011 4:55 am    Post subject: Reply with quote

Apprentice

Joined: 06 Jul 2011
Posts: 34

smdavies99 wrote:
I seem to recall reading in the release notes about which Versions of Windows would run a 64bit EG. Perhaps vista is 32bit only? Have you checked?

If that is the case (64bit vista can only run 32bit EG's) then have your tried the 32 bit runtime?


Hi,

The final solution was very simple.. It turns out that the SAP admin guys provided a 64bit installation of the SAPJCo files and stated categorically that there wasn't a 32bit installation available when there was. Downloaded and it works.. Very frustrating to waste so much time..

Thanks for your input.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Mon Jul 11, 2011 5:01 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Thanks for posting the resolution. Can you poke those SAP guys in the eye for me?
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
rglack10
PostPosted: Mon Jul 11, 2011 6:49 am    Post subject: Reply with quote

Apprentice

Joined: 06 Jul 2011
Posts: 34

lancelotlinc wrote:
Thanks for posting the resolution. Can you poke those SAP guys in the eye for me?


Never one to tar multiple people with a single brush but so far poking them in the eye is the least I would like to do.. I've never come across people who the phrases

"dragging their heels"

and

"being unecessarily defensive to the point of intentional disruption"

come to mind.. What has taken this long I could have solved in 5 minutes if they had given me access or been more cooperative...
Back to top
View user's profile Send private message
smdavies99
PostPosted: Mon Jul 11, 2011 7:20 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

rglack10 wrote:

come to mind.. What has taken this long I could have solved in 5 minutes if they had given me access or been more cooperative...


Welcome to the wonderful world of dealing with SAP support.
S = Secure
A = and
P = Private.

The fact that you need to be a SAP customer to see pretty well anything technical on their web site explains their metality.

A SAP server internally does things in some really strange ways. I guess this gets transferred to the Admins. Debugging a remote Function Call is almost as enjoyable experience as having a wisdom tooth extracted.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Jul 11, 2011 1:01 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Is the java you are running in your eg 32 or 64 bits?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
rglack10
PostPosted: Mon Jul 11, 2011 10:43 pm    Post subject: Reply with quote

Apprentice

Joined: 06 Jul 2011
Posts: 34

fjb_saper wrote:
Is the java you are running in your eg 32 or 64 bits?


The java is 32 bits... Hence the need for the 32 bit version of the dll. Previously even though I had the 64bit OS I was still using the 32 bit java if you like.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » SAP Websphere Adapter Issue (sapjco3.dll)
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.