Fix (APAR): JR25843 Status: Fix Release: 6.0.2 Operating System: Linux,Solaris,Windows Supersedes Fixes: CMVC Defect: JR25843 Byte size of APAR: 78399 Date: 2007-03-09 Abstract: Business Rules classes not being created when building project in WebSphere Process Server 6.0.2 Description/symptom of problem: JR25843 resolves the following problem: ERROR DESCRIPTION: After building the WPS project, some business rules classes do not get created. This worked in WPS 6.0.1.x, but after upgrading to WPS 6.0.2 the problem occurs. LOCAL FIX: no local fix PROBLEM SUMMARY USERS AFFECTED: WebSphere Process Server 6.0.2 Business Rules users. PROBLEM DESCRIPTION: Business Rules classes not being created when building project in WebSphere Process Server 6.0.2 RECOMMENDATION: None With the 6.0.2 version of WebSphere Process Server additional support was added to handle artifacts of different numeric types as they were used in assignments. For example, a variable with a value of 10 is compatible with an object of type byte, short, integer or long. The 6.0.2 version of WebSphere Process Server converts the value to the appropriate type per the assignment. This capability was not included for action rules which are making an invocation to a service which has an interface with different message parts which may be of different numeric types. If a business rule with an action rule called a service and the interface contained numeric types which were set by hard-coded values, an error would occur similar to this NullPointerException when running the serviceDeploy utility and generating the Java classes and EAR file . With this iFix installed, the code generation will complete successfully for these type of rules. PROBLEM CONCLUSION: The Ifix has been issued for fixing via Service deploy as well as via WID Plugin. Directions to apply fix: Before applying the iFix ensure that WebSphere Process Server 6.0.1 is installed on the system. Also download and follow Update Installer installation instructions. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 1) Copy the pak file to the directory maintenance in the UpdateInstaller directory 2) Shutdown WebSphere Process Server. It is important that you perform a controlled and complete shutdown of the server to ensure that all transactions have completed, before installing the fix. 3) Run the UpdateInstaller and follow the prompts. 4) Restart WebSphere Directions to remove fix: NOTE: FIXES MUST BE REMOVED IN THE REVERSE ORDER IN WHICH 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, then fix2 may be removed 1) Shutdown WebSphere. It is important that you perform a controlled and complete shutdown of the server to ensure that all transactions have completed, before installing the fix. 2) Follow the Fix instructions that are packaged with the Fix Installer on how to uninstall and reinstall the Fix. 3) Restart WebSphere Directions to re-apply fix: 1) Shutdown WebSphere. It is important that you perform a controlled and complete shutdown of the server to ensure that all transactions have completed, before installing the fix. 2) Run the UpdateInstaller and follow the instructions. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 3) Restart WebSphere Process Server Additional Information: This is a fix for service deploy. A seperate Plugin is also made available for fixing the WID build issues. The error that is display under .log file looks like this under .metadata folder in the WOrkspace folder. !ENTRY org.eclipse.ui 4 0 Jan 22, 2007 15:09:59.686 !MESSAGE Build problems !SUBENTRY 1 org.eclipse.core.resources 4 75 Jan 22, 2007 15:09:59.702 !MESSAGE Errors during build. !SUBENTRY 2 com.ibm.wbit.project 2 75 Jan 22, 2007 15:09:59.702 !MESSAGE Errors running builder "Integration Module Builder (Before Java Build)" on project ExpwfMiscComponents. !SUBENTRY 2 com.ibm.wbit.command.framework 4 4 Jan 22, 2007 15:09:59.702 !MESSAGE at com.ibm.wbit.command.builder.LazyCommandProxy.execute(Unknown Source) !STACK 0 java.lang.NullPointerException at com.ibm.wbiservers.brules.core.codegen.TypeUtil.addJavaLangPrefixIfNeeded(TypeUtil.java:519) at com.ibm.wbiservers.brules.core.codegen.TypeUtil.getDataWrapperGetMethodReturningJavaObject(TypeUtil.java:473) at com.ibm.wbiservers.brules.core.codegen.ExpressionGenerator$ExpressionCodeGenVisitor.visit(ExpressionGenerator.java:1783) at com.ibm.wbit.br.core.compiler.NumberLiteralExpression.accept0(Unknown Source) at com.ibm.wbit.br.core.compiler.Expression.accept(Unknown Source) at com.ibm.wbiservers.brules.core.codegen.ExpressionGenerator.generate(ExpressionGenerator.java:211) at com.ibm.wbiservers.brules.core.codegen.ExpressionGenerator.generate(ExpressionGenerator.java:140) at com.ibm.wbiservers.brules.core.codegen.ExpressionGenerator.generate(ExpressionGenerator.java:128) at com.ibm.wbiservers.brules.core.codegen.RuleLogicCodeGenerator.generateInvoke(RuleLogicCodeGenerator.java:1392) at com.ibm.wbiservers.brules.core.codegen.RuleSetCodeGenerator.generateCurrentActions(RuleSetCodeGenerator.java:305) at com.ibm.wbiservers.brules.core.codegen.generated.RuleJETTemplate.generate(RuleJETTemplate.java:39) at com.ibm.wbiservers.brules.core.codegen.RuleSetCodeGenerator.generateRules(RuleSetCodeGenerator.java:62) at com.ibm.wbiservers.brules.core.codegen.generated.RuleSetJETTemplate.generate(RuleSetJETTemplate.java:84) at com.ibm.wbiservers.brules.core.codegen.RuleSetCodeGenerator.generateBody(RuleSetCodeGenerator.java:341) at com.ibm.wbiservers.brules.core.codegen.generated.RuleLogicJETTemplate.generate(RuleLogicJETTemplate.java:64) at com.ibm.wbiservers.brules.core.codegen.RuleLogicCodeGenerator.generate(RuleLogicCodeGenerator.java:494) at com.ibm.wbiservers.brules.core.codegen.RuleLogicCodeGenerator.generate(RuleLogicCodeGenerator.java:326) at com.ibm.wbiservers.brules.core.codegen.GenerateRuleLogicCommand.visit(GenerateRuleLogicCommand.java:80) at com.ibm.wbiservers.brules.core.codegen.GenerateRuleLogicCommand.visit(GenerateRuleLogicCommand.java:97) at com.ibm.wbiservers.brules.core.codegen.GenerateRuleLogicCommand.execute(GenerateRuleLogicCommand.java:53) at com.ibm.wbit.command.builder.LazyCommandProxy.execute(Unknown Source) at com.ibm.wbit.command.builder.CommandVisitAdapter.doVisit(Unknown Source) at com.ibm.wbit.command.builder.CommandVisitAdapter.visit(Unknown Source) at com.ibm.wbit.command.resource.ResourceDeltaMask.accept(Unknown Source) at com.ibm.wbit.command.resource.ResourceDeltaMask.accept(Unknown Source) at com.ibm.wbit.command.resource.ResourceDeltaMask.accept(Unknown Source) at com.ibm.wbit.command.builder.CompositeCommand.doResourceOrResourceDeltaVisit(Unknown Source) at com.ibm.wbit.command.builder.CompositeCommand.execute(Unknown Source) at com.ibm.wbit.command.builder.CommandBuilder.doBuild(Unknown Source) at com.ibm.wbit.command.builder.CommandBuilder.build(Unknown Source) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:570) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616) at org.eclipse.core.runtime.Platform.run(Platform.java:747) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:159) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:251) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:204) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:231) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616) at org.eclipse.core.runtime.Platform.run(Platform.java:747) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:234) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:270) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:299) at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:198) at org.eclipse.ui.actions.GlobalBuildAction$1.run(GlobalBuildAction.java:182) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)