JavaCAPS6 - Classloader issues when using jms-bc and rawave.rar (Doc ID 1025981.1)

Last updated on JANUARY 19, 2011

Applies to:

Oracle Java CAPS Enterprise Service Bus - Version: R6.3 and later   [Release: 6.0 and later ]
Information in this document applies to any platform.
Checked for relevance on 19-Jan-2011

Symptoms

Environment is Java CAPS 6 and connecting to JMS Grid 5.1.x versions.

Using the jms-bc JBI binding component, we are unable to connect to a JMS Grid daemon using connection factories looked up via JNDI.

We have followed all the steps below and yet are encountering an exception at very end.

1. Install Solaris_ml package.
2. Deploy $JMSGRID/jmsjca/rawave.rar to SJSAS domain as a Connector Module.
3. Using the version of netbeans that comes with the JavaCAPS 6 installation, create an "SOA / BPEL module" project.
4. Add to the project a new WSDL Document. Using the WSDL wizard, define a single Request-Response Operation named ReceiveHttpPost that takes as input an xsd:anyType input paramenter. Set the Binding Type to be HTTP and subtype to be "POST with urlEncoded encoding". See sample below.
5. Add to the project a new WSDL Document. Using the WSDL wizard, define a single One-Way Operation named SendToQueue that takes as input an xsd:string input paramenter. Set the Binding Type to be JMS. See sample below.
6. Create a BPEL process. Add the WSDL documents to the Partner Link region. Add a Receive action to the process and connect it to the ReceiveHttpPost partner link. Add a Add an Invoke action to the process and connect the Invoke action to the SendToQueue partner link. Add an Assign action to the process and use the Assign action to map the input to the ReceiveHttpPost operation to the input parameter of the SendToQueue operation.
7. Create an "SOA / Composite Application" project.
8. Add the BPEL module to the composite application. Build the service assembly to generate the JMS SendToQueue WSDL port.
9. Edit the SendToQueue JMS WSDL Port properties. Set the following properties:
connectionURL = jndi://
username = <jms grid user, eg "admin">
password = <password for username>
initialContextFactory = com.sun.jndi.ldap.LdapCtxFactory
providerURL = <url to ldap service hosting grid connection factories>
securityPrincipal = <dn of ldap admin user>
securityCredentials = <password of securityPrinicpal>
connectionFactoryName = <dn of connection factory entry>
10. Post some data to the http port using the java application documented at http://wiki.open-esb.java.net/Wiki.jsp?page=HttpBcPostInteraction
The server.log file should show the following error:

[#|2008-10-24T15:30:11.520-0700|WARNING|sun-appserver9.1|javax.enterprise.system.core|_ThreadID=10;_ThreadName=main;_RequestID=560ca08c-9747-49bd-b438-b51cc0e72d77;|CORE5016: Unexpected error occurred while loading applications
java.lang.ClassCastException: com.stc.jmsjca.unifiedjms.RAUnifiedResourceAdapter cannot be cast to com.stc.jmsjca.core.RAJMSResourceAdapter
at com.stc.jmsjca.core.XManagedConnectionFactory.setResourceAdapter(XManagedConnectionFactory.java:108)
at com.sun.enterprise.connectors.ActiveInboundResourceAdapter.createManagedConnectionFactory(ActiveInboundResourceAdapter.java:365)
at com.sun.enterprise.connectors.ConnectorConnectionPoolAdminServiceImpl.obtainManagedConnectionFactory(ConnectorConnectionPoolAdminServiceImpl.java:1031)
at com.sun.enterprise.connectors.ConnectorConnectionPoolAdminServiceImpl.createConnectorConnectionPool(ConnectorConnectionPoolAdminServiceImpl.java:263)
at com.sun.enterprise.connectors.ConnectorRuntime.createConnectorConnectionPool(ConnectorRuntime.java:321)
at com.sun.enterprise.connectors.ActiveOutboundResourceAdapter.createDefaultConnectorConnectionPools(ActiveOutboundResourceAdapter.java:460)
at com.sun.enterprise.connectors.ActiveOutboundResourceAdapter.createAllConnectorResources(ActiveOutboundResourceAdapter.java:169)
at com.sun.enterprise.connectors.ActiveInboundResourceAdapter.setup(ActiveInboundResourceAdapter.java:309)
at com.sun.enterprise.connectors.ResourceAdapterAdminServiceImpl.createActiveResourceAdapter(ResourceAdapterAdminServiceImpl.java:316)
at com.sun.enterprise.connectors.ResourceAdapterAdminServiceImpl.createActiveResourceAdapter(ResourceAdapterAdminServiceImpl.java:445)
at com.sun.enterprise.connectors.ConnectorRuntime.createActiveResourceAdapter(ConnectorRuntime.java:225)
at com.sun.enterprise.server.ConnectorModuleLoader.load(ConnectorModuleLoader.java:118)
at com.sun.enterprise.server.ConnectorModuleLoader.doLoad(ConnectorModuleLoader.java:142)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:245)
at com.sun.enterprise.server.AbstractManager.load(AbstractManager.java:225)
at com.sun.enterprise.server.ApplicationLifecycle.onStartup(ApplicationLifecycle.java:194)
at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:442)
at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:120) at com.sun.enterprise.server.PEMain.run(PEMain.java:411)
at com.sun.enterprise.server.PEMain.main(PEMain.java:338)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.server.PELaunch.main(PELaunch.java:412)
|#]

[#|2008-10-24T15:30:11.594-0700|SEVERE|sun-appserver9.1|javax.enterprise.system.core|_ThreadID=10;_ThreadName=main;_RequestID=560ca08c-9747-49bd-b438-b51cc0e72d77;|CORE5059: Error in loading resource|#]

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms