+

Search Tips   |   Advanced Search

Running an unmanaged web services JAX-RPC client

WebSphere Application Server v8.5 and the Application Client for WebSphere Application Server v8.5 provides a thin Java Platform, Standard Edition 6 (Java SE 6) web services client runtime implementation based on the JAX-RPC 1.1 specification. The Thin Client for JAX-RPC with WebSphere Application Server is a stand-alone Java SE 6 client environment that enables running unmanaged JAX-RPC web services client applications in a non-WebSphere environment to invoke web services that are hosted by the application server.

Supported configurations: Use the Thin Client for JAX-RPC with WebSphere Application Server as a stand-alone client run time in a pure Java SE environment, or within an OSGi environment. The Thin Client for JAX-RPC is not supported when running within WebSphere Application Server or WebSphere Application Client environments. In this version of the application server, with the exception of the Administration Thin Client, other Thin Client run times provided with the application server can also reside in the CLASSPATH and coexist with the Thin Client for JAX-RPC..

Before we can set up a JAX-RPC unmanaged client environment you will need to obtain the Thin Client for JAX-RPC JAR file. To obtain the Thin Client for JAX-RPC, you must either install the application server or the application client.

The Thin Client for JAX-RPC JAR file, com.ibm.ws.webservices.thinclient_8.5.0.jar, is located in the app_server_root\runtimes directory. Refer to the license agreements to ensure correct usage and for limitations on copies of the Thin Client for JAX-RPC outside of the WebSphere environment.

The Thin Client for JAX-RPC is supported in the following environments:

Supported configurations: Run web services clients that invoke web services before the application server, in which the client is running, has finished starting is not a supported scenario.

Supported configurations: WS-Addressing is not supported for JAX-RPC web services in an unmanaged client environment. If use WS-Addressing, or a web service standard that relies on WS-Addressing, such as WS-Notification, use the Thin Client for Java API for XML-based Web Services (JAX-WS) instead. To learn how to setup and run the Thin Client for JAX-WS, see the Thin Client for JAX-WS documentation.

  1. Configure the path. We can add the Java bin directories to your path by typing:

    (zos)

      set PATH=<your_JDK_bin_directory>;%PATH%

      export PATH=<your_JDK_bin_directory>:$PATH

  2. Configure the classpath.

    (zos)

    set CLASSPATH=.;<your_web_services_thin_client_install_directory>\com.ibm.ws.webservices.thinclient_8.5.0.jar;
    <your_application_jars>;%CLASSPATH%

    (iseries)

    export CLASSPATH=.:<your_web_services_thin_client_install_directory>/com.ibm.ws.webservices.thinclient_8.5.0.jar:
    <your_application_jars>;$CLASSPATH

    • For a non-IBM SDK, obtain a Xerces xml-apis.jar and xercesImpl.jar from the Xerces web site and configure the classpath definition.

      (zos)

      set CLASSPATH=.;<your_Xerces_install_directory>\xml-apis.jar;<your_Xerces_install_directory>
      \xercesImpl.jar;%CLASSPATH%

      (iseries)

      export CLASSPATH=.:<your_Xerces_install_directory>/xml-apis.jar:<your_Xerces_install_directory>
      \xercesImpl.jar:$CLASSPATH

  3. Configure SSL for the client.

    1. Add the following system properties to the Java command:

        -Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props

      We can obtain ssl.client.props from the WAS installation and modify the file to suit the environment. We must, at a minimum, update the location of the com.ibm.ssl.keyStore and com.ibm.ssl.trustStore key files in ssl.client.props to the match location of the target environment. For example, use these SSL configuration settings when running the application with a Sun JRE:

      com.ibm.ssl.protocol=SSL
      com.ibm.ssl.trustManager=SunX509
      com.ibm.ssl.keyManager=SunX509
      com.ibm.ssl.contextProvider=SunJSSE
       com.ibm.ssl.keyStoreType=JKS
      com.ibm.ssl.keyStoreProvider=SUN
      com.ibm.ssl.keyStore=/home/user1/etc/key.jks
       com.ibm.ssl.trustStoreType=JKS
      com.ibm.ssl.trustStoreProvider=SUN
      com.ibm.ssl.trustStore=/home/user1/etc/trust.jks

      The key store file and trust store file must be created using the Java keytool utility before the application runs. The automatic key file generation is not supported with a non-IBM product JRE.

  4. Enter the following command to run the client application:

    (zos)

      %JAVA_HOME%/bin/java -Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props <your_client_application>

    (iseries)

      $JAVA_HOME/bin/java -Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props <your_client_application>


Results

You have set up an unmanaged JAX-RPC client runtime environment that can be used to invoke web services hosted on a WAS.


Related tasks

  • Task overview: Implement web services applications

    (iseries) Installing, updating, rolling back, and uninstalling the Application Client for IBM WAS on IBM i operating systems

  • Implement JAX-RPC web services clients
  • Running an unmanaged web services JAX-WS client


    Related information:

  • Xerces website