PMR 68021,072,649 - opened 9/15/2015, RTC opened 10/9. RTC returned as Help Provided and advised was an enhancement request. PMR now closed, received VDSAT survey.
There is inconsistency in the way that the simple assign activity processes hardcoded values vs. values pulled via XPath when passing to a custom service. No custom code shows up in the stack trace and is failing at XPathHelper with this error:
2015-09-16 08:50:10.592] ERRORDTL com.sterlingcommerce.woodstock.translator.util.AssignException: Failed to create target context. Non-leaf nodes in specified target must exist in target document if append parameter is false.
This only happens when the value is pulled via XPath.
So, a direct assign within the custom service correctly passes the information to the service:
All parameters are received by the custom service. However:
The service does not receive the parameters whose names do not meet XML naming standards. L3 said that this is working as designed, as anything pulled via XPath must be parsed by the parser. The client views this as a defect as they are not using the parameters as XML, but they require a way to pass these names to the custom service. They also believe that since hard coding values work, they should be able to pull values dynamically some way, even if they are not XML valid. They require the use of these Parameter Names for ordering purposes among other reasons.
Even when valid XML parameters are used there are many restrictions. Dynamic Parameters are all removed any XPath flag processing is specified. This makes it impossible to create a service similar to the existing assignService with additional features such as codelist translations etc.