I have an API exposed which takes a JSON payload - I attached a JSON to XML policy which converts the payload - then I have a ‘Assign Message’ policy as per the following post.
https://community.apigee.com/questions/1684/error-with-xml-transform-javalangstring-cannot-be.html
After that I apply my XSLT - for some reason it never gets applied and I still get the original XML message.My policies as follows
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <JSONToXML async="false" continueOnError="false" enabled="true" name="JSON-to-XML-2"> <DisplayName>JSON to XML 2</DisplayName> <FaultRules/> <Properties/> <Options> <NullValue>NULL</NullValue> <NamespaceBlockName>#namespaces</NamespaceBlockName> <DefaultNamespaceNodeName>$default</DefaultNamespaceNodeName> <NamespaceSeparator>:</NamespaceSeparator> <TextNodeName>#text</TextNodeName> <AttributeBlockName>#attrs</AttributeBlockName> <AttributePrefix>@</AttributePrefix> <InvalidCharsReplacement>_</InvalidCharsReplacement> <ObjectRootElementName>Root</ObjectRootElementName> <ArrayRootElementName>Array</ArrayRootElementName> <ArrayItemElementName>Item</ArrayItemElementName> </Options> <OutputVariable>SwipboxResponse</OutputVariable> </JSONToXML>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
<DisplayName>AssignMessage</DisplayName>
<Description>create a new message</Description>
<AssignTo createNew='true' type='request'>SwipboxResponse</AssignTo>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Set>
<Payload contentType='application/xml'
variablePrefix='%' variableSuffix='#'>%SwipboxResponse#</Payload>
<StatusCode>200</StatusCode>
<ReasonPhrase>OK</ReasonPhrase>
</Set>
</AssignMessage>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XSL async="false" continueOnError="false" enabled="true" name="XSL-Transform-1">
<DisplayName>XSL Transform 1</DisplayName>
<FaultRules/>
<Properties/>
<Source>SwipboxResponse</Source>
<ResourceURL>xsl://MyXSLT.xsl</ResourceURL>
<Parameters ignoreUnresolvedVariables="true"/>
</XSL>