QueryPage Sample SOAP Requests

This topic contains a number of sample SOAP requests and responses to illustrate the use of the QueryPage API.

Sample SOAP Request 1 - QueryPage with Field-level Filter

The following SOAP request queries for contact records that have a ContactType like 'Customer*'. It demonstrates the use of optional attributes at the List of objects level: pagesize, startrownum, and recordcountneeded, and the use of optional elements <ViewMode> and <LOVLanguageMode>.

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
secext-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Header>
      <wsse:Security>
         <wsse:UsernameToken>
            <wsse:Username>%%USERNAME%%</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">%%PASSWORD%%</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soap:Header>
   <soap:Body>
      <ContactQueryPage_Input xmlns="urn:crmondemand/ws/ecbs/contact/">
         <ViewMode>Personal</ViewMode>
         <LOVLanguageMode>LIC</LOVLanguageMode>
         <ListOfContact pagesize="100" startrownum="0" recordcountneeded="true">
            <Contact>
               <ContactFirstName/>
               <ContactLastName/>
               <ContactType>LIKE 'Customer*'</ContactType>
               <ContactEmail/>
               <ListOfActivity>
                  <Activity>
                     <Subject/>
                  </Activity>
               </ListOfActivity>
            </Contact>
         </ListOfContact>
      </ContactQueryPage_Input>
   </soap:Body>
</soap:Envelope>

Sample SOAP Response 1

The following SOAP response shows the list of 5 objects returned by SOAP request 1.

<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <SOAP-ENV:Body>
      <ns:ContactQueryPage_Output xmlns:ns="urn:crmondemand/ws/ecbs/contact/">
         <ListOfContact xmlns="urn:/crmondemand/xml/Contact/Data" recordcount="5" lastpage="true">
            <Contact>
               <ContactEmail></ContactEmail>
               <ContactFirstName>D</ContactFirstName>
               <ContactLastName>Dan</ContactLastName>
               <ContactType>Customer</ContactType>
               <ListOfActivity lastpage="true">
                  <Activity>
                     <Subject>Send D Dan welcome email</Subject>
                  </Activity>
               </ListOfActivity>
            </Contact>
            <Contact>
               <ContactEmail></ContactEmail>
               <ContactFirstName>L</ContactFirstName>
               <ContactLastName>Lak</ContactLastName>
               <ContactType>Customer</ContactType>
               <ListOfActivity lastpage="true">
                  <Activity>
                     <Subject>Send L Lak welcome email</Subject>
                  </Activity>
               </ListOfActivity>
            </Contact>
            <Contact>
               <ContactEmail></ContactEmail>
               <ContactFirstName>NewCon6</ContactFirstName>
               <ContactLastName>Con6</ContactLastName>
               <ContactType>Customer</ContactType>
               <ListOfActivity lastpage="true">
                  <Activity>
                     <Subject>Add activity to C Contacts</Subject>
                  </Activity>
               </ListOfActivity>
            </Contact>
            <Contact>
               <ContactEmail>n@l.com</ContactEmail>
               <ContactFirstName>Nathan</ContactFirstName>
               <ContactLastName>Lak</ContactLastName>
               <ContactType>Customer</ContactType>
               <ListOfActivity lastpage="true">
                  <Activity>
                     <Subject>Send Nathan Lak welcome email</Subject>
                  </Activity>
                  <Activity>
                     <Subject>Send Jordan Lak welcome email</Subject>
                  </Activity>
                  <Activity>
                     <Subject>Send J Lak welcome email</Subject>
                  </Activity>
                  <Activity>
                     <Subject>ActivityInsert Test R19</Subject>
                  </Activity>
                  <Activity>
                     <Subject>ActivityInsert Test R19 2</Subject>
                  </Activity>
                  <Activity>
                     <Subject>ActivityInsert Test R19 2</Subject>
                  </Activity>
               </ListOfActivity>
            </Contact>
            <Contact>
               <ContactEmail></ContactEmail>
               <ContactFirstName>NewCon5</ContactFirstName>
               <ContactLastName>NewCon5</ContactLastName>
               <ContactType>Customer</ContactType>
               <ListOfActivity lastpage="true"></ListOfActivity>
            </Contact>
         </ListOfContact>
      </ns:ContactQueryPage_Output>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Sample SOAP Request 2 - QueryPage with searchspec, sortsequence and sortorder Attributes

The following SOAP request queries for Contact records by specifying a search criterion with an OR conjunction in the searchspec attribute.

The samples also demonstrate use of the optional pagesize, startrownum, and recordcountneeded attributes at the <ListOfObject> level.

In SOAP request 2a, pagesize = 5 and startrownum = 0, this request returns the 5 records starting at row 0 (first record) that match the search criteria.

In SOAP request 2b, pagesize = 5 and startrownum = 5, this request returns the next 5 records starting at row 5 (sixth record) that match the search criteria.

In addition, the sample demonstrates the sortsequence and sortorder attributes at the element level to specify the sort order and sort sequence of the whole result set (including rows of records not returned due to the pagesize limit). Note that across both responses, (SOAP response 2a and SOAP response 2b), the records are sorted accordinh to the specified sort sequence and sort order.

Sample SOAP Request 2a

In this SOAP request, pagesize = 5 and startrownum = 0:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
secext-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Header>
      <wsse:Security>
         <wsse:UsernameToken>
            <wsse:Username>%%USERNAME%%</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">%%PASSWORD%%</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soap:Header>
   <soap:Body>
      <ContactQueryPage_Input xmlns="urn:crmondemand/ws/ecbs/contact/">
         <ListOfContact pagesize="5" startrownum="0" recordcountneeded="true">
            <Contact searchspec="[ContactLastName] LIKE 'C*' OR [ContactType] = 'Customer'">
               <ContactFirstName></ContactFirstName>
               <ContactLastName sortorder="DESC" sortsequence="2"></ContactLastName>
               <ContactType sortorder="DESC" sortsequence="1"></ContactType>
            </Contact>
         </ListOfContact>
      </ContactQueryPage_Input>
   </soap:Body>
</soap:Envelope>

Sample SOAP Response 2a

The following SOAP response shows the list of 5 objects returned by SOAP request 2a:

<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <SOAP-ENV:Body>
      <ns:ContactQueryPage_Output xmlns:ns="urn:crmondemand/ws/ecbs/contact/">
         <ListOfContact xmlns="urn:/crmondemand/xml/Contact/Data" recordcount="54" lastpage="false">
            <Contact>
               <ContactFirstName>James</ContactFirstName>
               <ContactLastName>Conners</ContactLastName>
               <ContactType>Prospect</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>Ruth</ContactFirstName>
               <ContactLastName>Chou</ContactLastName>
               <ContactType>Prospect</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>Jason</ContactFirstName>
               <ContactLastName>Cheney</ContactLastName>
               <ContactType>Prospect</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>Sean</ContactFirstName>
               <ContactLastName>Thomas</ContactLastName>
               <ContactType>Customer</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>Carlos</ContactFirstName>
               <ContactLastName>Santos</ContactLastName>
               <ContactType>Customer</ContactType>
            </Contact>
         </ListOfContact>
      </ns:ContactQueryPage_Output>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Sample SOAP Request 2b

In this SOAP request, pagesize = 5 and startrownum = 5

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
secext-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Header>
      <wsse:Security>
         <wsse:UsernameToken>
            <wsse:Username>%%USERNAME%%</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">%%PASSWORD%%</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soap:Header>
   <soap:Body>
      <ContactQueryPage_Input xmlns="urn:crmondemand/ws/ecbs/contact/">
         <ListOfContact pagesize="5" startrownum="5" recordcountneeded="true">
            <Contact searchspec="[ContactLastName] LIKE 'C*' OR [ContactType] = 'Customer'">
               <ContactFirstName></ContactFirstName>
               <ContactLastName sortorder="DESC" sortsequence="2"></ContactLastName>
               <ContactType sortorder="DESC" sortsequence="1"></ContactType>
            </Contact>
         </ListOfContact>
      </ContactQueryPage_Input>
   </soap:Body>
</soap:Envelope>

Sample SOAP Response 2b

The following SOAP response shows the list of 5 objects returned by the request in SOAP request 2b:

<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <SOAP-ENV:Body>
      <ns:ContactQueryPage_Output xmlns:ns="urn:crmondemand/ws/ecbs/contact/">
         <ListOfContact xmlns="urn:/crmondemand/xml/Contact/Data" recordcount="54" lastpage="false">
            <Contact>
               <ContactFirstName>Nick</ContactFirstName>
               <ContactLastName>Ray</ContactLastName>
               <ContactType>Customer</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>Joanna</ContactFirstName>
               <ContactLastName>Pressman</ContactLastName>
               <ContactType>Customer</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>Marianne</ContactFirstName>
               <ContactLastName>Pok</ContactLastName>
               <ContactType>Customer</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>Brian</ContactFirstName>
               <ContactLastName>Pittenger</ContactLastName>
               <ContactType>Customer</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>Marie</ContactFirstName>
               <ContactLastName>Perkins</ContactLastName>
               <ContactType>Customer</ContactType>
            </Contact>
         </ListOfContact>
      </ns:ContactQueryPage_Output>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Sample SOAP Request 3 - QueryPage with NamedSearchSpec

The following SOAP request queries for contact records in a specific contact list by specifying the contact list name in the <NamedSearchSpec> element.

The following table shows the records in the C Contacts list from the Oracle CRM On Demand UI. There are a total of 11 records in the list, therefore the recordcount value returned in the SOAP response equals 11.

Table Example of Records in a Contact List

Row Last Name First Name Contact Type Owner Alias

0

Cuthbery

David

Customer

Donna Jones

1

Coxe

Robin

Customer

Donna Jones

2

Connolly

John

Customer

Jeff Smith

3

Connors

James

Prospect

Jeff Smith

4

Cone

Alexander

Customer

Ian McAllistair

5

Con6

NewCon6

Customer

Joanne Brown

6

Cohen

Adam

Customer

Ian McAllistair

7

Clatt

Mark

Customer

Donna Jones

8

Chu

Will

Customer

Jeff Smith

9

Chou

Ruth

Prospect

Donna Jones

10

Cheney

Jason

Prospect

Ian McAllistair

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
secext-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Header>
      <wsse:Security>
         <wsse:UsernameToken>
            <wsse:Username>%%USERNAME%%</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">%%PASSWORD%%</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soap:Header>
   <soap:Body>
      <ContactQueryPage_Input xmlns="urn:crmondemand/ws/ecbs/contact/">
         <NamedSearchSpec>C Contacts</NamedSearchSpec>
         <ListOfContact pagesize="5" startrownum="0" recordcountneeded="true">
            <Contact>
               <ContactFirstName />
               <ContactLastName />
               <ContactType />
            </Contact>
         </ListOfContact>
      </ContactQueryPage_Input>
   </soap:Body>
</soap:Envelope>

Sample SOAP Response 3

The following SOAP response shows the list of contacts returned by sample SOAP request 3.

<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <SOAP-ENV:Body>
      <ns:ContactQueryPage_Output xmlns:ns="urn:crmondemand/ws/ecbs/contact/">
         <ListOfContact xmlns="urn:/crmondemand/xml/Contact/Data" recordcount="11" lastpage="false">
            <Contact>
               <ContactFirstName>David</ContactFirstName>
               <ContactLastName>Cuthbery</ContactLastName>
               <ContactType>Customer</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>Robin</ContactFirstName>
               <ContactLastName>Coxe</ContactLastName>
               <ContactType>Customer</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>John</ContactFirstName>
               <ContactLastName>Connolly</ContactLastName>
               <ContactType>Customer</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>James</ContactFirstName>
               <ContactLastName>Conners</ContactLastName>
               <ContactType>Prospect</ContactType>
            </Contact>
            <Contact>
               <ContactFirstName>Alexander</ContactFirstName>
               <ContactLastName>Cone</ContactLastName>
               <ContactType>Customer</ContactType>
            </Contact>
         </ListOfContact>
      </ns:ContactQueryPage_Output>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>