Deploy CXF-JCA RAR.
cxf-integration-jca module has implemented the JCA1.5 outbound connection. You can see samples in $CXF_HOME/samples/integration/jca.
Build CXF-JCA RAR
The jca rar package structure would be:
Refer to this build.xml "generate.rar" target for building rar detail.
Deploy RAR to JBOSS.
Deploy the standalone RAR.
(Note: This has been tested against JBoss4.0.5)
- You need to put below jars in the $JBOSS_HOME/lib/endorsed.
- Copy the rar to the $JBOSS_HOME/server/default
- Create the cxfj2ee_1_5-ds.xml as below, and copy it to $JBOSS_HOME/server/default
You can refer to jca sample's README for detail.
Deploy the RAR in EAR.
(Note: This has been tested against JBoss4.0.5 and JBoss4.2.1)
- Having jboss-app.xml to configure the classloader.
- Having cxf-ds for jca outbound in JBoss.
|The rar name should be full name, which is ear-name#rar-name, instead of rar-name alone.|
- put the application.xml and jboss-app.xml in the META-INF folder.
- put the cxf.rar and the cxf-ds.xml in an EAR.
- For the JBoss4.0.5, Need to put the geronimo-ws-metadata_2.0_spec-1.1.1.jar in the $JBOSS_HOME/lib/endorsed folder.
Make sure the cxf.rar library does not contain xml-apis.jar and xml-resolver.jar.
- For the JBoss4.2.1, Doesn't need to put any jars in the endorsed folder, but need to make sure cxf.rar library
does not contain xml-api.jar.
Deploy RAR to Weblogic.
(Note: this has been tested against WebLogic9.1)
Package RAR in an EAR.
- Add a weblogic-ra.xml in the META-INF folder.
- Package the RAR in an EAR with application.xml.
- Put the geronimo-ws-metadata_2.0_spec-1.1.1.jar in the $WebLogic_HOME/$JDK_Home/jre/lib/endorsed
Deploy RAR to WebSphere.
Using JCA Connection.
Get Connection from ManagedConnectionFactory.
Below is the code snippet to get the Connection.
Also can get the connection without wsdl, but you need to provide the address.
Using CXF-JCA RAR to access the Stateless Session Bean.
By using cxf-jca RAR, the EIS is able to access the Stateless Session Bean by CXF Interal API or JAXWS API.
If you want to deploy the Stateless Session Bean, you need to modify the ejb_servant.properties file.
Activate the ejb_servant.properties file.
|You can specify the ejb_servant.properties file location in the $RAR/META-INF/ra.xml "EJBServicePropertiesURL" property value.|
|You need to deploy the ejbs before activate the ejb_servant.properties file, otherwise, it won't find the JNDI name.|