Fix (APAR): PQ93128 Status: Fix Release: 5.1.1 Operating System: All Supersedes Fixes: CMVC Defect: PQ93128 Byte size of APAR: 31853 Date: 2004-11-11 Abstract: A business process that invokes a Web service fails if the definition of the Web service contains XSD imports, includes, or refines. Description/symptom of problem: 1) Symptom: -------- When running a business process that invokes a Web service with a definition that includes XSD imports, includes, or refines; this invoke will fail. The log files include an error similar to the following: [10/28/04 13:22:15:337 CEST] 2d6f1e71 SecurityManag W SECJ0314W: Current Java 2 Security policy reported a potential violation of Java 2 Security Permission. Please refer to Problem Determination Guide for further information. Permission: test\WrapperWithTypes.wsdl\ImportProcessWithTypesEAR\Bpel4\ServiceService\NamedObjectWithTypesOnly.xsd : access denied (java.io.FilePermission test\WrapperWithTypes.wsdl\ImportProcessWithTypesEAR\Bpel4\ServiceService\NamedObjectWithTypesOnly.xsd read) Code: com.ibm.wsdl.util.StringUtils in {file:/D:/WebSphere/AppServer/lib/wsdl4j.jar} Stack Trace: java.security.AccessControlException: access denied (java.io.FilePermission test\WrapperWithTypes.wsdl\ImportProcessWithTypesEAR\Bpel4\ServiceService\NamedObjectWithTypesOnly.xsd read) at java.security.AccessControlContext.checkPermission(AccessControlContext.java(Compiled Code)) at java.security.AccessController.checkPermission(AccessController.java(Compiled Code)) at java.lang.SecurityManager.checkPermission(SecurityManager.java(Compiled Code)) at com.ibm.ws.security.core.SecurityManager.checkPermission(SecurityManager.java(Compiled Code)) at java.lang.SecurityManager.checkRead(SecurityManager.java(Compiled Code)) at java.io.File.isDirectory(File.java(Compiled Code)) at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:91) at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:191) at java.net.URLConnection.getContent(URLConnection.java:621) at java.net.URL.getContent(URL.java:955) at com.ibm.wsdl.util.StringUtils.getContentAsInputStream(Unknown Source) at org.apache.wsif.wsdl.WSIFWSDLLocatorImpl.getImportInputSource(WSIFWSDLLocatorImpl.java:236) at org.apache.wsif.schema.Parser.getImportedSchemas(Parser.java:601) at org.apache.wsif.schema.Parser.getTypesSchemas(Parser.java:555) at org.apache.wsif.schema.Parser.getAllSchemaTypes(Parser.java:439) at org.apache.wsif.base.WSIFServiceImpl.populateSchemaTypes(WSIFServiceImpl.java:1204) at org.apache.wsif.base.WSIFServiceImpl.init(WSIFServiceImpl.java:966) at org.apache.wsif.base.WSIFServiceImpl.(WSIFServiceImpl.java:336) at org.apache.wsif.base.WSIFServiceImpl.(WSIFServiceImpl.java:299) at org.apache.wsif.base.WSIFServiceImpl.(WSIFServiceImpl.java:288) at org.apache.wsif.base.WSIFServiceFactoryImpl.getService(WSIFServiceFactoryImpl.java:242) ... 2) Problem: -------- When you deploy your enterprise application, process choreographer stores the definitions of all the Web services used by a business process in the process choreographer database. WSDL extensions, such as XSD imports, includes, or refines are ignored so that the Web service definition is incomplete. At execution time, the Web Service Invocation Framework (WSIF) tries to resolve the missing information by loading the appropriate XSD files. These files cannot be loaded because the context for loading these files is missing. 3) Solution: --------- This interim fix requires PQ96278 as a prerequisite. After applying both interim fixes, you must re-install all of the affected enterprise applications so that the additional information can be saved in the process choreographer database. If you use process choreographre in an ND environment,you must apply these interim fixes to all of the nodes. Directions to apply fix: NOTE: YOU MUST FIRST DOWNLOAD THE UPDATE INSTALLER TOOL IN ORDER TO INSTALL A FIX. The Fix Installer can be downloaded from the following link: http://www-3.ibm.com/software/webservers/appserv/support/index.html 1) Create temporary "fix" directory to store the jar file: UNIX: /tmp/WebSphere/fix Windows: c:\temp\WebSphere\fix 2) Copy jar file to the directory 3) Shutdown WebSphere 4) Follow the Fix installation instructions that are packaged with the Fix Installer on how to install the Fix. 5) Restart WebSphere 6) The temp directory may be removed. Directions to remove fix: NOTE: 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 2) Follow the instructions that are packaged with the Fix Installer on how to uninstall the Fix. 3) Restart WebSphere Directions to re-apply fix: 1) Shutdown WebSphere 2) Follow the Fix instructions that are packaged with the Fix Installer on how to uninstall and reinstall the Fix. 3) Restart WebSphere Additional Information: This interim fix requires PQ96278 as a prerequisite