I need a service program in ILERPG (free-format) that can be used for monitoring a keyed data queue on IBM i (AS/400) for any updates. When something is put into keyed data queue it should be processed and a return response with the same key should be put on another keyed data queue. All messages should be read and written in XML format (UTF-8).
Queues:
[login to view URL] (monitor/read XML from this)
[login to view URL] (write XML to this)
Both can have a key of up to 64 bytes and XML message up to 16 MB
Input XML format: (see attachment)
Output XML format: (see attachment)
Note that you can NOT just copy the input XML as an entire string and use it for output (even though both formats are equal). I will have to change both formats in ILERPG afterwards, so all properties/arrays/objects should be parsed from input XML and for output XML an entirely new object should be created and here you are allowed to insert each property/array/object as single entities, thus building up the XML from scratch. Use XML-INTO for parsing (maybe also generating?) XML.
We also need a client Quarkus application that can generate a unique key and post that key together with some XML to the IN data queue and then wait for a response on the OUT data queue with the same key. Then when out message is received it can just print it to the console.