Hi everyone, and @dchiesa1
Issue:- The XSL Transform policy was working on OPDK Version 4.50.00.00, but after migrated the same code to 4.53.00 we are getting error
Apigee Trace
error.cause.cause Cannot find a matching 1-argument function named {http://exslt.org/common}node-set(). External function calls have been disabled
error Evaluation of XSL somename.xsl failed with reason: "Cannot find a matching 1-argument function named {http://exslt.org/common}node-set(). External function calls have been disabled"
type ErrorPoint
state PROXY_REQ_FLOW
error.class com.apigee.flow.FlowException
error.cause Cannot find a matching 1-argument function named {http://exslt.org/common}node-set(). External function calls have been disabled
Identifier fault
Solved! Go to Solution.
Hello,
4.51.00.12 (https://docs.apigee.com/release/notes/4510012-private-cloud-relnotes) introduced 274587823 (External entities are not allowed to be loaded by default in XSLTransform Policy) which could be causing the behavior change you're reporting. You can revert to previous behavior by setting a flag in message processors by following the process below:
1. On each message processor node, create or edit the file
/opt/apigee/customer/application/message-processor.properties
2. Add the line:
conf_feature-flags_xsl.allow.external.entities=true
3. Save the file and ensure it is owned and readable by "apigee" user.
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
4. Restart message processor service
apigee-service edge-message-processor restart
5. Repeat on each message processor node 1 at a time
This works thank you @neeldey
Hello,
4.51.00.12 (https://docs.apigee.com/release/notes/4510012-private-cloud-relnotes) introduced 274587823 (External entities are not allowed to be loaded by default in XSLTransform Policy) which could be causing the behavior change you're reporting. You can revert to previous behavior by setting a flag in message processors by following the process below:
1. On each message processor node, create or edit the file
/opt/apigee/customer/application/message-processor.properties
2. Add the line:
conf_feature-flags_xsl.allow.external.entities=true
3. Save the file and ensure it is owned and readable by "apigee" user.
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
4. Restart message processor service
apigee-service edge-message-processor restart
5. Repeat on each message processor node 1 at a time
This works thank you @neeldey