Chilkat Online Tools

BatchRead Foxpro Example

Amazon Cloud Directory

LOCAL loRest
LOCAL lnSuccess
LOCAL loAuthAws
LOCAL loJson
LOCAL loSbRequestBody
LOCAL loSbResponseBody
LOCAL lnRespStatusCode
LOCAL loJResp
LOCAL lcMessage
LOCAL lcV_Type
LOCAL lcObjectIdentifier
LOCAL lcNextToken
LOCAL lcListIncomingTypedLinksNextToken
LOCAL lcListIndexNextToken
LOCAL lcListObjectAttributesNextToken
LOCAL lcV_String
LOCAL lcListObjectChildrenNextToken
LOCAL lcListObjectParentPathsNextToken
LOCAL lcListObjectParentsNextToken
LOCAL lcListObjectPoliciesNextToken
LOCAL lcListOutgoingTypedLinksNextToken
LOCAL lcListPolicyAttachmentsNextToken
LOCAL lcLookupPolicyNextToken
LOCAL j
LOCAL lnCount_j
LOCAL lcFacetName
LOCAL lcName
LOCAL lcSchemaArn
LOCAL lnBinaryValue
LOCAL lnBooleanValue
LOCAL lnDatetimeValue
LOCAL lcNumberValue
LOCAL lcStringValue
LOCAL lcKeyFacetName
LOCAL lcKeyName
LOCAL lcKeySchemaArn
LOCAL lnValueBinaryValue
LOCAL lnValueBooleanValue
LOCAL lnValueDatetimeValue
LOCAL lcValueNumberValue
LOCAL lcValueStringValue
LOCAL k
LOCAL lnCount_k
LOCAL lcSelector
LOCAL lcTargetObjectReferenceSelector
LOCAL lcTypedLinkFacetSchemaArn
LOCAL lcTypedLinkName
LOCAL lcAttributeName
LOCAL lcPath
LOCAL lcStrVal
LOCAL lcLinkName
LOCAL lcSourceObjectReferenceSelector
LOCAL lcTypedLinkFacetTypedLinkName
LOCAL lcPolicyId
LOCAL lcPolicyType
LOCAL i
LOCAL lnCount_i

* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loRest = CreateObject('Chilkat_9_5_0.Rest')

loAuthAws = CreateObject('Chilkat_9_5_0.AuthAws')
loAuthAws.AccessKey = "AWS_ACCESS_KEY"
loAuthAws.SecretKey = "AWS_SECRET_KEY"

* Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
loAuthAws.Region = "us-west-2"
loAuthAws.ServiceName = "clouddirectory"
* SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
loRest.SetAuthAws(loAuthAws)

* URL: https://clouddirectory.us-west-2.amazonaws.com/
* Use the same region as specified above.
lnSuccess = loRest.Connect("clouddirectory.us-west-2.amazonaws.com",443,1,1)
IF (lnSuccess <> 1) THEN
    ? "ConnectFailReason: " + STR(loRest.ConnectFailReason)
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loAuthAws
    CANCEL
ENDIF

* The following code creates the JSON request body.
* The JSON created by this code is shown below.

* Use this online tool to generate code from sample JSON:
* Generate Code to Create JSON

loJson = CreateObject('Chilkat_9_5_0.JsonObject')
loJson.UpdateString("Operations[0].GetLinkAttributes.AttributeNames[0]","string")
loJson.UpdateString("Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].AttributeName","string")
loJson.UpdateInt("Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BinaryValue",123)
loJson.UpdateInt("Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BooleanValue",123)
loJson.UpdateInt("Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.DatetimeValue",123)
loJson.UpdateString("Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.NumberValue","string")
loJson.UpdateString("Operations[0].GetLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.StringValue","string")
loJson.UpdateString("Operations[0].GetLinkAttributes.TypedLinkSpecifier.SourceObjectReference.Selector","string")
loJson.UpdateString("Operations[0].GetLinkAttributes.TypedLinkSpecifier.TargetObjectReference.Selector","string")
loJson.UpdateString("Operations[0].GetLinkAttributes.TypedLinkSpecifier.TypedLinkFacet.SchemaArn","string")
loJson.UpdateString("Operations[0].GetLinkAttributes.TypedLinkSpecifier.TypedLinkFacet.TypedLinkName","string")
loJson.UpdateString("Operations[0].GetObjectAttributes.AttributeNames[0]","string")
loJson.UpdateString("Operations[0].GetObjectAttributes.ObjectReference.Selector","string")
loJson.UpdateString("Operations[0].GetObjectAttributes.SchemaFacet.FacetName","string")
loJson.UpdateString("Operations[0].GetObjectAttributes.SchemaFacet.SchemaArn","string")
loJson.UpdateString("Operations[0].GetObjectInformation.ObjectReference.Selector","string")
loJson.UpdateInt("Operations[0].ListAttachedIndices.MaxResults",123)
loJson.UpdateString("Operations[0].ListAttachedIndices.NextToken","string")
loJson.UpdateString("Operations[0].ListAttachedIndices.TargetReference.Selector","string")
loJson.UpdateString("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].AttributeName","string")
loJson.UpdateString("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndMode","string")
loJson.UpdateInt("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndValue.BinaryValue",123)
loJson.UpdateInt("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndValue.BooleanValue",123)
loJson.UpdateInt("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndValue.DatetimeValue",123)
loJson.UpdateString("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndValue.NumberValue","string")
loJson.UpdateString("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.EndValue.StringValue","string")
loJson.UpdateString("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartMode","string")
loJson.UpdateInt("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartValue.BinaryValue",123)
loJson.UpdateInt("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartValue.BooleanValue",123)
loJson.UpdateInt("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartValue.DatetimeValue",123)
loJson.UpdateString("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartValue.NumberValue","string")
loJson.UpdateString("Operations[0].ListIncomingTypedLinks.FilterAttributeRanges[0].Range.StartValue.StringValue","string")
loJson.UpdateString("Operations[0].ListIncomingTypedLinks.FilterTypedLink.SchemaArn","string")
loJson.UpdateString("Operations[0].ListIncomingTypedLinks.FilterTypedLink.TypedLinkName","string")
loJson.UpdateInt("Operations[0].ListIncomingTypedLinks.MaxResults",123)
loJson.UpdateString("Operations[0].ListIncomingTypedLinks.NextToken","string")
loJson.UpdateString("Operations[0].ListIncomingTypedLinks.ObjectReference.Selector","string")
loJson.UpdateString("Operations[0].ListIndex.IndexReference.Selector","string")
loJson.UpdateInt("Operations[0].ListIndex.MaxResults",123)
loJson.UpdateString("Operations[0].ListIndex.NextToken","string")
loJson.UpdateString("Operations[0].ListIndex.RangesOnIndexedValues[0].AttributeKey.FacetName","string")
loJson.UpdateString("Operations[0].ListIndex.RangesOnIndexedValues[0].AttributeKey.Name","string")
loJson.UpdateString("Operations[0].ListIndex.RangesOnIndexedValues[0].AttributeKey.SchemaArn","string")
loJson.UpdateString("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndMode","string")
loJson.UpdateInt("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndValue.BinaryValue",123)
loJson.UpdateInt("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndValue.BooleanValue",123)
loJson.UpdateInt("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndValue.DatetimeValue",123)
loJson.UpdateString("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndValue.NumberValue","string")
loJson.UpdateString("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.EndValue.StringValue","string")
loJson.UpdateString("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartMode","string")
loJson.UpdateInt("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartValue.BinaryValue",123)
loJson.UpdateInt("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartValue.BooleanValue",123)
loJson.UpdateInt("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartValue.DatetimeValue",123)
loJson.UpdateString("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartValue.NumberValue","string")
loJson.UpdateString("Operations[0].ListIndex.RangesOnIndexedValues[0].Range.StartValue.StringValue","string")
loJson.UpdateString("Operations[0].ListObjectAttributes.FacetFilter.FacetName","string")
loJson.UpdateString("Operations[0].ListObjectAttributes.FacetFilter.SchemaArn","string")
loJson.UpdateInt("Operations[0].ListObjectAttributes.MaxResults",123)
loJson.UpdateString("Operations[0].ListObjectAttributes.NextToken","string")
loJson.UpdateString("Operations[0].ListObjectAttributes.ObjectReference.Selector","string")
loJson.UpdateInt("Operations[0].ListObjectChildren.MaxResults",123)
loJson.UpdateString("Operations[0].ListObjectChildren.NextToken","string")
loJson.UpdateString("Operations[0].ListObjectChildren.ObjectReference.Selector","string")
loJson.UpdateInt("Operations[0].ListObjectParentPaths.MaxResults",123)
loJson.UpdateString("Operations[0].ListObjectParentPaths.NextToken","string")
loJson.UpdateString("Operations[0].ListObjectParentPaths.ObjectReference.Selector","string")
loJson.UpdateInt("Operations[0].ListObjectParents.MaxResults",123)
loJson.UpdateString("Operations[0].ListObjectParents.NextToken","string")
loJson.UpdateString("Operations[0].ListObjectParents.ObjectReference.Selector","string")
loJson.UpdateInt("Operations[0].ListObjectPolicies.MaxResults",123)
loJson.UpdateString("Operations[0].ListObjectPolicies.NextToken","string")
loJson.UpdateString("Operations[0].ListObjectPolicies.ObjectReference.Selector","string")
loJson.UpdateString("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].AttributeName","string")
loJson.UpdateString("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndMode","string")
loJson.UpdateInt("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndValue.BinaryValue",123)
loJson.UpdateInt("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndValue.BooleanValue",123)
loJson.UpdateInt("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndValue.DatetimeValue",123)
loJson.UpdateString("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndValue.NumberValue","string")
loJson.UpdateString("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.EndValue.StringValue","string")
loJson.UpdateString("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartMode","string")
loJson.UpdateInt("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartValue.BinaryValue",123)
loJson.UpdateInt("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartValue.BooleanValue",123)
loJson.UpdateInt("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartValue.DatetimeValue",123)
loJson.UpdateString("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartValue.NumberValue","string")
loJson.UpdateString("Operations[0].ListOutgoingTypedLinks.FilterAttributeRanges[0].Range.StartValue.StringValue","string")
loJson.UpdateString("Operations[0].ListOutgoingTypedLinks.FilterTypedLink.SchemaArn","string")
loJson.UpdateString("Operations[0].ListOutgoingTypedLinks.FilterTypedLink.TypedLinkName","string")
loJson.UpdateInt("Operations[0].ListOutgoingTypedLinks.MaxResults",123)
loJson.UpdateString("Operations[0].ListOutgoingTypedLinks.NextToken","string")
loJson.UpdateString("Operations[0].ListOutgoingTypedLinks.ObjectReference.Selector","string")
loJson.UpdateInt("Operations[0].ListPolicyAttachments.MaxResults",123)
loJson.UpdateString("Operations[0].ListPolicyAttachments.NextToken","string")
loJson.UpdateString("Operations[0].ListPolicyAttachments.PolicyReference.Selector","string")
loJson.UpdateInt("Operations[0].LookupPolicy.MaxResults",123)
loJson.UpdateString("Operations[0].LookupPolicy.NextToken","string")
loJson.UpdateString("Operations[0].LookupPolicy.ObjectReference.Selector","string")

* The JSON request body created by the above code:

* {
*   "Operations": [
*     {
*       "GetLinkAttributes": {
*         "AttributeNames": [
*           "string"
*         ],
*         "TypedLinkSpecifier": {
*           "IdentityAttributeValues": [
*             {
*               "AttributeName": "string",
*               "Value": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               }
*             }
*           ],
*           "SourceObjectReference": {
*             "Selector": "string"
*           },
*           "TargetObjectReference": {
*             "Selector": "string"
*           },
*           "TypedLinkFacet": {
*             "SchemaArn": "string",
*             "TypedLinkName": "string"
*           }
*         }
*       },
*       "GetObjectAttributes": {
*         "AttributeNames": [
*           "string"
*         ],
*         "ObjectReference": {
*           "Selector": "string"
*         },
*         "SchemaFacet": {
*           "FacetName": "string",
*           "SchemaArn": "string"
*         }
*       },
*       "GetObjectInformation": {
*         "ObjectReference": {
*           "Selector": "string"
*         }
*       },
*       "ListAttachedIndices": {
*         "MaxResults": number,
*         "NextToken": "string",
*         "TargetReference": {
*           "Selector": "string"
*         }
*       },
*       "ListIncomingTypedLinks": {
*         "FilterAttributeRanges": [
*           {
*             "AttributeName": "string",
*             "Range": {
*               "EndMode": "string",
*               "EndValue": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               },
*               "StartMode": "string",
*               "StartValue": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               }
*             }
*           }
*         ],
*         "FilterTypedLink": {
*           "SchemaArn": "string",
*           "TypedLinkName": "string"
*         },
*         "MaxResults": number,
*         "NextToken": "string",
*         "ObjectReference": {
*           "Selector": "string"
*         }
*       },
*       "ListIndex": {
*         "IndexReference": {
*           "Selector": "string"
*         },
*         "MaxResults": number,
*         "NextToken": "string",
*         "RangesOnIndexedValues": [
*           {
*             "AttributeKey": {
*               "FacetName": "string",
*               "Name": "string",
*               "SchemaArn": "string"
*             },
*             "Range": {
*               "EndMode": "string",
*               "EndValue": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               },
*               "StartMode": "string",
*               "StartValue": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               }
*             }
*           }
*         ]
*       },
*       "ListObjectAttributes": {
*         "FacetFilter": {
*           "FacetName": "string",
*           "SchemaArn": "string"
*         },
*         "MaxResults": number,
*         "NextToken": "string",
*         "ObjectReference": {
*           "Selector": "string"
*         }
*       },
*       "ListObjectChildren": {
*         "MaxResults": number,
*         "NextToken": "string",
*         "ObjectReference": {
*           "Selector": "string"
*         }
*       },
*       "ListObjectParentPaths": {
*         "MaxResults": number,
*         "NextToken": "string",
*         "ObjectReference": {
*           "Selector": "string"
*         }
*       },
*       "ListObjectParents": {
*         "MaxResults": number,
*         "NextToken": "string",
*         "ObjectReference": {
*           "Selector": "string"
*         }
*       },
*       "ListObjectPolicies": {
*         "MaxResults": number,
*         "NextToken": "string",
*         "ObjectReference": {
*           "Selector": "string"
*         }
*       },
*       "ListOutgoingTypedLinks": {
*         "FilterAttributeRanges": [
*           {
*             "AttributeName": "string",
*             "Range": {
*               "EndMode": "string",
*               "EndValue": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               },
*               "StartMode": "string",
*               "StartValue": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               }
*             }
*           }
*         ],
*         "FilterTypedLink": {
*           "SchemaArn": "string",
*           "TypedLinkName": "string"
*         },
*         "MaxResults": number,
*         "NextToken": "string",
*         "ObjectReference": {
*           "Selector": "string"
*         }
*       },
*       "ListPolicyAttachments": {
*         "MaxResults": number,
*         "NextToken": "string",
*         "PolicyReference": {
*           "Selector": "string"
*         }
*       },
*       "LookupPolicy": {
*         "MaxResults": number,
*         "NextToken": "string",
*         "ObjectReference": {
*           "Selector": "string"
*         }
*       }
*     }
*   ]
* }

loRest.AddHeader("Content-Type","application/x-amz-json-1.1")
loRest.AddHeader("X-Amz-Target","BatchRead")

loSbRequestBody = CreateObject('Chilkat_9_5_0.StringBuilder')
loJson.EmitSb(loSbRequestBody)
loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
lnSuccess = loRest.FullRequestSb("POST","/amazonclouddirectory/2017-01-11/batchread",loSbRequestBody,loSbResponseBody)
IF (lnSuccess <> 1) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loAuthAws
    RELEASE loJson
    RELEASE loSbRequestBody
    RELEASE loSbResponseBody
    CANCEL
ENDIF

lnRespStatusCode = loRest.ResponseStatusCode
? "response status code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode <> 200) THEN
    ? "Response Header:"
    ? loRest.ResponseHeader
    ? "Response Body:"
    ? loSbResponseBody.GetAsString()
    RELEASE loRest
    RELEASE loAuthAws
    RELEASE loJson
    RELEASE loSbRequestBody
    RELEASE loSbResponseBody
    CANCEL
ENDIF

loJResp = CreateObject('Chilkat_9_5_0.JsonObject')
loJResp.LoadSb(loSbResponseBody)

* The following code parses the JSON response.
* A sample JSON response is shown below the sample code.

* Use this online tool to generate parsing code from sample JSON:
* Generate Parsing Code from JSON

i = 0
lnCount_i = loJResp.SizeOfArray("Responses")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcMessage = loJResp.StringOf("Responses[i].ExceptionResponse.Message")
    lcV_Type = loJResp.StringOf("Responses[i].ExceptionResponse.Type")
    lcObjectIdentifier = loJResp.StringOf("Responses[i].SuccessfulResponse.GetObjectInformation.ObjectIdentifier")
    lcNextToken = loJResp.StringOf("Responses[i].SuccessfulResponse.ListAttachedIndices.NextToken")
    lcListIncomingTypedLinksNextToken = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.NextToken")
    lcListIndexNextToken = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIndex.NextToken")
    lcListObjectAttributesNextToken = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectAttributes.NextToken")
    lcV_String = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectChildren.Children.string")
    lcListObjectChildrenNextToken = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectChildren.NextToken")
    lcListObjectParentPathsNextToken = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectParentPaths.NextToken")
    lcListObjectParentsNextToken = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectParents.NextToken")
    lcListObjectPoliciesNextToken = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectPolicies.NextToken")
    lcListOutgoingTypedLinksNextToken = loJResp.StringOf("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.NextToken")
    lcListPolicyAttachmentsNextToken = loJResp.StringOf("Responses[i].SuccessfulResponse.ListPolicyAttachments.NextToken")
    lcLookupPolicyNextToken = loJResp.StringOf("Responses[i].SuccessfulResponse.LookupPolicy.NextToken")
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcFacetName = loJResp.StringOf("Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Key.FacetName")
        lcName = loJResp.StringOf("Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Key.Name")
        lcSchemaArn = loJResp.StringOf("Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Key.SchemaArn")
        lnBinaryValue = loJResp.IntOf("Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Value.BinaryValue")
        lnBooleanValue = loJResp.IntOf("Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Value.BooleanValue")
        lnDatetimeValue = loJResp.IntOf("Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Value.DatetimeValue")
        lcNumberValue = loJResp.StringOf("Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Value.NumberValue")
        lcStringValue = loJResp.StringOf("Responses[i].SuccessfulResponse.GetLinkAttributes.Attributes[j].Value.StringValue")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcKeyFacetName = loJResp.StringOf("Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Key.FacetName")
        lcKeyName = loJResp.StringOf("Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Key.Name")
        lcKeySchemaArn = loJResp.StringOf("Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Key.SchemaArn")
        lnValueBinaryValue = loJResp.IntOf("Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Value.BinaryValue")
        lnValueBooleanValue = loJResp.IntOf("Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Value.BooleanValue")
        lnValueDatetimeValue = loJResp.IntOf("Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Value.DatetimeValue")
        lcValueNumberValue = loJResp.StringOf("Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Value.NumberValue")
        lcValueStringValue = loJResp.StringOf("Responses[i].SuccessfulResponse.GetObjectAttributes.Attributes[j].Value.StringValue")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.GetObjectInformation.SchemaFacets")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcFacetName = loJResp.StringOf("Responses[i].SuccessfulResponse.GetObjectInformation.SchemaFacets[j].FacetName")
        lcSchemaArn = loJResp.StringOf("Responses[i].SuccessfulResponse.GetObjectInformation.SchemaFacets[j].SchemaArn")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcObjectIdentifier = loJResp.StringOf("Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].ObjectIdentifier")
        k = 0
        lnCount_k = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcKeyFacetName = loJResp.StringOf("Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Key.FacetName")
            lcKeyName = loJResp.StringOf("Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Key.Name")
            lcKeySchemaArn = loJResp.StringOf("Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Key.SchemaArn")
            lnValueBinaryValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Value.BinaryValue")
            lnValueBooleanValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Value.BooleanValue")
            lnValueDatetimeValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Value.DatetimeValue")
            lcValueNumberValue = loJResp.StringOf("Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Value.NumberValue")
            lcValueStringValue = loJResp.StringOf("Responses[i].SuccessfulResponse.ListAttachedIndices.IndexAttachments[j].IndexedAttributes[k].Value.StringValue")
            k = k + 1
        ENDDO
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcSelector = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].SourceObjectReference.Selector")
        lcTargetObjectReferenceSelector = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].TargetObjectReference.Selector")
        lcTypedLinkFacetSchemaArn = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].TypedLinkFacet.SchemaArn")
        lcTypedLinkName = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].TypedLinkFacet.TypedLinkName")
        k = 0
        lnCount_k = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcAttributeName = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].AttributeName")
            lnValueBinaryValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].Value.BinaryValue")
            lnValueBooleanValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].Value.BooleanValue")
            lnValueDatetimeValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].Value.DatetimeValue")
            lcValueNumberValue = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].Value.NumberValue")
            lcValueStringValue = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIncomingTypedLinks.LinkSpecifiers[j].IdentityAttributeValues[k].Value.StringValue")
            k = k + 1
        ENDDO
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListIndex.IndexAttachments")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcObjectIdentifier = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].ObjectIdentifier")
        k = 0
        lnCount_k = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcKeyFacetName = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Key.FacetName")
            lcKeyName = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Key.Name")
            lcKeySchemaArn = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Key.SchemaArn")
            lnValueBinaryValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Value.BinaryValue")
            lnValueBooleanValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Value.BooleanValue")
            lnValueDatetimeValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Value.DatetimeValue")
            lcValueNumberValue = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Value.NumberValue")
            lcValueStringValue = loJResp.StringOf("Responses[i].SuccessfulResponse.ListIndex.IndexAttachments[j].IndexedAttributes[k].Value.StringValue")
            k = k + 1
        ENDDO
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcKeyFacetName = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Key.FacetName")
        lcKeyName = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Key.Name")
        lcKeySchemaArn = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Key.SchemaArn")
        lnValueBinaryValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Value.BinaryValue")
        lnValueBooleanValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Value.BooleanValue")
        lnValueDatetimeValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Value.DatetimeValue")
        lcValueNumberValue = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Value.NumberValue")
        lcValueStringValue = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectAttributes.Attributes[j].Value.StringValue")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListObjectParentPaths.PathToObjectIdentifiersList")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcPath = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectParentPaths.PathToObjectIdentifiersList[j].Path")
        k = 0
        lnCount_k = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListObjectParentPaths.PathToObjectIdentifiersList[j].ObjectIdentifiers")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcStrVal = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectParentPaths.PathToObjectIdentifiersList[j].ObjectIdentifiers[k]")
            k = k + 1
        ENDDO
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListObjectParents.ParentLinks")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcLinkName = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectParents.ParentLinks[j].LinkName")
        lcObjectIdentifier = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectParents.ParentLinks[j].ObjectIdentifier")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListObjectPolicies.AttachedPolicyIds")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcStrVal = loJResp.StringOf("Responses[i].SuccessfulResponse.ListObjectPolicies.AttachedPolicyIds[j]")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcSourceObjectReferenceSelector = loJResp.StringOf("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].SourceObjectReference.Selector")
        lcTargetObjectReferenceSelector = loJResp.StringOf("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].TargetObjectReference.Selector")
        lcTypedLinkFacetSchemaArn = loJResp.StringOf("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].TypedLinkFacet.SchemaArn")
        lcTypedLinkFacetTypedLinkName = loJResp.StringOf("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].TypedLinkFacet.TypedLinkName")
        k = 0
        lnCount_k = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcAttributeName = loJResp.StringOf("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].AttributeName")
            lnValueBinaryValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].Value.BinaryValue")
            lnValueBooleanValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].Value.BooleanValue")
            lnValueDatetimeValue = loJResp.IntOf("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].Value.DatetimeValue")
            lcValueNumberValue = loJResp.StringOf("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].Value.NumberValue")
            lcValueStringValue = loJResp.StringOf("Responses[i].SuccessfulResponse.ListOutgoingTypedLinks.TypedLinkSpecifiers[j].IdentityAttributeValues[k].Value.StringValue")
            k = k + 1
        ENDDO
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.ListPolicyAttachments.ObjectIdentifiers")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcStrVal = loJResp.StringOf("Responses[i].SuccessfulResponse.ListPolicyAttachments.ObjectIdentifiers[j]")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcPath = loJResp.StringOf("Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList[j].Path")
        k = 0
        lnCount_k = loJResp.SizeOfArray("Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList[j].Policies")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcObjectIdentifier = loJResp.StringOf("Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList[j].Policies[k].ObjectIdentifier")
            lcPolicyId = loJResp.StringOf("Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList[j].Policies[k].PolicyId")
            lcPolicyType = loJResp.StringOf("Responses[i].SuccessfulResponse.LookupPolicy.PolicyToPathList[j].Policies[k].PolicyType")
            k = k + 1
        ENDDO
        j = j + 1
    ENDDO
    i = i + 1
ENDDO

* A sample JSON response body parsed by the above code:

* {
*   "Responses": [
*     {
*       "ExceptionResponse": {
*         "Message": "string",
*         "Type": "string"
*       },
*       "SuccessfulResponse": {
*         "GetLinkAttributes": {
*           "Attributes": [
*             {
*               "Key": {
*                 "FacetName": "string",
*                 "Name": "string",
*                 "SchemaArn": "string"
*               },
*               "Value": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               }
*             }
*           ]
*         },
*         "GetObjectAttributes": {
*           "Attributes": [
*             {
*               "Key": {
*                 "FacetName": "string",
*                 "Name": "string",
*                 "SchemaArn": "string"
*               },
*               "Value": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               }
*             }
*           ]
*         },
*         "GetObjectInformation": {
*           "ObjectIdentifier": "string",
*           "SchemaFacets": [
*             {
*               "FacetName": "string",
*               "SchemaArn": "string"
*             }
*           ]
*         },
*         "ListAttachedIndices": {
*           "IndexAttachments": [
*             {
*               "IndexedAttributes": [
*                 {
*                   "Key": {
*                     "FacetName": "string",
*                     "Name": "string",
*                     "SchemaArn": "string"
*                   },
*                   "Value": {
*                     "BinaryValue": blob,
*                     "BooleanValue": boolean,
*                     "DatetimeValue": number,
*                     "NumberValue": "string",
*                     "StringValue": "string"
*                   }
*                 }
*               ],
*               "ObjectIdentifier": "string"
*             }
*           ],
*           "NextToken": "string"
*         },
*         "ListIncomingTypedLinks": {
*           "LinkSpecifiers": [
*             {
*               "IdentityAttributeValues": [
*                 {
*                   "AttributeName": "string",
*                   "Value": {
*                     "BinaryValue": blob,
*                     "BooleanValue": boolean,
*                     "DatetimeValue": number,
*                     "NumberValue": "string",
*                     "StringValue": "string"
*                   }
*                 }
*               ],
*               "SourceObjectReference": {
*                 "Selector": "string"
*               },
*               "TargetObjectReference": {
*                 "Selector": "string"
*               },
*               "TypedLinkFacet": {
*                 "SchemaArn": "string",
*                 "TypedLinkName": "string"
*               }
*             }
*           ],
*           "NextToken": "string"
*         },
*         "ListIndex": {
*           "IndexAttachments": [
*             {
*               "IndexedAttributes": [
*                 {
*                   "Key": {
*                     "FacetName": "string",
*                     "Name": "string",
*                     "SchemaArn": "string"
*                   },
*                   "Value": {
*                     "BinaryValue": blob,
*                     "BooleanValue": boolean,
*                     "DatetimeValue": number,
*                     "NumberValue": "string",
*                     "StringValue": "string"
*                   }
*                 }
*               ],
*               "ObjectIdentifier": "string"
*             }
*           ],
*           "NextToken": "string"
*         },
*         "ListObjectAttributes": {
*           "Attributes": [
*             {
*               "Key": {
*                 "FacetName": "string",
*                 "Name": "string",
*                 "SchemaArn": "string"
*               },
*               "Value": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               }
*             }
*           ],
*           "NextToken": "string"
*         },
*         "ListObjectChildren": {
*           "Children": {
*             "string": "string"
*           },
*           "NextToken": "string"
*         },
*         "ListObjectParentPaths": {
*           "NextToken": "string",
*           "PathToObjectIdentifiersList": [
*             {
*               "ObjectIdentifiers": [
*                 "string"
*               ],
*               "Path": "string"
*             }
*           ]
*         },
*         "ListObjectParents": {
*           "NextToken": "string",
*           "ParentLinks": [
*             {
*               "LinkName": "string",
*               "ObjectIdentifier": "string"
*             }
*           ]
*         },
*         "ListObjectPolicies": {
*           "AttachedPolicyIds": [
*             "string"
*           ],
*           "NextToken": "string"
*         },
*         "ListOutgoingTypedLinks": {
*           "NextToken": "string",
*           "TypedLinkSpecifiers": [
*             {
*               "IdentityAttributeValues": [
*                 {
*                   "AttributeName": "string",
*                   "Value": {
*                     "BinaryValue": blob,
*                     "BooleanValue": boolean,
*                     "DatetimeValue": number,
*                     "NumberValue": "string",
*                     "StringValue": "string"
*                   }
*                 }
*               ],
*               "SourceObjectReference": {
*                 "Selector": "string"
*               },
*               "TargetObjectReference": {
*                 "Selector": "string"
*               },
*               "TypedLinkFacet": {
*                 "SchemaArn": "string",
*                 "TypedLinkName": "string"
*               }
*             }
*           ]
*         },
*         "ListPolicyAttachments": {
*           "NextToken": "string",
*           "ObjectIdentifiers": [
*             "string"
*           ]
*         },
*         "LookupPolicy": {
*           "NextToken": "string",
*           "PolicyToPathList": [
*             {
*               "Path": "string",
*               "Policies": [
*                 {
*                   "ObjectIdentifier": "string",
*                   "PolicyId": "string",
*                   "PolicyType": "string"
*                 }
*               ]
*             }
*           ]
*         }
*       }
*     }
*   ]
* }

RELEASE loRest
RELEASE loAuthAws
RELEASE loJson
RELEASE loSbRequestBody
RELEASE loSbResponseBody
RELEASE loJResp