This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »



Overview

The following operations allow you to work with "fetch". Click an operation name to see details on how to use it.

For a sample proxy service that illustrates how to work with "fetch", see Sample configuration.

OperationDescription

1Working with Fetch in Zuora SOAP

Use to retrieve information about the user.

1Working with Fetch in Zuora SOAPUse to retrieve a list of one or more zobjects.
1Working with Fetch in Zuora SOAPUse to request additional results from a previous query call.

Operation details

This section provides details on the operations.

Getting the user information

The getUserInfo operation is used to retrieve information about the user.

 

getUserInfo
<zuorasoap.getUserInfo/>
Sample request

Following is a sample SOAP request that can be handled by the getUserInfo operation.

Sample Request for getUserInfo
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="wso2.connector.zuora">
  <soapenv:Header/>
   <soapenv:Body>
      <urn:apiUrl>https://apisandbox.zuora.com/apps/services/a/74.0</urn:apiUrl>
      <urn:username>zuora@wso2.com</urn:username>
      <urn:password>Zuora#123</urn:password>
   </soapenv:Body>
</soapenv:Envelope>

Querying records

The query operation can be used to retrieve a list of one or more zobjects by providing the queryString.

query
<zuorasoap.query>
    <queryString>{$ctx:queryString}</queryString>
	<batchSize>{$ctx:batchSize}</batchSize>
</zuorasoap.query>
Properties
  • queryString: The query expression by specifying the object to query.

  • batchSize: The batch size of the query result.
  • caseSensitive: Indicates if the query filter results returned consider case-sensitivity.
Sample request

Following is a sample SOAP request that can be handled by the query operation.

Sample Request for query
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="wso2.connector.zuora">
  <soapenv:Header/>
   <soapenv:Body>
      <urn:apiUrl>https://apisandbox.zuora.com/apps/services/a/74.0</urn:apiUrl>
      <urn:username>zuora@wso2.com</urn:username>
      <urn:password>Zuora#123</urn:password>
      <urn:queryString>Select Id From Account</urn:queryString>
      <urn:batchSize>200</urn:batchSize>
   </soapenv:Body>
</soapenv:Envelope>
Related Zuora documentation

https://knowledgecenter.zuora.com/DC_Developers/SOAP_API/E_SOAP_API_Calls/query_call

 Querying more records

The queryMore operation can be used to request additional results from a previous query call by providing the queryLocator.

queryMore
 <zuorasoap.query>
    <queryString>{$ctx:queryString}</queryString>
	<batchSize>{$ctx:batchSize}</batchSize>
</zuorasoap.query>
<iterate xmlns:zuora="http://wso2.org/zuorasoap/adaptor"
	continueParent="true"
    expression="//zuora:iterator">
    <target>
    	<sequence>
        	<zuorasoap.queryMore>
            	<batchSize>{$ctx:batchSize}</batchSize>
            </zuorasoap.queryMore>
        </sequence>
    </target>
</iterate>
Properties
  • batchSize: The batch size of the query result.

Following is a sample SOAP request that can be handled by the queryMore operation.

Sample Request for queryMore
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="wso2.connector.zuora">
  <soapenv:Header/>
   <soapenv:Body>
      <urn:apiUrl>https://apisandbox.zuora.com/apps/services/a/74.0</urn:apiUrl>
      <urn:username>zuora@wso2.com</urn:username>
      <urn:password>Zuora#123</urn:password>
      <urn:queryString>Select Id From Account</urn:queryString>
      <urn:batchSize>200</urn:batchSize>
   </soapenv:Body>
</soapenv:Envelope>
Related Zuora documentation

https://knowledgecenter.zuora.com/DC_Developers/SOAP_API/E_SOAP_API_Calls/queryMore_call

Sample configuration

Following is a sample proxy service that illustrates how to connect to Zuora with the init operation and use the queryMore operation. The sample request for this proxy can be found in  queryMore sample request. You can use this sample as a template for using other operations in this category.

Sample Proxy
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="queryMore"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <property xmlns:ns="wso2.connector.zuora"
                   name="apiUrl"
                   expression="//ns:apiUrl/text()"/>
         <property xmlns:ns="wso2.connector.zuora"
                   name="username"
                   expression="//ns:username/text()"/>
         <property xmlns:ns="wso2.connector.zuora"
                   name="password"
                   expression="//ns:password/text()"/>
         <property xmlns:ns="wso2.connector.zuora"
                   name="batchSize"
                   expression="//ns:batchSize/text()"/>
         <property xmlns:ns="wso2.connector.zuora"
                   name="queryString"
                   expression="//ns:queryString/text()"/>
         <zuorasoap.init>
            <apiUrl>{$ctx:apiUrl}</apiUrl>
            <username>{$ctx:username}</username>
            <password>{$ctx:password}</password>
         </zuorasoap.init>
         <zuorasoap.query>
            <queryString>{$ctx:queryString}</queryString>
            <batchSize>{$ctx:batchSize}</batchSize>
         </zuorasoap.query>
         <iterate xmlns:zuora="http://wso2.org/zuorasoap/adaptor"
                  continueParent="true"
                  expression="//zuora:iterator">
            <target>
               <sequence>
                  <zuorasoap.queryMore>
                     <batchSize>{$ctx:batchSize}</batchSize>
                  </zuorasoap.queryMore>
               </sequence>
            </target>
         </iterate>
         <respond/>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </target>
   <description/>
</proxy>                                    
  • No labels