Individual Porting Guides for Each Supported AS  Locate

This chapter contains instructions for porting WSO2 SOA Enablement Server to the application servers it supports. Note that WSO2 SOA Enablement Server must be installed before it can be ported. The following application servers are supported:

JBoss  Locate

To integrate with the JBoss application server:

  1. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  2. For JBoss 2.4.x, run J2eeIntegrate --installation-type=jboss

    For JBoss 3.0.x or 3.2.x, run J2eeIntegrate --installation-type=jboss3.

    For JBoss 4.0.x (x > 1), run J2eeIntegrate --installation-type=jboss4.

  3. Follow the instructions that appear on the screen.

  4. Remove JAXP variable settings and crimson.jar.

    This step is required because the features provided by the Crimson XML parser are not sufficient for this application server.

[Note]Note

The lines added to login-config.xml (JBoss 3, secure WSO2 SOA Enablement Server) are an analogy of jaas.config expressed in XML (see Modifying JAVA_OPTIONS).

If you intend to continue with security, process several additional steps:

  1. Uncomment the <context-param>wasp.servlet.httpsport</context-param> part in the wso2.war/WEB-INF/web.xml file found in the JBOSS_HOME/server/[jboss_configuration]/deploy folder.

  2. Add after the uncommented contex-param part the following:

    <context-param>
      <param-name>wasp.servlet.hostname</param-name>
      <param-value>{hostname}</param-value>
    </context-param>
    [Note]Note

    The trusted_certificate name mentioned above must comply with the CN parameter from the certificate.

  3. Before starting JBoss 4.0.3 go to the JBOSS_HOME/default/deploy/jbossweb-tomcat55.sar/server.xml file and uncomment the SSL/TLS connector in this XML configuration file. Ensure that your uncommented connector points to the existing keystore file with a valid certificate named as mentioned in the previous.

  4. The JBoss/Tomcat certificate has to be trusted by java that launches the JBoss. So, either it has to be added to the JRE/lib/security/cacerts truststore or another truststore launching JBoss has to be created and specified on the command line using properties:

    -Djavax.net.ssl.trustStore={the complete_path_to_truststore} -Djavax.net.ssl.trustStorePass={used_password}

Sun J2EE Reference Implementation Server  Locate

Find the Sun J2EE Reference Implementation Server at the J2EE Downloads page.

  1. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  2. To integrate with the J2EE version 1.4 Developer Release, run the command J2eeIntegrate --installation-type=j2ee.

    To integrate with the J2EE version 1.3 Developer Release, run the command J2eeIntegrate --installation-type=j2ee13.

  3. Follow the instructions that appear on the screen.

  4. Remove the SAXP_PROPS variable settings. Their usage implies the use of the Crimson XML parser which is not used due to its insufficient functionality.

[Note]Note

server.policy modification: The Java security manager must be configured if WSO2 SOA Enablement Server is running in secure configuration. The easiest method is to put the following line into the server.policy file:

grant { permission java.security.AllPermission; }

A safer way to configure security is described in Security.

IBM MQSeries for Windows NT and Windows 2000 JMS Provider  Locate

In this type of installation, J2EE features such as JNDI over SOAP are not supported. This JMS provider is supported only on the Microsoft Windows platform. The JMS transport uses the IBM MQSeries to send SOAP messages. To run JMS transport over MQSeries:

  1. Install the IBM MQSeries application server

  2. Install the MQSeries classes for Java and MQSeries classes for JMS into the java subdirectory of the IBM MQSeries installation directory.

  3. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  4. Run J2eeIntegrate --installation-type=mqseries

  5. Follow the instructions that appear on the screen.

IBM Websphere MQ JMS Provider  Locate

In this type of installation, J2EE features such as JNDI over SOAP are not supported. The JMS transport uses the IBM WebsphereMQ to send SOAP messages. To run JMS transport over WebsphereMQ:

  1. Install the Websphere MQ JMS server.

  2. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  3. Run J2eeIntegrate --installation-type=webspheremq

  4. Follow the instructions that appear on the screen.

Oracle Containers for J2EE  Locate

To integrate with OC4J:

  1. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  2. Run J2eeIntegrate --installation-type=oracle

  3. Follow the instructions that appear on the screen.

To run J2EE demos from WSO2 SOA Enablement Server you must have a default data source installed in the OC4J server. See Oracle's Application Server documentation to find out how.

Orion  Locate

To integrate with Orion application servers:

  1. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  2. For Orion 2.0.1 and higher, run J2eeIntegrate --installation-type=orion.

  3. Follow the instructions that appear on the screen.

  4. Open the file global-web-application.xml and remove the line

     <servlet-chaining servlet-name="xsl"
                        mime-type="text/xml" />

    This is because it instructs Orion to apply a servlet named 'xsl' to http messages with content-type text/xml whereas this type of message is exchanged between WSO2 SOA Enablement Server and clients.

[Note]Note

It is necessary to modify server.xml and http-web-site.xml because Orion does not use an automatic installation approach based on its presence in the deploy directory, as is used by some other application servers.

SunONE Application Server  Locate

To integrate with the SunONE application server:

  1. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  2. Run J2eeIntegrate --installation-type=sun1

  3. Follow the instructions that appear on the screen.

  4. Open the file server.xml, and fine the entry java.security.policy property. Double the '=' sign in this entry ('=='), to instruct the security manager to use this policy file only, and ignore all others.

  5. Because the Xalan provided in rt.jar is not suitable for WSO2 SOA Enablement Server, copy the file xalan.jar into the endorsed directory.

SwiftMQ  Locate

To integrate with SwiftMQ:

  1. http://www.swiftmq.com/downloads/index.html.

  2. Create the environment variable SWIFTMQ_HOME. Set it to point to SwiftMQ's installation directory.

  3. Start the SwiftMQ JMS server.

  4. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  5. Run J2eeIntegrate --installation-type=swiftmq

  6. Follow the instructions that appear on the screen.

SonicMQ  Locate

To integrate with SonicMQ:

  1. http://www.sonicsoftware.com/.

  2. Create the environment variable SONICMQ_HOME. Set it to point to the installation directory.

  3. Start SonicMQ JMS server.

  4. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  5. Run J2eeIntegrate --installation-type=sonicmq

  6. Follow the instructions that appear on the screen.

Apache Tomcat  Locate

[Important]Important

Because Apache Tomcat is only a servlet container, we do not support any J2EE features within this server.

To integrate with Tomcat:

  1. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  2. Run J2eeIntegrate --installation-type=tomcat.

  3. Follow the instructions that appear on the screen.

BEA WebLogic 7.x and 8.x  Locate

To integrate with WebLogic 7.x or 8.x:

  1. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  2. Run J2eeIntegrate --installation-type=weblogic.

  3. Follow the instructions that appear on the screen.

    The on-screen instructions assume that WSO2 SOA Enablement Server will be ported into the application server in the "examples" configuration. JMS transport expects access to the administered objects present in this configuration. If you deploy WSO2 SOA Enablement Server into another WebLogic configuration, these administered objects will not be present. In this case you must take one of the following measures:

    1. Either re-configure JMS,

    2. Or, create the requested objects in your Weblogic configuration.

[Note]Note

WebLogic 7: The webservices.jar file must be removed from the CLASSPATH because it causes conflicts with the current SAAJ (Soap with Attachment API for Java) implementation. The file weblogic.jar is dependent on webservices.jar. By removing it, the package is not found. As a side effect, the Web services demo supplied with WebLogic will not work and an error message stating that webservices.jar is missing appears on the console.

IBM WebSphere  Locate

To integrate with WebSphere:

  1. Change directory to the bin subdirectory of your WSO2 SOA Enablement Server for Java installation.

  2. Run the script, J2eeIntegrate --installation-type=websphere.

  3. Follow the instructions that appear on the screen.

  4. Be sure to check the box labeled deploy EJBs because you are deploying EJB demos.

Notes:

  • The lines added to login-config.xml are an analogy of jaas.config expressed in XML, as described in Modifying JAVA_OPTIONS.

  • Set the PARENT_LAST option and Application ClassLoader policy because there is a conflict between our implementations of the saaj, jaxm, jaxrpc and wsdl interfaces.

    PARENT_LAST assures that the servlet classloader is the first to be asked for the definition of classes.

  • You must create the database table for the J2EE demos explicitly since WebSphere is not capable of doing this automatically.