I am trying to complete the example on page 19 of the SAS BI Web Services Developers Guide. I have followed the instructions verbatim but am unable to get the stored process (automatically a web service) to return the correct result when I make a post request. I am trying both SOAP and XML. The error is that the 'instream' data source is never found.
What I am asking for is for someone to replicate the example and give the exact XML and/or SOAP with the post request (in the form of curl).
Here is the SOAP (straight from the guide)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:sas="urn:schemas-microsoft-com:xml-analysis">
<soapenv:Header/>
<soapenv:Body>
<sas:Execute>
<sas:Command>
<StoredProcess name="/WebServicesExamples/sampMeans">
<Parameter name="tablename">InData</Parameter>
<Stream name="instream">
<Table>
<InData>
<Column1>1</Column1>
<Column2>20</Column2>
<Column3>99</Column3>
</InData>
<InData>
<Column1>50</Column1>
<Column2>200</Column2>
<Column3>9999</Column3>
</InData>
<InData>
<Column1>100</Column1>
<Column2>2000</Column2>
<Column3>1000000</Column3>
</InData>
</Table>
</Stream>
</StoredProcess>
</sas:Command>
<sas:Properties>
<PropertyList>
<DataSourceInfo>Provider=SASSPS;</DataSourceInfo>
</PropertyList>
</sas:Properties>
</sas:Execute>
</soapenv:Body>
</soapenv:Envelope>
I am posting via curl. Here is my curl command
curl -H "Content-Type: text/xml" -X POST https://mycompany.com:port/SASBIWS/services/WebServicesExamples/sampMeans --data "@sampmeanssoap.xml"
But this produces the error
A 'Client' type of exception occurred during execution of 'WebServicesExamples/sampMeans' service. The exception follows: Expected stream 'instream' was not specified.
XML produces a similar response
<StoredProcess name="/WebServicesExamples/sampMeans">
<Parameter name="tablename">InData</Parameter>
<Stream name="instream">
<Table>
<InData>
<Column1>1</Column1>
<Column2>20</Column2>
<Column3>99</Column3>
</InData>
<InData>
<Column1>50</Column1>
<Column2>200</Column2>
<Column3>9999</Column3>
</InData>
<InData>
<Column1>100</Column1>
<Column2>2000</Column2>
<Column3>1000000</Column3>
</InData>
</Table>
</Stream>
</StoredProcess>
With curl
curl -H "Content-Type: text/xml" -X POST https://mycompany.com:port/SASBIWS/rest/storedProcesses/WebServicesExamples/sampMeans --data-binary "@sampmeanssoap.xml"
I can successfully get stored processes to complete when using only parameters but am unable to send data sources for whatever reason.