GT 4.0 Release Notes: for Java WS Core

1. Component Overview

The Java WS Core is an implementation of the Web Services Resource Framework (WSRF) and the Web Service Notification (WSN) family of standards. It provides APIs and tools for building stateful Web services.

2. Feature Summary

New Features in the GT 4.0 release

  • Implementation of the 2004/06 OASIS WSRF and WSN working draft specifications (with minor fixes to the 1.2-draft-01 published schemas and with the March 2004 version of the WS-Addressing specification)
  • Basic HTTP/1.1 client & server support
  • JNDI-based registry based on the JNDI service in Apache Tomcat
  • An implementation of the Work Manager and Timer specifications

Other Supported Features

  • A standalone and embeddable container
  • Tomcat 4.1 and 5.0 support
  • Basic API for resource persistence and recovery
  • Persistent subscriptions support
  • Automatic service and ResourceHome activation on startup
  • Operation providers

Deprecated Features

  • None

3. Changes Summary

The following changes have occurred for Java WS Core:

3.1. Parameter ordering for Axis generated files

The Java WS Core 4.0 release contains a newer version of Axis. In this version of Axis the ordering of parameters in the constructors of generated types has changed. The parameters are now sorted alphabetically. Code that creates an instance of some generated type using a constructor with multiple arguments might need to be checked and updated appropriately. This change does not affect code that creates an instance of some generated type using a default constructor and sets the values using the individual setter methods.

3.2. Transport security is used by default (since 3.9.4)

Transport security (HTTPS) is now assumed as the default security mechanism. For example, the standalone container will now start in a transport security mode (HTTPS container running on port 8443). The plain (HTTP) container can still be started using the -nosec option. Please see the globus-start-container(1) documentation for details.

3.3. Different naming scheme for Axis generated files (since 3.9.4)

The Axis version distributed with Java WS Core follows the JAX-RPC specification and Java naming standards more closely than before when naming the generated files (generated by the wsdl2java process). The code generated is exactly the same as before but the names of the files are slightly different. The changes to the names are pretty straightforward: All underscores are dropped, and the first letter of each word within the name is capitalized. If there are collisions between names (for example, the port type name is the same as some element name), the name for the port type will end with _PortType and for the element with _Element. Examples:

foo.java -> Foo.java
_Foo_Bar.java -> FooBar.java
_GetMultipleResourceProperties.java -> GetMultipleResourceProperties_Element.java
GetMultipleResourceProperties.java -> GetMultipleResourceProperties_PortType.java

5. Known Problems

The following problems and limitations are known to exist for Java WS Core at the time of the 4.0.0 release:

5.1. Limitations

  • WS-Notification support:

    • Only the Simple topic dialect is supported (others can be added)
    • Only flat topic spaces are supported (architecture does allow for more advanced structures)
    • Actions on the precondition, selector and policy fields in a subscription are not supported
    • When a resource is removed its subscriptions are not removed automatically
  • Only XPath resource property queries are supported (others can be added)
  • A resource might not get destroyed at the exact time as indicated by the scheduled termination time. A sweeper thread that removes expired resources runs periodically (every 1 minute by default) so an expired resource might not get removed until the next time the sweeper thread runs.
  • SOAP messages with attachments are not supported. In fact, the Axis version distributed with GT was compiled without attachment support.

5.2. Known Bugs

  • Bug 2471: Message security signature verification issues
  • Bug 2445: Same input and output messages in WSDL confuse Axis
  • Bug 2921: Support for TerminationTimeChangeRejectedFault
  • Bug 2926: Local transport does not work without a current MessageContext
  • Bug 3113: Processing by the WSDLPreprocessor produces output different depending on the JVM
  • Bug 3482: wsa:From is not set correctly when service calls another service
  • Bug 3483: xsd:anyType not serialized correctly

6. Technology Dependencies

Java WS Core depends on the following GT components:

Java WS Core depends on the following 3rd party software:

Please see the Technology Dependencies Details page for details.

7. Tested Platforms

Java WS Core should work on any platform that supports J2SE 1.3.1 or higher.

Tested platforms for Java WS Core:

  • Linux (Red Hat 7.3)
  • Windows 2000 and XP
  • Solaris 9

Tested JVMs for Java WS Core:

JVM notes:

  • GCJ is not supported.
  • If using IBM JVM 1.4.1 please see bug 2828 for more information.

Tested containers for Java WS Core:

  • Java WS Core container
  • Tomcat 4.1.31
  • Tomcat 5.0.30

8. Backward Compatibility Summary

Protocol changes since GT version 3.2

  • HTTP/1.1 with 'chunked' transfer encoding is now used by default.
  • Wire messages follow the new schemas and therefore are completely different (see below).

API changes since GT version 3.2

  • The majority of the APIs are new. Some APIs resemble GT 3.2 APIs, for example ServiceData is replaced by ResourceProperty and ServiceDataSet is replaced by ResourcePropertySet.

Schema changes since GT version 3.2

  • Schemas are completely new. The WS Java Core implements the OASIS WSRF and WSN working drafts specifications (with minor fixes to the 1.2-draft-01 published schemas and with the March 2004 version of the WS-Addressing specification.)

9. For More Information

Please see Java WS Core documentation for more information.