Hoping someone can offer a solution here, or definitively point me to one online. We don;t have any experience using SAS stored processes as web services to be used by a third-party application. We've got a rudimentary proof-of-concept achieved, but the 3rd-party app is having problems parsing out the value SAS is trying to pass back to it in the XML.
SAS EBI...9.2M0 (9.2 mid-tier with 4.3 web apps).
the concept is the 3rd-party app will send data/parameters for SAS to use to crunch against a datasource and return a single value back to the app. We would like for the value to be passed back as an entity on its own, instead of sandwiched within a table object. We're currently using the older XMLA Web Service method (where you have to put that as the keyword). in the code, i am basically making a single-row, single-column table, output to the _WEBOUT library, so naturally, SAS is sending it out as a table object in the XML stream. Any other alternatives I've tried cause an error/fault. I'm just looking for an end-to-end tutorial with something along these lines to get my feet wet.
Suggestions? I'll be happy to post more details if necessary.
Thanks in advance.
Rob, have you had any more luck with getting your results out of the XML table? I am in a similar situation trying to access a Stored Process through the BI Web Service. I have been trying to access the sample means procedure through an app called STARLIMS that can consume external web services. So far I have gotten a good connection, but only an error response. I have been doing some experimenting with Visual Studio on the same sample and have gotten some good results. I think the biggest problem is there is numerous documention on using SAS to access BI Web Services but hardly any on 3rd Party apps consuming a SAS Web Service.
Here's the error returned from the SAS BI Web Service:
"Cannot call web service method: sampleMEANSProcedureWebService SoapException: Error: A 'Server Execution' type of exception occurred during execution of 'MeansTest2' service. The exception follows: SAS completed with non-zero SYSCC '3,000'. SYSMSG: ''."
Notice the SYSMSG is empty. I've also got a copy ot the log and it basically says:
ERROR: Missing root element definition
ERROR: Encountered during XMLMap parsing at or near line 1, column 1.
ERROR: XML describe error: Internal processing error.
Unfortuneatley I can't see the SOAP Request because of using a remote server to send to the SAS remote server. I've tried SoapUI and Fiddler with no sucess.
By the way this is the Sample Means Procedure that we ran through the Generated Web Service Wizard and called it MeansTest2.
I have successfully connected and received back a response using PROC SOAP, Visual Studio Windows Form and Visual Studio ASP.NET.
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.