Support Article
SOAP Connector generated activities fail assembly
SA-4551
Summary
Developers are unable to save rules with references to the pages and properties generated by the SOAP connector wizard. When attempting to save an activity rule with a Property-Set step the following error message is displayed on the screen:
Exception caught while generating activity MyCo-Interfaces-Class.MyActivity @ step 2: java.lang.StringIndexOutOfBoundsException: String index out of range: -24
Error Messages
14:52:24,412 [p-bio-8580-exec-9543] (ternal.rules.FUAActivityHelper) ERROR server1|10.7.42.22 User1 - appendJavaForStep(): Exception caught while generating activity MyCo-Interfaces-Class.MyActivity @ step 2: java.lang.StringIndexOutOfBoundsException: String index out of range: -24
java.lang.StringIndexOutOfBoundsException: String index out of range: -24
at java.lang.String.substring(String.java:1937)
at com.pega.pegarules.exec.internal.declare.infengine.cbi.DescribeUtilsImpl.getExpressionRulesForTargetReference(DescribeUtilsImpl.java:1027)
at com.pega.pegarules.exec.internal.declare.infengine.cbi.DescribeUtilsImpl.getMatchingTargetInsKey(DescribeUtilsImpl.java:1006)
at com.pega.pegarules.exec.internal.declare.infengine.InfEngUtilsImpl.checkTarget(InfEngUtilsImpl.java:826)
at com.pega.pegarules.generation.internal.assembly.FUAModelHelperImpl.checkTargetForDeclarativeExpressions(FUAModelHelperImpl.java:704)
at com.pega.pegarules.generation.internal.assembly.FUAModelHelperImpl.generateJavaForPropertySetInternal(FUAModelHelperImpl.java:514)
at com.pega.pegarules.generation.internal.assembly.FUAModelHelperImpl.generateJavaForPropertySet(FUAModelHelperImpl.java:195)
at com.pega.pegarules.generation.internal.assembly.FUAModelHelperImpl.generateJavaForPropertySet(FUAModelHelperImpl.java:186)
at com.pega.pegarules.exec.internal.rules.ActivityUtilityMethods.doPropertiesSet(ActivityUtilityMethods.java:580)
Steps to Reproduce
Attempt to update Property-Set step references in an activity for the properties generated by the Connector Wizard.
Root Cause
The root cause of this problem is a defect in Pegasystems’ code/rules. This issue is caused by incorrect parsing of property names by the engine. A page level property generated by the interface wizard had the string 'Param' in the middle of it. For example, the property was named "AccountLookupParamRequest". The engine found the string 'Param' in the middle of the property name and thought this was a parameter reference instead. This lead to the StringIndexOutOfBoundsException starting at the string 'Param'.
Resolution
This issue is resolved through the following local change: The generated property name was changed to eliminate the string 'Param'. For example, the rule was changed from "AccountLookupParamRequest" to "AccountLookupPmRequest".
Published January 31, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.