Have you already defined the Stored Process with Input/Output data source definitions and looked at the WSDL coming back from the webservice, this should reflect how to provide the data.
Here is sample code on how to access the XML data passed in:
libname ws_ixml xmlv2;
proc copy in=ws_ixml out=work;
run;
proc contents data=work._all_ ;
run;
proc print data=work.t1;
run;
The definition of the WS_IXML looks like this:
The Web Service request looks like this:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:biw="http://www.sas.com/xml/namespace/biwebservices">
<soapenv:Header/>
<soapenv:Body>
<biw:ws_input_data>
<biw:streams>
<biw:ws_ixml contentType="?">
<biw:Value>
<!--You may enter ANY elements at this point-->
<root>
<t1>
<c1>r1c1</c1>
<c2>r1c2</c2>
<c3>123</c3>
<c4>2018-09-05</c4>
</t1>
<t1>
<c1>r2c1</c1>
<c2>r2c2</c2>
<c3>456</c3>
<c4>2018-09-05</c4>
</t1>
</root>
</biw:Value>
</biw:ws_ixml>
</biw:streams>
</biw:ws_input_data>
</soapenv:Body>
</soapenv:Envelope>
The request xml was taken from SoapUI.
So the XML between the <biw:Value></biw:Value> tags can be read using the XMLV2 libname engine.
The XML data passed in to the WS_IXML libref can be read without using a XML Map file.
<root> is the root tag, <t1> is the table name, each repeating <t1> ... </t1> is treated as an observation. The <c4> column is an example how to pass in a date.
You can get the WSDL of a Stored process called as a SAS Webservice like this:
http://host:port/SASBIWS/services/<metadata folder name>/<stored process name>?WSDL
Hope this helps
... View more