Quantcast
Channel: SCN : Popular Discussions - RESTful Web Services SDK
Viewing all articles
Browse latest Browse all 1088

Need help with XML response to refresh document with context and prompts

$
0
0

I've been working with the Restful api for a few weeks now and have been able to figure out most of what I need to automate testing of our reports. However, one task that I have not been able to figure out is how to refresh a document that contains both a context and two prompts for dates.

 

Here is what I have tried, and what the API responds with.

 

1) I queried the API for this document's parameters using the following call after logging in -

  

headers = {:accept=>'application/xml', :content_type=>'application/xml', :x_sap_logontoken=>@token}

url = "http://our.url.net:6405/biprws/raylight/v1/documents/12345/parameters"

RestClient.get(url, headers)

 

The response from the API is:

 

<parameters>

    <parameter dpId="DP0" type="context" optional="false">

        <id>0</id>

        <technicalName>cQuery 1</technicalName>

        <name>Select a context</name>

        <answer type="Text" constrained="true">

            <info cardinality="Single">

                <lov partial="false">

                    <values>

                        <value id="CTX_1">LOAN</value>

                        <value id="CTX_9">LOAN_APPLICATION</value>

                    </values>

                </lov>

                <values>

                    <value id="CTX_1">LOAN</value>

                    <value id="CTX_9">LOAN_APPLICATION</value>

                </values>

                <previous>

                    <value id="CTX_9">LOAN_APPLICATION</value>

                </previous>

            </info>

            <values>

                <value id="CTX_9">LOAN_APPLICATION</value>

            </values>

        </answer>

    </parameter>

</parameters>

 

2) This tells me I need to supply a context, so I then replace my RestClient.get call with a RestClient.put call with the following payload:

 

<parameters>

     <parameter>

            <id>0</id>

            <answer>

                  <values>

                        <value id=\"CTX_9\"/>

                  </values>

            </answer>

      </parameter>

</parameters>

 

3) This satisfies the context portion of the refresh. The API replies with the following response, telling me I need to answer two prompts -

 

<parameters>

     <parameter dpId=\"DP0\" type=\"prompt\" optional=\"false\">

          <id>1</id>

          <technicalName>psEnter value(s) for Start Date of Application Received Date</technicalName>

          <name>Enter value(s) for Start Date of Application Received Date</name>

           <answer type=\"DateTime\" constrained=\"false\">\

                <info cardinality=\"Single\"/>

           </answer>

     </parameter>

     <parameter dpId=\"DP0\" type=\"prompt\" optional=\"false\">

            <id>2</id>

            <technicalName>psEnter value for End Date of Application Received Date</technicalName>

            <name>Enter value for End Date of Application Received Date</name>\

            <answer type=\"DateTime\" constrained=\"false\">

                <info cardinality=\"Single\"/>

            </answer>

      </parameter>

</parameters>

 

4) Here is where I am having problems. I have tried all kinds of permutations of the below payload/response body. All I ever get from the API is a 400 - BadResponse error.

 

<parameters>

     <parameter>

          <id>0</id>

          <answer>

               <values>

                    <value id=\"CTX_9\"/>

               </values>

          </answer>

     </parameter>

</parameters>

<parameters>

     <parameter type=\"prompt\">

          <id > 1 </ id>

          <answer type=\"DateTime\">

               <values>

                    <value>2012-06-11T09:50:54.000-04:00</value>

               </values>

           </answer>

     </parameter>

     <parameter type=\"prompt\">

           <id > 2 </ id>

           <answer type=\"DateTime\">

                <values>

                     <value>2014-07-11T09:50:54.967-04:00</value>

                </values>

           </answer>

     </parameter>

</parameters>

 

 

I am not very good with XML and the terminology around it, and I haven't received much training around using the Restful API other than the SDK documentation. I have a feeling there is something very basic that Im missing here. What is the correct XML needed in the response body to properly refresh the document?


Viewing all articles
Browse latest Browse all 1088

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>