apache > ws.apache
WSRF
 

Apache WSRF Release Notes

Note
If you have any services created prior to this release, it is strongly suggested that you regenerate the services to a clean directory and manually port any added code to the newly generated files. This will avoid any problems associated with the changes in this release.

Change History

Changes since the 1.0 release:

  • Some API changes
  • Various refactorings and bug fixes
  • New config file format, we've removed jndi-config.xml in favor of Spring. Please see the Developer's Guide for more information.
  • WS-Metadata GET operation is no longer implemented. This method will be generated as an abstract method and left to the developer to implement. Please see the Developer's Guide for more information.
  • Removed dependency on Apache WS-Addressing. Since a project goal is to run on platforms other than Axis, and our usages were very simple, we decided to remove the dependency.

Changes since the 1.0 Beta release:

  • Removed the getInstance(..) method from the generated Home classes. The init() method should be used for initializing Resources at startup. See method call/comment in the generated ...Home.java file.
  • Added the generation of an Abstract...Home class which maintains the static Resource map specific to a Home. This was necessary to ensure each Home type maintains its cache across all instances.
  • Added getNamespaceVersionHolder method to the generated Home class. This returns the previously generated member variable.
  • Removed the ResourceKey interface. The AbstractResourceHome.find(..) method now takes an Object so that simple types like Strings may easily be used for lookups.
  • Changed the behavior of the AbstractResourceHome.add(..) and AbstractResourceHome.createInstance(..) method to determine if a Resource's EndpointReference (EPR) has been set, if it is null the EPR is generated and set on the Resource instance. This allows the implementor the opportunity to set the EPR themselves in the Home.init(..) method or let the createInstance/add(..) methods do it for them.
  • Added extra parameter to the jndi-config.xml file called baseWebAppUrl which by default is generated with the value of http://$IP_ADDRESS$:8080/wsrf (or pubscribe or muse). The parameter is used at runtime for building EPRs for Resources. This URL may be modified to explicitly set a static IP address or host name, or you may replace $IP_ADDRESS$ with $HOST_NAME$ in which case the host name will be determined at runtime.
  • Changed the jndi-config.xml resourceKeyName parameter name to resourceIdentifierReferenceParameterName for improved clarity.
  • Updated the schema for the jndi-config.xml for the metadata element names to make them more consistent.
  • Regenerated all XmlBeans-generated artifacts for the XmlBeans 2.0 release. This was necessary due to changes in their generated artifacts. Please regenerate any of your own XmlBeans-generated types.
  • Added documentation: installation guide, quick demo, tutorial, developer's guide, and improved Javadocs.
  • Added a ServletContextListener implementation for initializing JNDI at startup. The original method of initializing JNDI was via an extension to AxisServlet, which is now unnecessary.

Known Issues

  • Any time a home object is looked up from JNDI, its init() method is automatically invoked by the framework. This can cause an infinite loop if a home, from its init() method, looks up itself from JNDI. Though this theoretically should never be necessary, if you must do it, you'll need to wrap the body of your init() method in a conditional that checks if the home has already been initialized.

Please submit all issues to the WSRF project in Apache JIRA. If you are not sure whether something is a bug, post a question on one of the WSRF mailing lists.