Mike,
I did some digging into in_proc, in_send and in_recv and came up with the following code that looks like it does what I want:
00010 let OUTFILE=%INOMADS'TCPFILE
00020 let TO_OUTPUT$="<?xml version="+quo+"1.0"+quo+"?><outside><first>Ben</first><last>Teixeira</last></outside>"
00030 let TO_OUTPUT$+=$0D0A$
00040 if len(TO_OUTPUT$)>9000 \
then write record (OUTFILE,err=*next)ior($8000$,bin(8000,2))+mid(TO_OUTPUT$,1,8000);
let TO_OUTPUT$=mid(TO_OUTPUT$,8001);
goto *same
00050 if not(nul(TO_OUTPUT$)) \
then write record (OUTFILE,err=*next)bin(len(TO_OUTPUT$),2)+TO_OUTPUT$
00060 remove (OUTFILE,err=*next)
00070 end
I just set up a transaction with this program and no exit url. Using *plus\web\request the response is exactly right.
This works, but I'm hesitant to use something like this, sort of going around the back of iNomads. Who knows what might change in future versions of PxPlus?
As a wishlist item, could we get something in iNomads where you could specify that a transaction is a REST request and we could write a program similar to the above (or better just set something like %inomads'rest_response$) that would handle the response?