Running the JAX-WS client generator

About this task

Sterling Order Management System Software provides a client generator for use with JAX-WS web services on UNIX and Linux® (the client generator is not supported on Windows). If you are modifying the XSD for any API or service which has been exposed as a web service, you must rebuild the web services client. Additionally, each time you extend the database through customization or upgrade, you must run the xsdgenerator, and then rebuild the ear and client. See the topics on Customizing APIs on this Information Center for more information about using the xsdgenerator, and also see the topics on Extending the Database. See Building the enterprise archive (EAR) package on WebLogic for information about building the ear.

To generate a client against an HTTPS url, include the trustStore and keyStore system properties when you run the script.

Note: If you are using Oracle JDK or Open JDK, create the file install_dir/jdk/jre/lib/stax.properties (or equivalent directory if the sandbox.cfg variable JAVA_HOME points to an external directory). Add the following line in stax.properties:
javax.xml.stream.XMLInputFactory=com.sun.xml.internal.stream.XMLInputFactoryImpl
Otherwise, you may see client build failures.

Procedure

To invoke the generator, run the buildjaxclient.sh script from the install_dir directory.
Include the following system properties when running the script:
Property Description
BEAN_NAME Required. Matches the beanname on the server. The service name may differ, depending on the application server.
APPSERVER Required. Valid values are websphere or weblogic.
SERVER_URL Required. The HTTP URL of the server up to, but not including, the bean name.
trustStore Full path to your client truststore (required when generating client from the https url).
trustStorePassword Password for your client truststore.
keyStore Full path to your client keystore ( required to achieve two-way ssl connection when generating a client from the https url).
keyStorePassword Password for your client keystore.

The following code samples are examples of how the script might be set up in different scenarios.

  • Without ssl:

    bin/buildjaxclient.sh -DBEAN_NAME=ParticipantBeanService -DAPPSERVER=weblogic -DSERVER_URL=http://00.00.00.00:/SIXBeanXapiJaxWS

  • For one way ssl:

    bin/buildjaxclient.sh -DBEAN_NAME=ParticipantBeanService -DAPPSERVER=weblogic -DSERVER_URL=http://00.00.00.00:/SIXBeanXapiJaxWS -DtrustStore=/home/joe_user/resources/ssl/jaxwsclienttrust.jks -DtrustStorePassword=changeit

  • For two way ssl:

    bin/buildjaxclient.sh -DBEAN_NAME=ParticipantBeanService -DAPPSERVER=weblogic -DSERVER_URL=http://00.00.00.00:/SIXBeanXapiJaxWS -DtrustStore=/home/joe_user/resources/ssl/jaxwsclienttrust.jks -DtrustStorePassword=changeit -DkeyStore=/home/joe_user/resources/ssl/jaxwsclientkey.jks -DkeyStorePassword=changeit

When run, the JAX-WS client generator creates a new folder, jaxwsclient, that contains the compiled classes and source code. The folder structure will be similar to the following: install_dir/jaxwsclient/output/beanname