IBM Support

How to replace webservices.jar (== java2wsdl, wsdl2java, wsdeploy, endptenabler) in the WAS version 6.x web services deploy plug-in

Troubleshooting


Problem

This technote describes an unsupported workaround for getting an updated web services emitter, such as []wsdl2java[], in Rational® Application Developer (RAD) version 6.0.x for a specific version of WebSphere® Application Server (WAS). Often, there is a more recent version or fix available in WAS.

Resolving The Problem

WARNING: This is an unsupported workaround.
In particular, the instructions provided by this technote will not work for WebSphere Integration Developer (WID) version 6, and especially not in a shell sharing environment with Rational Application Developer version 6 or Rational Software Architect (RSA) version 6.
----------------------------------------------------------------------------------------
Other than getting an updated emitter from the installation of a new RAD release or interim fix , replacing the webservices.jar with an updated jar made available from WAS web services support is not supported by RAD. The WAS webservices.jar contains the web services emitters, among other key items used by RAD web services deploy tooling.

Although unsupported, in the case of an urgent business or project deadline situation in which the user cannot wait for the next official RAD interim fix or release , the webservices.jar can be replaced in RAD version 6.0.x in the following directory for WAS 6.0.x:

{RAD Install Dir}\rwd\eclipse\plugins\com.ibm.websphere.rt.v6_6.0.2.2\lib\webservices.jar          

In the above plug-in directory example, ". . .v6_6.0.2.2" was the latest edition of the plug-in. The latest edition of the com.ibm.websphere.rt.v6_<v.r.m.f> plug-in directory is usually the largest version.release.maintenance.fixpack ( == v.r.m.f) number. In this case it was 6.0.2.2. If you are uncertain as to which is the latest plug-in directory, contact RAD Support.

This directory and its contents are used by the RAD web services deploy tooling for WAS version 6.0.x. Changing the webservices.jar in this way affects not just wsdl2java but also java2wsdl, endptenabler and wsdeploy.

Back up the original webservices.jar in case you should encounter problems with the replacement . Any replacement jar would not necessarily have been tested with RAD.

After making this change, launch RAD with the -clean option. This is a one-time operation to use after making a change to any plug-in.

The corresponding directory for the WAS version 5.x plug-in is:

{RAD Install Dir}\rwd\eclipse\plugins\com.ibm.websphere.webservice.rt.v5.1.1.

The version 5.1.1 emitters are common between WAS 5.0.2.x and WAS 5.1.1.y. There is a preference which runs the 5.1.1 emitters in compatibility mode to support WAS 5.0.2.x (x >= 8):

Window > Preferences > Web Services > Code Generation : Use WebSphere v5.1.1 web service emitter against WebSphere v5.1 Application Server.

The default is for this to be checked. The WAS 5.1.1 emitters will be executed not just for web services targeted to WAS 5.0.2.x or 5.1.1.y but for any J2EE 1.3 Web service or client. WAS version 6.x targeted web service applications that are J2EE 1.3 would use this version 5.1.1 plug-in in RAD.

NOTE:
To have any webservices.jar fix provided by WAS web services support made available officially in RAD v6, contact RAD support, if this solves a specific problem. RAD support will need any WAS provided APAR or defect numbers under which the WAS fixes will be made official and in which release of WAS. RAD support can then create a new APAR to pick up the WAS APAR fixes. This is necessary to ensure that the latest webservices.jar is tested and included in a future interim fix or release.

Additional note for Rational Application Developer version 7.0:

There is no longer a need to replace webservices.jar (hence WSDL2Java) in RAD 7.0 itself when targeting WebSphere Application Server version 6.0.x servers if the WTE/WAS6.0.x server was installed.

RAD 7.0 web services tooling uses the webservices.jar (hence emitters) directly from the WAS 6.0 server install. If an updated webservices.jar is needed, you can update the server to the latest level containing the fix or apply an appropriate APAR fix from the WAS support site.

Note: If WTE/WAS6.0.x was not installed with RAD version 7 or there is no access to a local WAS 6.0 server, then
{RAD V7 Install}\runtimes\base_v6_stub\lib\webservices.jar is used.

Web services tooling targeting the legacy WTE/WAS 5.1 server, still uses their own emitters as discussed in this technote.

For more details on emitters used by RAD version 7 web services tooling consult the technote: How RAD V7 uses the WebSphere Web Services Emitters. WAS version 6.1.x has changed the runtime jar that is used.

[{"Product":{"code":"SSRTLW","label":"Rational Application Developer for WebSphere Software"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Web Services Development","Platform":[{"code":"PF033","label":"Windows"},{"code":"PF016","label":"Linux"}],"Version":"6.0;6.0.0.1;6.0.1.0;6.0.1.1;7.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SSYK2S","label":"Rational Software Architect Designer"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Web Services Development","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"6.0;6.0.0.1;6.0.1.0;6.0.1.1;7.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
10 September 2020

UID

swg21237958