Fix (APAR): PK34465 Status: Fix Release: 6.0.2.17,6.0.2.15,6.0.2.13 Operating System: HP-UX,i5/OS,Linux,Linux pSeries,Linux Red Hat - pSeries,Linux zSeries,OS/390,OS/400,Solaris,Windows Supersedes Fixes: PK21137 CMVC Defect: 388894 Byte size of APAR: 22713 Date: 2006-12-06 Abstract: WSDL2Java should report a better, more accurate message when failing to generate code because a WSDL's schema uses a relative URI for a namespace. Description/symptom of problem: PK34465 resolves the following problem: ERROR DESCRIPTION: A customer has a WSDL with a valid, absolute URI for a namespace, but embeds a schema that has a a relative URI for a targetNamespace: ...wsdl.... ... schema1... ....schema2... Note that the schema is not in an external file, imported by the WSDL, but embedded within the WSDL. When running WSDL2Java on this WSDL, customer sees a WSWS3574E FATAL error, followed by a "WSWS3205E: Error: Type {service.client.poc.com}AccountCreationException is referenced but not defined" message. This APAR just emits, in addition to the existing messages above , another message that makes more clear what the cause of the error is: SWS3457W: Warning: The WSDL2Java emitter has found relative namespace tns1=datatype.client.poc.com in the WSDL, and cannot transform it to an absolute namespace. This APAR does not allow code generation to continue, for such a use case described in these remarks. LOCAL FIX: PROBLEM SUMMARY USERS AFFECTED: WebSphere Application Server version 6.0.2 users of web services PROBLEM DESCRIPTION: WSDL2Java should report a better, more accurate message when failing to generate code because a WSDL's schema uses a relative URI for a namespace. RECOMMENDATION: None Before fix, WSDL2Java would fail code generation, as designed, but with this message, which is not very clear about why a failure occurs: WSWS3574E: ---------- FATAL ERRORS ENCOUNTERED ---------- GENERATION OF ARTIFACTS HAS BEEN SUSPENDED. See messages to follow for more details. WSWS3205E: Error: Type {service.client.poc.com}AccountCreationException is referenced but not defined. java.io.IOException: FATAL ERRORS encountered by WSDL2Java tool. The message should inform users that the failure is due to the namespace being a relative URI, which is not a valid namespace, according to W3C XML schema recommendation. PROBLEM CONCLUSION: Fixed WSDL2Java to emit a more informative message. The fix for this APAR is currently targeted for inclusion in fixpack 6.0.2.17. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980 Directions to apply fix: NOTE: Choose the: 1) Release the fix applies to 2) The Editions that apply 3) Delete the Editions & Methods that do not apply and this Note Fix applies to Editions: Release 6.0 __ Application Server (Express or BASE) __ Network Deployment (ND) __ WebSphere Business Integration Server Foundation (WBISF) __ Edge Components __ Developer __ Extended Deployment (XD) Install Fix to: Method: __ Application Server Nodes __ Deployment Manager Nodes __ Both NOTE: The user must: * Have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * Logged in with the same authority level when unpacking a fix, fix pack or refresh pack. * Be at V6.0.2.2 or newer of the Update Installer. This can be checked by reviewing the level of the Update Installer in file /updateinstaller/version.txt. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 For detailed instructions to Extract the Update Installer see the following Technote: http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21205400 1) Copy PKxxxxx.pak file directly to the maintenance directory 2) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that maintenance is being applied to. 3) Launch Update Installer 4) Enter the installation location of the WebSphere product you want to update. 5) Select the "Install maintenance package" operation. 6) Enter the file name of the maintenance package to install (PKxxxxx.pak file which was copied in the maintenance directory). 7) Install the maintenance package. 8) Restart WebSphere Directions to remove fix: NOTE: * The user must have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * FIXES MUST BE REMOVED IN THE ORDER THEY WERE APPLIED * DO NOT REMOVE A FIX UNLESS ALL FIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED * YOU MAY REAPPLY ANY REMOVED FIX Example: If your system has fix1, fix2, and fix3 applied in that order and fix2 is to be removed, fix3 must be removed first, fix2 removed, and fix3 re-applied. 1) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that uninstall is being run against. 2) Start Update Installer 3) Enter the installation location of the WebSphere product you want to remove the fix. 4) Select "Uninstall maintenance package" operation. 5) Enter the file name of the maintenance package to uninstall (PKxxxxx.pak). 6) UnInstall maintenance package. 7) Restart WebSphere Directions to re-apply fix: 1) Shutdown WebSphere. 2) Follow the Fix instructions to apply the fix. 3) Restart WebSphere. Additional Information: