Hi,
I am currently facing issues while trying to invoke SAS BIWebservice.
I am using Firefox plugin- RESTClient to invoke
https://<webserverUrl>/SASBIWS/rest/storedProcesses/<StoredProcess Path >/<stpName>?<parameter1>=<value1>
However, "parameter1" is not getting resolved in sas.
I had registered the stored process with
* Results capability- enabled for "Stream" and "Package"
* Server Type: Stored process only
* Prompts: <parameter1> type: text
The purpose of this stored process is to stream a PDF file to the browser.
Any help on this topic would be highly appreciated:
1. I am currently puzzled why the parameter is not getting resolved.
2. How do I access the WADL file for this webservice
WSDL path is as follows:
https://<webserverUrl>/SASBIWS/services/<StoredProcess Path >/<stpName>.wsdl
Please let me know if there are any questions.
Thanks in advance,
Dilip
latest Update:
I managed to pass the parameter as Body in the RESTClient and it worked:
<any>
<parameters>
<parameter1>value1</parameter1>
</parameters>
</any>
But, now it fails in SAS as I had given fileref as _WEBOUT in the code- SAS tries to write _webout.dat in the SAS Foundation library where it doesnt have write access.
MPRINT(FSTREAM): data _null_;
MPRINT(FSTREAM): infile ".../saswork/SAS_work470C0026F545_sla06469/SAS_work8ECA0026F545_sla06469/temp.csv" recfm=f lrecl=1;
MPRINT(FSTREAM): file _WEBOUT recfm=n;
MPRINT(FSTREAM): input c $char1. @@;
MPRINT(FSTREAM): put c $char1. @@;
MPRINT(FSTREAM): run;
Now, I am wondering if I have to define "Data Targets" for this stored process.
Any suggestions?
Do you have Stream selected as a result type in your stored process defintion?
Vince DelGobbo
SAS R&D
Thanks Vince for the response- I did mention the Stream option. In the meantime, I fixed my issues.
Just in case, it helps anyone - I am listing down the mistakes/ corrections I made during the last couple of days:
1. After getting annoyed with _WEBOUT, I decided to use another fileref in my SAS code and registered that in Data target tab while creating the stored process (Once I find some time, I will recheck _WEBOUT again- conceptually it should work- i guess!)
2. I spent some hours to realise that the endpoint URl is different for getting the Streamed results/ Output parameters
eg. https://<webserverUrl>/SASBIWS/rest/storedProcesse
https://<webserverUrl>/SASBIWS/rest/storedProcesse
3. In dataTargets, it took me some time to configure the correct content-type for associated file
File Type
|
content-type
|
---|---|
File Type
|
content-type
|
application/pdf | |
xls/csv | application/vnd.ms-excel |
zip | application/x-zip-compressed |
4. At client side, I gave content-type: text/xml as I pass the parameters
There are still lot of areas to explore in this topic. Eventhough, I read about XMLA webservice, i havent still understood its use case. Since RESTClient is easy to use, I felt RESTful webservices comparatively simple to operate.
Thanks,
Dilip
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.