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/'/\'/"