I have a processing rule which looks like:
AAA ---> Transform1 ---> SLM ---> Results
This rule doesn't parse or process data of the request and it works well with both XML and Non-XML requests.
The issue relates to Non-XML requests only after updating the rule:
AAA ---> Transform1 ---> SLM ---> Transform2 ---> Results
The code below is in the Transform2 stylesheet:
<!-- Define the input content as Non-XML (binary) --> <dp:input-mapping href= "store:///pkcs7-convert-input.ffd" type= "ffd" /> <!-- base64 encode Non-XML input data --> <xsl:variable name= "input64" select= "dp:binary-encode(/object/message/node())" /> <xsl:when test= "isInputContentXML()"> <xsl:variable name= "input_xml"> <dp:parse select= "$input64" encoding= "base-64" /> </xsl:variable> ... </xsl:when> <xsl:otherwise> ... </xsl:otherwise>
No problem with XML requests but Non-XML fail (eg with the string 'test') :
illegal character 't' at offset 0 of http://.../test
With the probe, I can see the content of the message processed as binary data before the first AAA action which attempts to parse a XML document and throws an error.
Why stylesheets defined in the AAA policy try to parse the data ? and how to avoid the parsing before the Transform2 action ?