AnsweredAssumed Answered

How to edit VSI 'easily' for different message patterns with array content.. 1-50 elements, of structures with optional parms.

Question asked by sdetweil2 on Jan 5, 2016

I am trying to help a team onboard their SOAP API into DT.(8.5).

 

Like our REST APIs, the data structures are quite complex, with nested arrays of structures.

 

the choices in DT are unfortunately not very flexible, as the arrays get flattened into unique variables for each field in each structure in each array element.. coming out to 1,000s of fields.

 

1. create a field for every data element, with the exact naming convention. (I've already complained about the difference in the first array element naming when there is one entry or two or more in the array.

2. don't create any fields, and write a match script to do all the work. this sure loses the power of DT.  copying input to output now requires us to document somewhere else what needs to be copied, and how the matching should work.

 

     in my REST simulator, I use the apache JSON schema comparison api to validate that the message is in the right format, before doing any matching. this handles the 1 to 50 elements in the array with optional fields.

     but the DT JSON Schema filter is not flexible enough, as one cannot change the schema path to match the incoming message structure..,    we have 10 apis on the same url base path, and each has unique message formats.

     I can also get a part of the json document structure as an entity (sub variable or sub structure), and can manipulate that as a whole, and can copy/compare it (not just the fields within).

 

anyhow.. I don't have these cool features for SOAP (yet), so I need to use the DT VSI pattern model

 

is there a way I can cut/paste in the vsi xml, how does the pattern ID get calculated?

Outcomes