The simplest solution I found depends on curl, which seems to be standard in most Linux distributions, and invokes a SOAP web service. It looks something like:
Code: Select all
WS_URL='http://localhost:3030/ufs/cxf/MY_FORM'
...
REQUEST=`tempfile`
RESPONSE=`tempfile`
cat > $REQUEST << EOT
<xml>
<soap>
     <soap>
           <message>
                <item>
                     <data1>$DATA1</data1>
                     <data2>$DATA2</data2>
                </item>
           </message>
     </soap>
</soap>
EOT
curl \
     -H "Content-Type: text/xml;charset=utf-8" \
     -H "SOAPAction:" \
     -d @$REQUEST \
     -X POST "$WS_URL" \
     > $RESPONSE
Of course, depending on where the DATA1 and DATA2 variables come from, they may need to be XML encoded (untested):
Code: Select all
sed "s/\&/\&/;s/>/\>/;s/</\</;s/'/\'/"
