GT 4.1.0 Java WS Core : User's Guide

1. Introduction

The Java WS Core User's Guide provides general end user-oriented information.

2. Command-line tools

Please see the Java WS Core Commandline Reference.

3. Graphical user interfaces

There is no support for this type of interface for Java WS Core.

4. Troubleshooting

4.1. Running clients from any directory

A client launched directly through the java executable might fail if ran from a directory other then the GLOBUS_LOCATION (It usually happens if the client receives notifications). To ensure that a client can be started from any directory pass a GLOBUS_LOCATION system property on the java command line set to the appropriate GLOBUS_LOCATION directory. Also, make sure to put the GLOBUS_LOCATION directory as the very first entry in the classpath used for the application.

For example on Unix/Linux:

 $ java -DGLOBUS_LOCATION=$GLOBUS_LOCATION -classpath $GLOBUS_LOCATION:mylib.jar foo.MyClass

or on Windows:

 > java -DGLOBUS_LOCATION=%GLOBUS_LOCATION% -classpath %GLOBUS_LOCATION%;mylib.jar foo.MyClass

4.2. Program fails with "Failed to acquire notification consumer home instance from registry" error

Please see Section 4.1, “Running clients from any directory” if a client fails with "Failed to acquire notification consumer home instance from registry. Caused by javax.naming.NameNotFoundException: Name services is not bound in this Context" error.

4.3.  Container warning: "The WS-Addressing 'To' request header is missing"

This warning is logged by the container if the request did not contain the necessary WS-Addressing headers. The client either did not attempt to send those headers at all or is somehow misconfigured. If you using a Java client and launching it directly using the java executable take a look at Section 4.1, “Running clients from any directory”.

4.4. General troubleshooting information

In general, if you want to investigate a problem on your own please see Section 7, “Debugging” for details on how to turn on debugging. Also, please note that most of the command line clients have a -debug option that will display more detailed error messages, including the error stack traces. Also, searching the mailing lists such as gt-user@globus.org or gt-dev@globus.org (before posting a message) can also be very fruitful. Finally, if you think you have found a bug please report it in our Bugzilla system. Please include as much as detail about the problem as possible.

5. Miscellaneous information

5.1. Running Java Programs From Command Line

Sometimes it might be necessary to run a Java program directly using the java executable. There are two recommended ways of doing so (the GLOBUS_LOCATION environment variable must first be set in both cases):

[Important]Important

If you are not using any of these two methods please take a look at Section 4.1, “Running clients from any directory”.

5.1.1. With globus-devel-env script help

The globus-devel-env script can be used to set the proper CLASSPATH environment variable. To set the CLASSPATH on Windows execute:

 > %GLOBUS_LOCATION%\etc\globus-devel-env.bat

On Unix/Linux machines execute (for bash/sh):

 $ . $GLOBUS_LOCATION/etc/globus-devel-env.sh

or (for csh/tcsh):

 $ source $GLOBUS_LOCATION/etc/globus-devel-env.csh

Once the globus-devel-env is executed successfully run the Java program, for example:

On Windows:

 > java -DGLOBUS_LOCATION=%GLOBUS_LOCATION% foo.MyClass

On Unix/Linux:

 $ java -DGLOBUS_LOCATION=$GLOBUS_LOCATION foo.MyClass

Note: Passing -DGLOBUS_LOCATION is not necessary but will enable the client to execute from any directory.

5.1.2. Using bootstrap

Sometimes the above method might fail if the CLASSPATH environment variable is too long for the OS to handle. With the bootstrap method, a bootstrap code is executed first which sets the classpath programmatically and then invokes the specified Java program. To invoke a Java program on Windows through bootstrap execute:

 > java -cp %GLOBUS_LOCATION%\lib\bootstrap.jar -DGLOBUS_LOCATION=%GLOBUS_LOCATION% \
       org.globus.bootstrap.Bootstrap foo.MyClass

On Unix/Linux machines execute:

 $ java -cp $GLOBUS_LOCATION/lib/bootstrap.jar -DGLOBUS_LOCATION=$GLOBUS_LOCATION \
       org.globus.bootstrap.Bootstrap foo.MyClass

6. Usage statistics collection by the Globus Alliance

The following usage statistics are sent by Java WS Core by default in a UDP packet (in addition to the Java WS Core component code, packet version, timestamp, and the source IP address):

  • On container startup:

    • container id - random number
    • container type - standalone, servlet, or unknown
    • event type - container startup
    • list of deployed services - service names only

  • On container shutdown:

    • container id - random number
    • container type - standalone, servlet, or unknown
    • event type - container shutdown
    • list of activated services - service names only
    • container uptime

If you wish to disable this feature, please see the "Usage Statistics Configuration" section of Configuring Java WS Core for instructions.

Also, please see our policy statement on the collection of usage statistics.