<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to read a table from XML Input call in SOAP ? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/492809#M129582</link>
    <description>&lt;P&gt;Have you already defined the Stored Process with&amp;nbsp;Input/Output data source definitions and looked at the WSDL&amp;nbsp;coming back from the webservice, this should reflect how to provide the data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is&amp;nbsp;sample code on how to access the XML data passed in:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;libname ws_ixml xmlv2;

proc copy in=ws_ixml out=work;
run;

proc contents data=work._all_ ;
run;

proc print data=work.t1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The definition of the WS_IXML looks like this:&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="image.png" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/23025iEA48B02066709654/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Web Service&amp;nbsp;request looks like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&amp;lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:biw="http://www.sas.com/xml/namespace/biwebservices"&amp;gt;
   &amp;lt;soapenv:Header/&amp;gt;
   &amp;lt;soapenv:Body&amp;gt;
      &amp;lt;biw:ws_input_data&amp;gt;
         &amp;lt;biw:streams&amp;gt;
            &amp;lt;biw:ws_ixml contentType="?"&amp;gt;
               &amp;lt;biw:Value&amp;gt;
                  &amp;lt;!--You may enter ANY elements at this point--&amp;gt;
                  &amp;lt;root&amp;gt;
                     &amp;lt;t1&amp;gt;
                        &amp;lt;c1&amp;gt;r1c1&amp;lt;/c1&amp;gt;
                        &amp;lt;c2&amp;gt;r1c2&amp;lt;/c2&amp;gt;
                        &amp;lt;c3&amp;gt;123&amp;lt;/c3&amp;gt;
                        &amp;lt;c4&amp;gt;2018-09-05&amp;lt;/c4&amp;gt;
                     &amp;lt;/t1&amp;gt;
                     &amp;lt;t1&amp;gt;
                        &amp;lt;c1&amp;gt;r2c1&amp;lt;/c1&amp;gt;
                        &amp;lt;c2&amp;gt;r2c2&amp;lt;/c2&amp;gt;
                        &amp;lt;c3&amp;gt;456&amp;lt;/c3&amp;gt;
                        &amp;lt;c4&amp;gt;2018-09-05&amp;lt;/c4&amp;gt;
                     &amp;lt;/t1&amp;gt;
                  &amp;lt;/root&amp;gt;
               &amp;lt;/biw:Value&amp;gt;
            &amp;lt;/biw:ws_ixml&amp;gt;
         &amp;lt;/biw:streams&amp;gt;
      &amp;lt;/biw:ws_input_data&amp;gt;
   &amp;lt;/soapenv:Body&amp;gt;
&amp;lt;/soapenv:Envelope&amp;gt;&lt;/PRE&gt;
&lt;P&gt;The request xml was taken from SoapUI.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So the XML between the&amp;nbsp;&amp;lt;biw:Value&amp;gt;&amp;lt;/biw:Value&amp;gt; tags can be read using the XMLV2 libname engine.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The XML data passed in to the WS_IXML libref can be read without using a XML Map file.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;root&amp;gt; is the root tag, &amp;lt;t1&amp;gt; is the table name, each repeating &amp;lt;t1&amp;gt; ... &amp;lt;/t1&amp;gt; is treated as an observation. The &amp;lt;c4&amp;gt; column is an example how to pass in a date.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can get the WSDL of a Stored process called as a SAS Webservice like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;http://host:port/SASBIWS/services/&amp;lt;metadata folder name&amp;gt;/&amp;lt;stored process name&amp;gt;?WSDL
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope this helps&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 05 Sep 2018 20:37:44 GMT</pubDate>
    <dc:creator>BrunoMueller</dc:creator>
    <dc:date>2018-09-05T20:37:44Z</dc:date>
    <item>
      <title>How to read a table from XML Input call in SOAP ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/491368#M128840</link>
      <description>&lt;P&gt;All,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;I am trying to build a SOAP API. The API requires one of the inputs to be a table of information. Can anyone kindly provide an example of the correct format to read in a table as an input from XML Soap invocation call. Appreciate your help.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Aug 2018 18:20:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/491368#M128840</guid>
      <dc:creator>UdayGuntupalli</dc:creator>
      <dc:date>2018-08-30T18:20:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to read a table from XML Input call in SOAP ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/491491#M128906</link>
      <description>&lt;P&gt;I never used SOAP, but have you seen this?&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/wbsvcdg/64883/HTML/default/viewer.htm#n0e44v8zffokk6n1b5uu2alusw8p.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/wbsvcdg/64883/HTML/default/viewer.htm#n0e44v8zffokk6n1b5uu2alusw8p.htm&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 31 Aug 2018 02:15:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/491491#M128906</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-08-31T02:15:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to read a table from XML Input call in SOAP ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/491804#M129076</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/16961"&gt;@ChrisNZ&lt;/a&gt;,&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thank you for your response. Yes, I have seen this. It only covers single parameters, however I am trying to look into passing a table as input.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 01 Sep 2018 04:31:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/491804#M129076</guid>
      <dc:creator>UdayGuntupalli</dc:creator>
      <dc:date>2018-09-01T04:31:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to read a table from XML Input call in SOAP ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/491935#M129180</link>
      <description>&lt;P&gt;I am afraid I am out of my depth, but maybe&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/40846"&gt;@ArvAmundson&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/20774"&gt;@MagnusGustavsson&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32"&gt;@BrunoMueller&lt;/a&gt;&amp;nbsp;would be&amp;nbsp;able to help?&lt;/P&gt;</description>
      <pubDate>Sun, 02 Sep 2018 22:19:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/491935#M129180</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-09-02T22:19:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to read a table from XML Input call in SOAP ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/492260#M129337</link>
      <description>&lt;P&gt;Just to clarify.&amp;nbsp; Are you trying to take one or more columns from a SAS table and populate fields in the request XML file that you submit with the PROC SOAP?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Sep 2018 12:39:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/492260#M129337</guid>
      <dc:creator>ArvAmundson</dc:creator>
      <dc:date>2018-09-04T12:39:06Z</dc:date>
    </item>
    <item>
      <title>Re: How to read a table from XML Input call in SOAP ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/492331#M129357</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/40846"&gt;@ArvAmundson&lt;/a&gt;,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;No. I am trying to just pass a table from another application for e.g. say C# pass a table in its XML soap request to the service&lt;/P&gt;</description>
      <pubDate>Tue, 04 Sep 2018 15:09:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/492331#M129357</guid>
      <dc:creator>UdayGuntupalli</dc:creator>
      <dc:date>2018-09-04T15:09:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to read a table from XML Input call in SOAP ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/492334#M129358</link>
      <description>I can't help you then.  I have looped thru tables one record at a time with a macro and used the contents to fill out the request XML.  However, I have not used it to transfer a whole table.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 04 Sep 2018 15:15:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/492334#M129358</guid>
      <dc:creator>ArvAmundson</dc:creator>
      <dc:date>2018-09-04T15:15:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to read a table from XML Input call in SOAP ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/492809#M129582</link>
      <description>&lt;P&gt;Have you already defined the Stored Process with&amp;nbsp;Input/Output data source definitions and looked at the WSDL&amp;nbsp;coming back from the webservice, this should reflect how to provide the data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is&amp;nbsp;sample code on how to access the XML data passed in:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;libname ws_ixml xmlv2;

proc copy in=ws_ixml out=work;
run;

proc contents data=work._all_ ;
run;

proc print data=work.t1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The definition of the WS_IXML looks like this:&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="image.png" style="width: 600px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/23025iEA48B02066709654/image-size/large?v=v2&amp;amp;px=999" role="button" title="image.png" alt="image.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Web Service&amp;nbsp;request looks like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&amp;lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:biw="http://www.sas.com/xml/namespace/biwebservices"&amp;gt;
   &amp;lt;soapenv:Header/&amp;gt;
   &amp;lt;soapenv:Body&amp;gt;
      &amp;lt;biw:ws_input_data&amp;gt;
         &amp;lt;biw:streams&amp;gt;
            &amp;lt;biw:ws_ixml contentType="?"&amp;gt;
               &amp;lt;biw:Value&amp;gt;
                  &amp;lt;!--You may enter ANY elements at this point--&amp;gt;
                  &amp;lt;root&amp;gt;
                     &amp;lt;t1&amp;gt;
                        &amp;lt;c1&amp;gt;r1c1&amp;lt;/c1&amp;gt;
                        &amp;lt;c2&amp;gt;r1c2&amp;lt;/c2&amp;gt;
                        &amp;lt;c3&amp;gt;123&amp;lt;/c3&amp;gt;
                        &amp;lt;c4&amp;gt;2018-09-05&amp;lt;/c4&amp;gt;
                     &amp;lt;/t1&amp;gt;
                     &amp;lt;t1&amp;gt;
                        &amp;lt;c1&amp;gt;r2c1&amp;lt;/c1&amp;gt;
                        &amp;lt;c2&amp;gt;r2c2&amp;lt;/c2&amp;gt;
                        &amp;lt;c3&amp;gt;456&amp;lt;/c3&amp;gt;
                        &amp;lt;c4&amp;gt;2018-09-05&amp;lt;/c4&amp;gt;
                     &amp;lt;/t1&amp;gt;
                  &amp;lt;/root&amp;gt;
               &amp;lt;/biw:Value&amp;gt;
            &amp;lt;/biw:ws_ixml&amp;gt;
         &amp;lt;/biw:streams&amp;gt;
      &amp;lt;/biw:ws_input_data&amp;gt;
   &amp;lt;/soapenv:Body&amp;gt;
&amp;lt;/soapenv:Envelope&amp;gt;&lt;/PRE&gt;
&lt;P&gt;The request xml was taken from SoapUI.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So the XML between the&amp;nbsp;&amp;lt;biw:Value&amp;gt;&amp;lt;/biw:Value&amp;gt; tags can be read using the XMLV2 libname engine.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The XML data passed in to the WS_IXML libref can be read without using a XML Map file.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;root&amp;gt; is the root tag, &amp;lt;t1&amp;gt; is the table name, each repeating &amp;lt;t1&amp;gt; ... &amp;lt;/t1&amp;gt; is treated as an observation. The &amp;lt;c4&amp;gt; column is an example how to pass in a date.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can get the WSDL of a Stored process called as a SAS Webservice like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;http://host:port/SASBIWS/services/&amp;lt;metadata folder name&amp;gt;/&amp;lt;stored process name&amp;gt;?WSDL
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope this helps&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Sep 2018 20:37:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-read-a-table-from-XML-Input-call-in-SOAP/m-p/492809#M129582</guid>
      <dc:creator>BrunoMueller</dc:creator>
      <dc:date>2018-09-05T20:37:44Z</dc:date>
    </item>
  </channel>
</rss>

