Table of Contents
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.
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
The following changes have occurred for Java WS Core:
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.
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.
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
The following problems and limitations are known to exist for Java WS Core at the time of the 4.0.0 release:
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.
- 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
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.
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:
- Sun JVM 1.3.1, 1.4.2 and 1.5.0
- IBM JVM 1.3.1, 1.4.1, and 1.4.2
- BEA JRockit JVM 1.5.0
JVM notes:
Tested containers for Java WS Core:
- Java WS Core container
- Tomcat 4.1.31
- Tomcat 5.0.30
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 byResourceProperty
andServiceDataSet
is replaced byResourcePropertySet
.
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.)
Please see Java WS Core documentation for more information.