Vasilij Nevlev
Vasilij Nevlev

Reputation: 1449

SAS Webservice: wrong response to a SOAP request

I have a registered stored process that adds up two numbers.

%let sum = %SYSEVALF(&NUM1 + &NUM2); 

data _null_; 
file _webout;
PUT "&SUM";
RUN; 

The stored process is registered to deliver a stream, both input variables are registered as numerical, _webout output parameter is registered as a string (registration of this parameter doesn't change anything).

There is nothing else included.

I am using SOAPUI to create a SOAP envelope based on autogenerated WSDL file. Soap request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"      xmlns:biw="http://www.sas.com/xml/namespace/biwebservices">
  <soapenv:Header/>
    <soapenv:Body>
      <biw:wSDL_Test>
         <biw:parameters>
            <!--Optional:-->
        <biw:NUM1>1</biw:NUM1>
        <!--Optional:-->
        <biw:NUM2>1</biw:NUM2>
       </biw:parameters>
    </biw:wSDL_Test>
  </soapenv:Body>
</soapenv:Envelope>

I am expecting a response with number 2, but I get this instead:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
 <soapenv:Body>
  <n:wSDL_TestResponse xmlns:n="http://www.sas.com/xml/namespace/biwebservices">
     <n:wSDL_TestResult>
        <n:Streams>
           <n:_WEBOUT contentType="text/html;charset=windows-1252">
              <n:Value>Mgo=</n:Value>
           </n:_WEBOUT>
        </n:Streams>
     </n:wSDL_TestResult>
    </n:wSDL_TestResponse>
   </soapenv:Body>
 </soapenv:Envelope>

The value "Mgo=" is given back regardless of any two numbers being added. If I call on the stored process that is converted into a webservice from SAS EG or from mid-tier Web Stored Processes App, I get a correct response with a desired sum.

It is my first webservice and I am using it as a POC for something else. I feel like it has got to be something very simple, but I am not sure what it is. Any help is appreciated!

Regards, Vasilij

Upvotes: 1

Views: 716

Answers (1)

DomPazz
DomPazz

Reputation: 12465

It is 2, it is just base64 encoded. Go here and type Mgo= in the Decode box.

I believe there is an option in SOAPUI to decode the response. It's been a few years since I used it.

Upvotes: 1

Related Questions