Web services tools - release notes


1.0 Limitations
   1.1 Unable to access WebSphere V6 DB2 Private UDDI Registry after deploying it on top of an existing Private UDDI Registry.
   1.2 *WS-I Attachments Profile 1.0 validation is not available
   1.3 *Wizards always use existing projects' EARs and ignore selections of other EARs
   1.4 Wizard's "Monitor" check box may collide with existing monitors
   1.5 *Do not choose Client proxy type of "Web Service User-Defined Function"
   1.6 *Launch Web Services Explorer only available from J2EE perspective
   1.7 *IWAB0107E error from Web service wizard when creating DADX Web services
   1.8 *IWAB0534E error from Web service wizard when selected target server does not exist
   1.9 *IWAB0213E from Web service wizard when target server is not installed
   1.10 *StockQuote Axis Sample only runs on Tomcat 5.0
   1.11 Running secured client samples in EJB project and Application Client project
   1.12 *root permission required to run Private UDDI Registry with DB2 back end on Websphere Application Server v6
   1.13 *The WSDL files generated for Web services with complex type parameters may be different for J2EE 1.3 and J2EE 1.4 applications
   1.14 *Change default client project name for new EJB project
   1.15 *End to End scenarios give a restartModule error popup box on security-enabled Websphere Application Server v5.0 and v5.1
   1.16 Router project and EJB project must be in the same EAR
   1.17 LooseApps can be viewed but not modified through the admin console
2.0 Known problems
   2.1 *End to end scenario fails with IBM SOAP Skeleton Web Service
   2.2 *Skeleton and client scenarios do not work with HTTP Basic Authentication protected WSDL
   2.3 *Error message in the JMS router project after running Endpoint Enabler
   2.4 *Tutorial: Creating a Web service from a Java bean does not create the correct package name
   2.5 Deleting a User Defined Taxonomy, does not delete the tModel from the Private UDDI Registry.
   2.6 Code generated into wrong location for EJB Web services with annotation support
   2.7 *Web Services samples in the Samples Gallery may import with errors
   2.8 *Exception thrown in Client Scenario when WSDL Does not have any SOAP Bindings
   2.9 *Skeleton scenarios do not refresh generated Java files during subsequent invocation of the Web service wizard
   2.10 *NullPointerException thrown in UDDIPublish/UDDIUnpublish -profileName <profile name>

1.0 Limitations

1.1 Unable to access WebSphere V6 DB2 Private UDDI Registry after deploying it on top of an existing Private UDDI Registry.

You may encounter a problem where you are unable to access the WebSphere v6 DB2 Private UDDI Registry after deploying it on top of an existing WebSphere v6 Private UDDI Registry. At the end of the UDDI deployment wizard, the UDDI application is running on the server but server configurations are not recognized. The symptom would be that the UDDI Ear is unable to interact with the DB2 UDDI Registry. This means all commands executed against the UDDI Application would fail with the Error (Error initializing Registry Node). This includes adding user defined taxonomies, which would throw an Axis fault.

Workarounds:
1. Preventive: Before deploying a WebSphere v6 DB2 UDDI Registry, use the UDDI wizard to remove any previously installed UDDI Registries. Then invoke the UDDI Wizard again to deploy a WebSphere V6 DB2 Private UDDI Registry.
2. To fix the installed Registry: If you installed a WebSphere V6 DB2 UDDI Registry on top of a previous registry and you encountered problems, from the server Admin console, you can stop the UDDIRegistry Application and start it again.

1.2 *WS-I Attachments Profile 1.0 validation is not available

The WS-I AP compliance level settings found in Windows -> Preferences -> Web Services -> WS-I Compliance and in Project Properties have no effect on WSDL WS-I validation when set to "suggest" or "require". These preferences are set to "ignore" by default.

There is no workaround. The WS-I Attachments Profile Test Assertion Document used by the WS-I WSDL validator to test your WSDL for compliance to the profile was not made public by the WS-I organization in time to be included in this IBM Rational Developer product release. An interim fix to enable the preference will be issued after the Test Assertion Document becomes public.

Note: This has been fixed in V6.0.0.1.

1.3 *Wizards always use existing projects' EARs and ignore selections of other EARs

If the service or client project exists prior to launching the Web Service or Web Service Client wizard, the wizards will always use the EAR that already contains the existing project, regardless of what is selected on the Service Deployment Configuration or Client Environment Configuration page. If the existing project was not added to an EAR prior to launching either of the wizards, the wizards will fail with the following error:

IWAB0213E Error in starting server
Details:
IWAB0213E Error in starting server.
org.eclipse.core.runtime.CoreException: WebSphere v5 only supports J2EE 1.2 and 1.3 Enterprise applications.
at com.ibm.etools.websphere.tools.v51.internal.WASTestServerWorkingCopy.modifyModules(Unknown Source)
...

To workaround this limitation, ensure any projects intended for Web services or Web service clients are already added to an EAR before the wizard is launched. The only exception to this rule is projects with a Tomcat server target since they do not need to be added to an EAR.

Note: This has been fixed in V6.0.0.1.

1.4 Wizard's "Monitor" check box may collide with existing monitors

If you manually created a monitor for your target server (using Monitoring -> Properties... from the Servers tab), and then run the Web Service wizard and select "Monitor the Web service" on the first page of the Web Service wizard, the wizard may fail during processing with the following error:

IWAB0014E Unexpected exception occured. null
java.lang.NullPointerException
at com.ibm.etools.webservice.consumption.command.common.CreateMonitorCommand.hasContentWebServices(CreateMonitorCommand.java:114)
...

To workaround the problem, either re-run the wizard with Monitor the Web service disabled, or open Monitoring -> Properties... on the server, remove the monitor, and re-run the wizard with Monitor the Web service enabled.

1.5 *Do not choose Client proxy type of "Web Service User-Defined Function"

On the first page of the Web Service and Web Service Client wizards, two Client proxy types are available: "Java proxy" (the usual default) and "Web Service User-Defined Function". If you select the "Web Service User-Defined Function" and attempt to finish the wizard or progress beyond the Web Service Selection Page, the wizard will fail with the error "IWAB0234E An internal error occurred. Details: null".

Workaround: Do not use the Web service wizards to create a Web service user-defined function. Instead, select New -> Other -> Data -> Web Service User-Defined Function.

Note: This has been fixed in V6.0.0.1.

1.6 *Launch Web Services Explorer only available from J2EE perspective

The "Launch Web Services Explorer" button, and the "Run > Launch the Web Services Explorer" menu item are not available from any but the J2EE perspective.

Either open the J2EE perspective and launch the Web Services Explorer, or, if applicable, right-click on a WSDL document or Web service in your workspace and select Web Service -> Test with Web Services Explorer.

Note: This has been fixed in V6.0.0.1.

1.7 *IWAB0107E error from Web service wizard when creating DADX Web services

In a DADX or URL Web service creation scenario for WebSphere Application Server v5 with Web service proxy generation enabled, the wizard may fail with an error similar to the following:

IWAB0107E Error encountered when attempting to analyze WSDL part: input.
WSDLException: faultCode=PARSER_ERROR: Problem loading http://localhost:9080/SomeProject/SomeGroup/something.dtd/XSD: Connection refused: connect: Wrapped exception
java.net.ConnectException: Connection refused: connect
...

This problem occurs because the wizard does not restart the server in time for the Web service client code generator to retrieve WSDL or XSD from the server. The problem can be avoided in at least two ways:

  1. In the Web Service wizard, choose a different server to host your Web service client than the server hosting your Web service.
  2. In the Web Service wizard, disable proxy code generation. Run the Web Service Client wizard separately after the Web Service wizard is finished.

Note: This has been fixed in V6.0.0.1.

1.8 *IWAB0534E error from Web service wizard when selected target server does not exist

When using the Web service wizard to create a Web service for a server that does not yet exist, the wizard will create the server but may then fail with the following error:

"IWAB0534E Unable to add EAR project to Server Configuration."
Details: java.lang.IllegalArgumentException:
at java.lang.Throwable.<init>(Throwable.java:59)
at java.lang.Throwable.<init>(Throwable.java:73)
at org.eclipse.core.internal.runtime.Assert.isLegal(Throwable.java)
at org.eclipse.core.internal.runtime.Assert.isLegal(Throwable.java)
at org.eclipse.core.runtime.Status.setMessage(Throwable.java)
at org.eclipse.core.runtime.Status.<init>(Unknown Source)
at com.ibm.wtp.server.core.internal.ServerWorkingCopy.modifyModules(Unknown Source)
...

To workaround the problem, re-launch the wizard and try again. The wizard will use the server that was successfully created by the previous wizard just prior to its failure.

Note: This has been fixed in V6.0.0.1.

1.9 *IWAB0213E from Web service wizard when target server is not installed

When using the Web service wizard to create a Web service in a project targetted to a type of server that has not been installed, the wizard may fail with the following message:

IWAB0213E Error in starting server.
org.eclipse.core.runtime.CoreException: The server named WebSphere v5.1 Test Environment @ localhost did not start correctly. Check the Console for error messages.
at com.ibm.wtp.server.core.internal.Server.synchronousStart(Unknown Source)
...

The problem occurs because the wizard, on its Server Deployment Configuration or Client Environment Configuration page, will default to the target server of the project without first determining if the target server has been installed and is available. This situation is most likely to arise when importing projects produced by other users with other installations of the product. The workaround is to explicitly choose a server on the Server Deployment Configuration or Client Environment Configuration page that exists in your workspace.

Note: This has been fixed in V6.0.0.1.

1.10 *StockQuote Axis Sample only runs on Tomcat 5.0

After importing the StockQuoteAxis sample, if you attempt to add the StockQuoteAxis and StockQuoteAxisClient projects to a Tomcat 4.0 or 4.1 server, you will get the message "There are no projects that can be added or removed from the server". If you try to run the sample JSPs on a Tomcat 4.0 or 4.1 server, you will get the message "The selected server does not support version 1.4 of the J2EE Web module specification".

The problem occurs because the StockQuoteAxis and StockQuoteAxisClient Web projects in the Sample have been created to run on a J2EE 1.4 / Servlet 2.4 runtime, and neither Tomcat 4.0 nor Tomcat 4.1 support the Servlet 2.4 specification. Two workarounds are:

  1. Run the sample on a Tomcat 5.0 server.
  2. Follow the "Build It Yourself" instructions in the Samples Gallery and choose to target your Web projects to Tomcat 4.0 or 4.1.

Note: This has been fixed in V6.0.0.1.

1.11 Running secured client samples in EJB project and Application Client project

The wizard- generated sample JSPs for a Web service client in an EJB or Application Client project will invoke the Web service client proxy in a non-container-managed environment. The security configuration for the Web service client will be bypassed, rendering the client effectively unsecured and preventing it from interoperating with the secured Web service.

To run the secured client samples in EJB project:

  1. Create a method in the client EJB.
  2. In the method, make a Web service call through the proxy.
  3. Run the client EJB.
To run the secured client samples in Application Client project:
  1. Locate the Main.java in the Application Client.
  2. In the main program, make a Web service call through the proxy.
  3. Run the Application Client.

1.12 *root permission required to run Private UDDI Registry with DB2 back end on Websphere Application Server v6

On Linux, in order to use DB2 as a back-end system for the Private UDDI Registry, both the Rational Developer product and WebSphere Application Server v6 must be started as root user, in a command prompt from the directory in which the db2profile is sourced. For example, if your DB2 instance is called db2inst1 and the Rational Developer product is installed in /opt/IBM/RAD, the correct way to start them would be:

1. Open a command prompt.
2. In the prompt, type . /home/db2inst1/sqllib/db2profile (Note the space after the dot)
3. In the same prompt, type /opt/IBM/RAD/runtimes/base_v6/bin/startServer.sh server1
4. In the same prompt, type /opt/IBM/RAD/rationalsdp.bin

Note: This has been fixed in V6.0.0.1.

1.13 *The WSDL files generated for Web services with complex type parameters may be different for J2EE 1.3 and J2EE 1.4 applications

If you create a J2EE 1.3 bottom-up Web service which contains complex types parameters, every field in the parameter class that has a getter is mapped to a child element under the xsd:complexType in the WSDL. To fully conform to the JAX-RPC 1.1 specification in J2EE 1.4, this behaviour has been changed. Each read/write property (as identified by the java.beans.Introspector class) is mapped to an element in the xsd:complexType.

Note: This has been fixed in V6.0.0.1.

1.14 *Change default client project name for new EJB project

When creating a skeleton EJB Web service in which the intended target EJB project does not yet exist, the Web service wizard will create the EJB project and an associated EJB client JAR for you. For example: EJBProjectName and EJBProjectNameClient. This EJB client JAR project name collides with the default Web service client project name selected by the Web service wizard when it attempts to create your Web service client. This results in errors in the Web service client project. If the Web service client project is a Web project, you will get errors in the client EAR, as well as an "Error in copying Web Service Utility Jar" if you ask the wizard to generate the Sample JSP test facility.

The workaround is to pick a name for the Web service client project that is different than EJBProjectNameClient (when the EJB project EJBProjectName does not already exist) or to create the EJB project before starting the Web service wizard.

Note: This has been fixed in V6.0.0.1.

1.15 *End to End scenarios give a restartModule error popup box on security-enabled Websphere Application Server v5.0 and v5.1

If Websphere Application Server v5.0 or v5.1 have security turned on, Web service end-to-end scenarios will have a timeout wait and generate an error message stating "Could not restart the module. *". This error can be safely ignored.

Note: This has been fixed in V6.0.0.1.

1.16 Router project and EJB project must be in the same EAR

For both IBM SOAP and IBM WebSphere runtimes, you must put the EJB project and its router project in the same EAR in either top-down or bottom-up EJB Web service scenarios.

1.17 LooseApps can be viewed but not modified through the admin console

An application deployed oin Websphere Application Server v6 can be viewed but not modified through the admin console. If full console capability is needed for a Rational Developer product application, you can deselect the "Run resources from the workspace" from the UTE server editor. This essentially treats the UTE as a remote server and an .ear file is generated and published.

2.0 Known problems

2.1 *End to end scenario fails with IBM SOAP Skeleton Web Service

If you create a skeleton Web service from a WSDL file using the IBM SOAP runtime and choose to generate a proxy within the same wizard, the proxy may fail to generate or generate incorrectly. The workaround is to generate the skeleton Web service first and then use the resulting WSDL to generate the client separately.

Note: This has been fixed in V6.0.0.1.

2.2 *Skeleton and client scenarios do not work with HTTP Basic Authentication protected WSDL

In the current release, the Web service wizard cannot create a skeleton Web service or Web service client using a WSDL file protected by HTTP basic authentication. The workaround is to use a browser and download the WSDL into the physical file system and run the Web service wizard with that copy of the WSDL file.

Note: This has been fixed in V6.0.0.1.

2.3 *Error message in the JMS router project after running Endpoint Enabler

After running the Web service Endpoint Enabler to create a JMS endpoint, the following error is reported from the ejb-jar.xml in the JMS router project, "CHKJ2802E: class com.ibm.ws.webservices.engine.transport.jms.JMSListenerMDB, or one of its supertypes, can not be reflected. Check the classpath." This error message can be safely ignored.

Note: This has been fixed in V6.0.0.1.

2.4 *Tutorial: Creating a Web service from a Java bean does not create the correct package name

When completing the "Create and deploy a Web service from a Java bean" tutorial, you are asked to import the StockQuoteService Java bean from a folder called Resources. The folder structure within the Resources folder is incorrect, and will result in a package being created that does not match the package name in the Java bean.

To correct this, when importing the required resources select the StockQuote folder and deselect the folders within it. Once the StockQuote folder has been imported, select the StockQuote package, right-click and select Refactor > Rename, and rename the package stockquote.

Note: This has been fixed in V6.0.0.1.

2.5 Deleting a User Defined Taxonomy, does not delete the tModel from the Private UDDI Registry.

When a User Defined taxonomy is deleted from the table in the Private UDDI Registry wizard, the category data would be deleted from the registry but the tModel itself would still be there. The Web Service Explorer still shows the deleted category when searching for User Defined Categories.

2.6 Code generated into wrong location for EJB Web services with annotation support

In the case where an EJB and EJB project were created via annotation support, the EJB's home and remote interface are created in the gen/src subfolder of the EJB or EJB client project rather than the ejbModule folder. The Web service wizard will generate code into the default folder which results in duplicate homes and remote interfaces. This does not seem to affect the running of the Web service in a simple scenario but, to avoid the compilation error, users can move the home and remote interface from the gen/src folder to the ejbModule folder prior to launching the Web service wizard.

2.7 *Web Services samples in the Samples Gallery may import with errors

If you try to import a WebSphere Web service sample from the samples gallery (WebSphere Stock Quote, Temperature Conversion or AddressBook) without a WebSphere V6 server, you will see the warning:

No WebSphere V6 server runtime detected. You will need to manually set the server target runtime for the imported projects after you have installed a WebSphere V6 server.

If you delete the imported sample, manually add a WebSphere V6 server and proceed to re-import, the sample will still import with compilation errors due to a failure in server targeting. To workaround the problem, delete the sample, shutdown the workbench, restart and then re-import the sample.

Note: This has been fixed in V6.0.0.1.

2.8 *Exception thrown in Client Scenario when WSDL Does not have any SOAP Bindings

If you create a Web service client using WebSphere Application Server v6.0, it will throw an exception if you use a WSDL document that does not contain any SOAP bindings.

Note: This has been fixed in V6.0.0.1.

2.9 *Skeleton scenarios do not refresh generated Java files during subsequent invocation of the Web service wizard

If you need to recreate an existing Web service in the same project using a modified WSDL file, the generated Java files will not get refreshed. This may result in compilation errors or in the Java files staying unchanged. The workaround for this is to backup and delete all the generated Java files before running the skeleton Web service wizard.

Note: This has been fixed in V6.0.0.1.

2.10 *NullPointerException thrown in UDDIPublish/UDDIUnpublish -profileName <profile name>

A NullPointerException is thrown in UDDIPublish/UDDIUnpublish -profileName <profile name>, if -inquiryUrl <url> is not specified before -profileName. You probably do not need to use -profileName since the default already matches the installed profile. If you do need to use -profileName, you should specify -inquiryUrl <url> before -profileName <profile name>.

Note: This has been fixed in V6.0.0.1.

Return to the main readme file