Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
SAPjedi
Contributor

First, welcome back as we continue our journey on using soapUI to test SAP Cloud webservices.  Also a Happy New Year 2014 !

Before we continue, note that I wrote the title as "test any Cloud webservice" because soapUI is just a diagnostic tool to be used.  It is NOT a  production tool to do the actual integration.  Rather, with soapUI, you can easily diagnose (independent of SAP, your environment, the network, etc) what issues may be stopping your integration using the SAP webservice.

So let's resume:

3. Complete the right parameters for the WSDL

To make a request using the Customer Query webservice, the parameters are in XML format in the provided Request 1.  The sample Request 1 will include every defined parameter.

It looks like this below.   The values to be filled are left as "?" by the WSDL.

For this operation "QueryByIdentification", there are multiple parameter "groups" - SelectionByInteralID (line 8), SelectionByUUID (line 19), etc.

We will edit the XML to retrieve a customer with the Internal ID of  67890.  We remove the XML we don't need.

So the updated XML (reduced by a lot!) within the <Body> looks like this:

   <soapenv:Body>

      <glob:CustomerByIdentificationQuery_sync>

         <!--Optional:-->

         <CustomerSelectionByIdentification>

            <!--Zero or more repetitions:-->

            <SelectionByInternalID>

               <!--Optional:-->

               <InclusionExclusionCode>I</InclusionExclusionCode>

               <!--Optional:-->

               <IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode>

               <!--Optional:-->

               <LowerBoundaryInternalID>67890</LowerBoundaryInternalID>

               <!--Optional:-->

            </SelectionByInternalID>

            <!--Zero or more repetitions:-->

         </CustomerSelectionByIdentification>

         <!--Optional:-->

         <ProcessingConditions>

            <!--Optional:-->

            <QueryHitsMaximumNumberValue>100</QueryHitsMaximumNumberValue>

            <QueryHitsUnlimitedIndicator>false</QueryHitsUnlimitedIndicator>

         </ProcessingConditions>

         <!--Optional:-->

      </glob:CustomerByIdentificationQuery_sync>

or in soapUI:

An important note is the <ProcessingConditions> node (see line 20 in the diagarm above).  This is mandatory.  The values I have used is to specifiy a max of 100 records and that it's NOT unlimited rows to be retrieved.  That is, we are limiting our return set of records up to 100.

You will learn from the documentation how to specify a range of customer IDs.  Right now, I'm showing just 1 Account to be retrieved.

Be sure to save your project by clicking on menu File -> Save All Projects

4. Run the WSDL.

a. Before you run the webservice call, a good practice is to check the syntax.   Do a right-mouse click, and select

Generally it will tell you the line number and what error is causing the issue.  Note that this is syntax checking and validation according to the WSDL definition.

b. As you can see, there's another best practice to do -- which is to use the "Format XML" (again in the screenshot).  If your XML starts looking like spagetti or chow-mein, use this to reformat your XML.

c. Last step - make sure your Request has the credentials to access the webservice.  This would be setup when the Communication Arrangements was created, and the userid generally starts with "_"  underscore.

     Enter the webservice userid and password in the bottom left properties box to the respective property:

Finally we can run this !  To run,  click the GREEN arrow for your request.  See here:

If this is a valid Account ID, the results will appear in the window to the right of the Request XML.   If it is not found or an error, you will also see it in the response XML.

I hope this blog has provided a good kickstart on your way to doing integrations with SAP Cloud applications !

14 Comments