When I run the workflow :AutoPilot-OA-Common_Utilities:XML_Utilities:Convert JSON to XML with a JSON string, the conversion does not actually occur. The workflow returns the same JSON-formatted string.
The workflow relies on a library function with the same name as an existing function. When the workflow runs, it may call the incorrect function.
Update the library to use a version without the overloaded function call.
Download the file json-20160316j6.jar attached to this article.
Log in to the server where you have your BMC Atrium Orchestrator peer.
Open the directory [BAO_HOME]/tomcat/webapps/[PEER_CONTEXT]/WEB-INF/lib/. The peer context depends on your peer type; Configuration Distribution Peers are "baocdp" and Activity Peers are "baoap".
Remove the existing file json-20160210j7.jar.
Add the new file json-20160316j6.jar to the folder.
Restart your peer.
Repeat steps (2) through (6) on each job-processing peer.
Update the workflow to use the new function.
Open BMC Atrium Orchestrator Development Studio.
Import and unbundle the module AutoPilot-OA-Common_Utilities if you have not already.
Open the workflow :AutoPilot-OA-Common_Utilities:XML_Utilities:Convert JSON to XML.
Double-click on the Assign activity, then on the only line "Converts JSON to XML".
Next to the label "Transform:" in the rightmost pane, click the dropdown and select "Advanced".
Click on the third node, beginning with "Variable"
Change the contents of the "Select" textbox from "normalize-space(.)" to "string(.)".
Click on the third-from-last node, beginning with "Value of:".
Drag it to the fifth node, "Element: XML". It should move to the bottom of the document.
Change the contents of the "Select" textbox from "json:XML.toString($str, "json")" to "json:XML.fromJSONString($str, "json")".
Right-click on the "Choose" node and select "Delete".
Click "Save and Exit", then "OK", then "OK", then save your workflow.
Export the modified AutoPilot-OA-Common_Utilities to the Repository.