Missing jar files in WmEJBAdapter for WebSphere 6

Missing jar files in WmEJBAdapter for WebSphere 6

  1. I am unable to enable connection to the WmEJBAdapter.
    It appears that some WebSphere jar files are missing.

I installed WebSphere 6.0 and configured a EJB connection…

  1. When I try to enable the EJB connection via IS, I get the following error.

Error encountered
[ART.118.5042] Adapter Runtime (Connection):
Unable to enable connection resource webSphereDemoConnection:WebSphereEJBConnection.
[ART.118.5063] Adapter Runtime (Connection):
Unable to start connection webSphereDemoConnection:WebSphereEJBConnection: after 1 attempt(s).
[ART.118.5036] Adapter Runtime (Connection):
Unable to configure connection manager.
[ADA.640.3006] Failed to get InitialContext
Cannot instantiate class: com.ibm.websphere.naming.WsnInitialContextFactory

  1. The following errors were reported in SERVER.LOG when I attempted to enable the WmEJBAdapter connection.

Cannot instantiate class:
com.ibm.websphere.naming.WsnInitialContextFactory
2006-10-07 13:54:57 EDT [ADA.0640.3998E]
javax.naming.NamingException explanation:

Cannot instantiate class: com.ibm.websphere.naming.WsnInitialContextFactory

2006-10-07 13:54:57 EDT [ADA.0640.3999E]
javax.naming.NamingException root cause:
com.ibm.websphere.naming.WsnInitialContextFactory
2006-10-07 13:54:57 EDT [ART.0114.1007E] Adapter Runtime:
Error Logged. See Error log for details. Error:
[ART.118.5036] Adapter Runtime (Connection):
Unable to configure connection manager.
[ADA.640.3006] Failed to get InitialContext
Cannot instantiate class:
com.ibm.websphere.naming.WsnInitialContextFactory
2006-10-07 13:54:57 EDT [ART.0114.1007E] Adapter Runtime:
Error Logged. See Error log for details. Error:

[ART.118.5042] Adapter Runtime (Connection):
Unable to enable connection resource
webSphereDemoConnection:WebSphereEJBConnection.
[ART.118.5063] Adapter Runtime (Connection):
Unable to start connection webSphereDemoConnection:
webSphereEJBConnection: after 1 attempt(s).
[ART.118.5036] Adapter Runtime (Connection):
Unable to configure connection manager.
[ADA.640.3006] Failed to get InitialContext

Cannot instantiate class:
com.ibm.websphere.naming.WsnInitialContextFactory

  1. When configuring for EJB I tried to follow the instruction in
    webMethods_Enterprise_JavaBeans_Adapter_Installation_Guide_6.0.pdf.

The instructions say to copy the following files

from: WebSphere Server 6.0\lib directory
to: webMethods6\packages\WmEJBAdapter\code\jars directory.

But only 2 of the 19 jar files were available (see below) in the WebSphere directories.

?? admin.jar
OK bootstrap.jar
?? ecutils.jar
?? ejbportable.jar
?? emf.jar
?? ffdc.jar
?? idl.jar
?? iwsorb.jar
OK j2ee.jar
?? management.jar
?? naming.jar
?? namingclient.jar
?? ras.jar
?? runtimefw.jar
?? runtime.jar
?? txClient.jar
?? txClientPrivate.jar
?? utils.jar
?? wsexception.jar

  1. I made the following setting in the SERVER.BAT file.

set PREPENDCLASSES=

set FILE_LOCATION=C:\webMethods6\IntegrationServer\packages\WmEJBAdapter\code\jars
set APPENDCLASSES=
set APPENDCLASSES=%FILE_LOCATION%\admin.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\ecutils.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\ejbportable.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\emf.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\ffdc.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\idl.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%n\iwsorb.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\j2ee.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\management.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\naming.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\namingclient.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\ras.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\runtime.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\runtimefw.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\txClient.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\txClientPrivate.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\utils.jar
set APPENDCLASSES=%APPENDCLASSES%:%FILE_LOCATION%\wsexception.jar

rem ############################################

#########################
rem
rem Items in PREPEND_SYSTEM_CLASSPATH will be added to the classpath before proxy.jar
rem Items in APPEND_SYSTEM_CLASSPATH will be added to the absolute
end of the CLASSPATH
rem
rem #############################################

set PREPEND_SYSTEM_CLASSPATH=
set APPEND_SYSTEM_CLASSPATH=
set APPEND_SYSTEM_CLASSPATH=%FILE_LOCATION%\bootstrap.jar

My error, I was using WebSphere 6.1 with the installation instructions for 6.0 (there is no installation doc for 6.1). So I removed WebSphere 6.1 and installed WebSphere 6.0. All the required jar files are available as documented.

I was able to configure a EJB connection, but got the following error when I tried to create an adapter service using that connection.

Oct 16, 2006 5:50:30 PM com.ibm.ws.naming.util.Helpers
WARNING: jndiGetObjInstNoop
com.wm.adk.error.AdapterException: [ADA.640.5018] EJBDescriptorCache is null or empty
at com.wm.adk.WmAdapter.createAdapterException(WmAdapter.java:100)
at com.wm.adapter.wmejb.metadata.MetadataCommon.getDescriptorCache(MetadataCommon.java:97)
at com.wm.adapter.wmejb.metadata.JNDILookupName.jndiNameLookup(JNDILookupName.java:109)
at com.wm.adapter.wmejb.service.FetchEJB.serviceResourceDomainLookup(FetchEJB.java:295)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java:391)
at com.wm.adapter.wmejb.connection.WmEJBConnection.adapterResourceDomainLokup(WmEJBConnection.java:304)
at com.wm.pkg.art.metadata.ResourceDomainServiceProvidor.doLookupResourceDomainServiceProvidor.java:61)
at com.wm.pkg.art.metadata.InteractionMetadataService.resourceDomainLookupVaues(InteractionMetadataService.java:249)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:58)
at sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java:391)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:322)
at com.wm.app.b2b.server.invoke.InvokeManager.processInvokeManager.java:612)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.processServiceCompletionmpl.java:226
)
at com.wm.app.b2b.server.invoke.ValidateProcessor.processValidateProcessor.java49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at com.wm.app.b2b.server.invoke.DispatchProcessor.processDispatchProcessor.jav:39)
at com.wm.app.b2b.server.AuditLogManager.processAuditLogManager.java:411)
at com.wm.app.b2b.server.invoke.InvokeManager.invokeInvokeManager.java:521)

My jndi.properties file contains the following:
java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory
java.naming.provider.url=iiop://localhost:2809

I applied EJB_6-0_Fix3.zip for the WmEJBAdapter.

The EJB client JAR file (either supplied directly or within an EAR) is needed in the WmEJBAdapter/code/jars directory, followed by restarting the IS. Don’t forget to include any supplemental JAR files needed to support the client (i.e. user-defined objects).