Forum Discussion
I would suggest to step away from mapper and use XML Generator snap and build the XML output using velocity template.
In my opinion the XML generator gives better overview of the mapping in to the XML structure.
Attached is a sample based on your mapper mapping.
I saved your schema as member.xsd and pointed it out in the generator which then generated a sample velocity template which i modified, i guess the relationship is something that needs to be structured differently before the xml generator, since there is no sample data with clear relationships i have not included that in the example.
@swright your input JSON doesn’t look correct. If you want to reference two variables, they need to be within the same JSON object. For instance, this is an example of an input document to the REST PATCH Snap that would allow referencing
$serviceUrl
and$requestBody
in the Snap settings:[ { "requestBody": { "ExternalIdentifierNumber": "002500012" }, "serviceUrl": "https://" } ]
If you wanted two PATCH requests to be sent (sequentially, to different URLs etc), the input body would look like:
[{ "requestBody": { "ExternalIdentifierNumber": "002500012" }, "serviceUrl": "https://someurl.com" }, { "requestBody": { "ExternalIdentifierNumber": "ABCD" }, "serviceUrl": "https://anotherurl.com" }]
Hi Robin,
I’m having some trouble getting it into that format. I’m using a union and somehow that is the output of the union. The target path of mapper2 is the $requestBody.ExternalIdentifierNumber and mapper3 is the $serviceUrl.:
Thanks,
Scott
@swright A Union will combine two streams of documents into a single stream.
What you want to do is combine the actual document contents themselves (a document in one stream is combined with the content of a document in another stream). To do this, use the Join Snap where the left and right paths resolve to the same constant value e.g.