Chilkat Online Tools

BatchWrite Foxpro Example

Amazon Cloud Directory

LOCAL loRest
LOCAL lnSuccess
LOCAL loAuthAws
LOCAL loJson
LOCAL loSbRequestBody
LOCAL loSbResponseBody
LOCAL lnRespStatusCode
LOCAL loJResp
LOCAL lcAttachedObjectIdentifier
LOCAL lcAttachToIndexAttachedObjectIdentifier
LOCAL lcSelector
LOCAL lcTargetObjectReferenceSelector
LOCAL lcSchemaArn
LOCAL lcTypedLinkName
LOCAL lcObjectIdentifier
LOCAL lcCreateObjectObjectIdentifier
LOCAL lcDetachedObjectIdentifier
LOCAL lcDetachObjectDetachedObjectIdentifier
LOCAL lcUpdateObjectAttributesObjectIdentifier
LOCAL j
LOCAL lnCount_j
LOCAL lcAttributeName
LOCAL lnBinaryValue
LOCAL lnBooleanValue
LOCAL lnDatetimeValue
LOCAL lcNumberValue
LOCAL lcStringValue
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].AddFacetToObject.ObjectAttributeList[0].Key.FacetName","string")
loJson.UpdateString("Operations[0].AddFacetToObject.ObjectAttributeList[0].Key.Name","string")
loJson.UpdateString("Operations[0].AddFacetToObject.ObjectAttributeList[0].Key.SchemaArn","string")
loJson.UpdateInt("Operations[0].AddFacetToObject.ObjectAttributeList[0].Value.BinaryValue",123)
loJson.UpdateInt("Operations[0].AddFacetToObject.ObjectAttributeList[0].Value.BooleanValue",123)
loJson.UpdateInt("Operations[0].AddFacetToObject.ObjectAttributeList[0].Value.DatetimeValue",123)
loJson.UpdateString("Operations[0].AddFacetToObject.ObjectAttributeList[0].Value.NumberValue","string")
loJson.UpdateString("Operations[0].AddFacetToObject.ObjectAttributeList[0].Value.StringValue","string")
loJson.UpdateString("Operations[0].AddFacetToObject.ObjectReference.Selector","string")
loJson.UpdateString("Operations[0].AddFacetToObject.SchemaFacet.FacetName","string")
loJson.UpdateString("Operations[0].AddFacetToObject.SchemaFacet.SchemaArn","string")
loJson.UpdateString("Operations[0].AttachObject.ChildReference.Selector","string")
loJson.UpdateString("Operations[0].AttachObject.LinkName","string")
loJson.UpdateString("Operations[0].AttachObject.ParentReference.Selector","string")
loJson.UpdateString("Operations[0].AttachPolicy.ObjectReference.Selector","string")
loJson.UpdateString("Operations[0].AttachPolicy.PolicyReference.Selector","string")
loJson.UpdateString("Operations[0].AttachToIndex.IndexReference.Selector","string")
loJson.UpdateString("Operations[0].AttachToIndex.TargetReference.Selector","string")
loJson.UpdateString("Operations[0].AttachTypedLink.Attributes[0].AttributeName","string")
loJson.UpdateInt("Operations[0].AttachTypedLink.Attributes[0].Value.BinaryValue",123)
loJson.UpdateInt("Operations[0].AttachTypedLink.Attributes[0].Value.BooleanValue",123)
loJson.UpdateInt("Operations[0].AttachTypedLink.Attributes[0].Value.DatetimeValue",123)
loJson.UpdateString("Operations[0].AttachTypedLink.Attributes[0].Value.NumberValue","string")
loJson.UpdateString("Operations[0].AttachTypedLink.Attributes[0].Value.StringValue","string")
loJson.UpdateString("Operations[0].AttachTypedLink.SourceObjectReference.Selector","string")
loJson.UpdateString("Operations[0].AttachTypedLink.TargetObjectReference.Selector","string")
loJson.UpdateString("Operations[0].AttachTypedLink.TypedLinkFacet.SchemaArn","string")
loJson.UpdateString("Operations[0].AttachTypedLink.TypedLinkFacet.TypedLinkName","string")
loJson.UpdateString("Operations[0].CreateIndex.BatchReferenceName","string")
loJson.UpdateInt("Operations[0].CreateIndex.IsUnique",123)
loJson.UpdateString("Operations[0].CreateIndex.LinkName","string")
loJson.UpdateString("Operations[0].CreateIndex.OrderedIndexedAttributeList[0].FacetName","string")
loJson.UpdateString("Operations[0].CreateIndex.OrderedIndexedAttributeList[0].Name","string")
loJson.UpdateString("Operations[0].CreateIndex.OrderedIndexedAttributeList[0].SchemaArn","string")
loJson.UpdateString("Operations[0].CreateIndex.ParentReference.Selector","string")
loJson.UpdateString("Operations[0].CreateObject.BatchReferenceName","string")
loJson.UpdateString("Operations[0].CreateObject.LinkName","string")
loJson.UpdateString("Operations[0].CreateObject.ObjectAttributeList[0].Key.FacetName","string")
loJson.UpdateString("Operations[0].CreateObject.ObjectAttributeList[0].Key.Name","string")
loJson.UpdateString("Operations[0].CreateObject.ObjectAttributeList[0].Key.SchemaArn","string")
loJson.UpdateInt("Operations[0].CreateObject.ObjectAttributeList[0].Value.BinaryValue",123)
loJson.UpdateInt("Operations[0].CreateObject.ObjectAttributeList[0].Value.BooleanValue",123)
loJson.UpdateInt("Operations[0].CreateObject.ObjectAttributeList[0].Value.DatetimeValue",123)
loJson.UpdateString("Operations[0].CreateObject.ObjectAttributeList[0].Value.NumberValue","string")
loJson.UpdateString("Operations[0].CreateObject.ObjectAttributeList[0].Value.StringValue","string")
loJson.UpdateString("Operations[0].CreateObject.ParentReference.Selector","string")
loJson.UpdateString("Operations[0].CreateObject.SchemaFacet[0].FacetName","string")
loJson.UpdateString("Operations[0].CreateObject.SchemaFacet[0].SchemaArn","string")
loJson.UpdateString("Operations[0].DeleteObject.ObjectReference.Selector","string")
loJson.UpdateString("Operations[0].DetachFromIndex.IndexReference.Selector","string")
loJson.UpdateString("Operations[0].DetachFromIndex.TargetReference.Selector","string")
loJson.UpdateString("Operations[0].DetachObject.BatchReferenceName","string")
loJson.UpdateString("Operations[0].DetachObject.LinkName","string")
loJson.UpdateString("Operations[0].DetachObject.ParentReference.Selector","string")
loJson.UpdateString("Operations[0].DetachPolicy.ObjectReference.Selector","string")
loJson.UpdateString("Operations[0].DetachPolicy.PolicyReference.Selector","string")
loJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].AttributeName","string")
loJson.UpdateInt("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BinaryValue",123)
loJson.UpdateInt("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BooleanValue",123)
loJson.UpdateInt("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].Value.DatetimeValue",123)
loJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].Value.NumberValue","string")
loJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[0].Value.StringValue","string")
loJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.SourceObjectReference.Selector","string")
loJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.TargetObjectReference.Selector","string")
loJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.TypedLinkFacet.SchemaArn","string")
loJson.UpdateString("Operations[0].DetachTypedLink.TypedLinkSpecifier.TypedLinkFacet.TypedLinkName","string")
loJson.UpdateString("Operations[0].RemoveFacetFromObject.ObjectReference.Selector","string")
loJson.UpdateString("Operations[0].RemoveFacetFromObject.SchemaFacet.FacetName","string")
loJson.UpdateString("Operations[0].RemoveFacetFromObject.SchemaFacet.SchemaArn","string")
loJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeActionType","string")
loJson.UpdateInt("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeUpdateValue.BinaryValue",123)
loJson.UpdateInt("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeUpdateValue.BooleanValue",123)
loJson.UpdateInt("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeUpdateValue.DatetimeValue",123)
loJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeUpdateValue.NumberValue","string")
loJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeAction.AttributeUpdateValue.StringValue","string")
loJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeKey.FacetName","string")
loJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeKey.Name","string")
loJson.UpdateString("Operations[0].UpdateLinkAttributes.AttributeUpdates[0].AttributeKey.SchemaArn","string")
loJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].AttributeName","string")
loJson.UpdateInt("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BinaryValue",123)
loJson.UpdateInt("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.BooleanValue",123)
loJson.UpdateInt("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.DatetimeValue",123)
loJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.NumberValue","string")
loJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.IdentityAttributeValues[0].Value.StringValue","string")
loJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.SourceObjectReference.Selector","string")
loJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.TargetObjectReference.Selector","string")
loJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.TypedLinkFacet.SchemaArn","string")
loJson.UpdateString("Operations[0].UpdateLinkAttributes.TypedLinkSpecifier.TypedLinkFacet.TypedLinkName","string")
loJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeActionType","string")
loJson.UpdateInt("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeUpdateValue.BinaryValue",123)
loJson.UpdateInt("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeUpdateValue.BooleanValue",123)
loJson.UpdateInt("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeUpdateValue.DatetimeValue",123)
loJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeUpdateValue.NumberValue","string")
loJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeAction.ObjectAttributeUpdateValue.StringValue","string")
loJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeKey.FacetName","string")
loJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeKey.Name","string")
loJson.UpdateString("Operations[0].UpdateObjectAttributes.AttributeUpdates[0].ObjectAttributeKey.SchemaArn","string")
loJson.UpdateString("Operations[0].UpdateObjectAttributes.ObjectReference.Selector","string")

* The JSON request body created by the above code:

* {
*   "Operations": [
*     {
*       "AddFacetToObject": {
*         "ObjectAttributeList": [
*           {
*             "Key": {
*               "FacetName": "string",
*               "Name": "string",
*               "SchemaArn": "string"
*             },
*             "Value": {
*               "BinaryValue": blob,
*               "BooleanValue": boolean,
*               "DatetimeValue": number,
*               "NumberValue": "string",
*               "StringValue": "string"
*             }
*           }
*         ],
*         "ObjectReference": {
*           "Selector": "string"
*         },
*         "SchemaFacet": {
*           "FacetName": "string",
*           "SchemaArn": "string"
*         }
*       },
*       "AttachObject": {
*         "ChildReference": {
*           "Selector": "string"
*         },
*         "LinkName": "string",
*         "ParentReference": {
*           "Selector": "string"
*         }
*       },
*       "AttachPolicy": {
*         "ObjectReference": {
*           "Selector": "string"
*         },
*         "PolicyReference": {
*           "Selector": "string"
*         }
*       },
*       "AttachToIndex": {
*         "IndexReference": {
*           "Selector": "string"
*         },
*         "TargetReference": {
*           "Selector": "string"
*         }
*       },
*       "AttachTypedLink": {
*         "Attributes": [
*           {
*             "AttributeName": "string",
*             "Value": {
*               "BinaryValue": blob,
*               "BooleanValue": boolean,
*               "DatetimeValue": number,
*               "NumberValue": "string",
*               "StringValue": "string"
*             }
*           }
*         ],
*         "SourceObjectReference": {
*           "Selector": "string"
*         },
*         "TargetObjectReference": {
*           "Selector": "string"
*         },
*         "TypedLinkFacet": {
*           "SchemaArn": "string",
*           "TypedLinkName": "string"
*         }
*       },
*       "CreateIndex": {
*         "BatchReferenceName": "string",
*         "IsUnique": boolean,
*         "LinkName": "string",
*         "OrderedIndexedAttributeList": [
*           {
*             "FacetName": "string",
*             "Name": "string",
*             "SchemaArn": "string"
*           }
*         ],
*         "ParentReference": {
*           "Selector": "string"
*         }
*       },
*       "CreateObject": {
*         "BatchReferenceName": "string",
*         "LinkName": "string",
*         "ObjectAttributeList": [
*           {
*             "Key": {
*               "FacetName": "string",
*               "Name": "string",
*               "SchemaArn": "string"
*             },
*             "Value": {
*               "BinaryValue": blob,
*               "BooleanValue": boolean,
*               "DatetimeValue": number,
*               "NumberValue": "string",
*               "StringValue": "string"
*             }
*           }
*         ],
*         "ParentReference": {
*           "Selector": "string"
*         },
*         "SchemaFacet": [
*           {
*             "FacetName": "string",
*             "SchemaArn": "string"
*           }
*         ]
*       },
*       "DeleteObject": {
*         "ObjectReference": {
*           "Selector": "string"
*         }
*       },
*       "DetachFromIndex": {
*         "IndexReference": {
*           "Selector": "string"
*         },
*         "TargetReference": {
*           "Selector": "string"
*         }
*       },
*       "DetachObject": {
*         "BatchReferenceName": "string",
*         "LinkName": "string",
*         "ParentReference": {
*           "Selector": "string"
*         }
*       },
*       "DetachPolicy": {
*         "ObjectReference": {
*           "Selector": "string"
*         },
*         "PolicyReference": {
*           "Selector": "string"
*         }
*       },
*       "DetachTypedLink": {
*         "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"
*           }
*         }
*       },
*       "RemoveFacetFromObject": {
*         "ObjectReference": {
*           "Selector": "string"
*         },
*         "SchemaFacet": {
*           "FacetName": "string",
*           "SchemaArn": "string"
*         }
*       },
*       "UpdateLinkAttributes": {
*         "AttributeUpdates": [
*           {
*             "AttributeAction": {
*               "AttributeActionType": "string",
*               "AttributeUpdateValue": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               }
*             },
*             "AttributeKey": {
*               "FacetName": "string",
*               "Name": "string",
*               "SchemaArn": "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"
*           }
*         }
*       },
*       "UpdateObjectAttributes": {
*         "AttributeUpdates": [
*           {
*             "ObjectAttributeAction": {
*               "ObjectAttributeActionType": "string",
*               "ObjectAttributeUpdateValue": {
*                 "BinaryValue": blob,
*                 "BooleanValue": boolean,
*                 "DatetimeValue": number,
*                 "NumberValue": "string",
*                 "StringValue": "string"
*               }
*             },
*             "ObjectAttributeKey": {
*               "FacetName": "string",
*               "Name": "string",
*               "SchemaArn": "string"
*             }
*           }
*         ],
*         "ObjectReference": {
*           "Selector": "string"
*         }
*       }
*     }
*   ]
* }

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

loSbRequestBody = CreateObject('Chilkat_9_5_0.StringBuilder')
loJson.EmitSb(loSbRequestBody)
loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
lnSuccess = loRest.FullRequestSb("PUT","/amazonclouddirectory/2017-01-11/batchwrite",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
    lcAttachedObjectIdentifier = loJResp.StringOf("Responses[i].AttachObject.attachedObjectIdentifier")
    lcAttachToIndexAttachedObjectIdentifier = loJResp.StringOf("Responses[i].AttachToIndex.AttachedObjectIdentifier")
    lcSelector = loJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.SourceObjectReference.Selector")
    lcTargetObjectReferenceSelector = loJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.TargetObjectReference.Selector")
    lcSchemaArn = loJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.TypedLinkFacet.SchemaArn")
    lcTypedLinkName = loJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.TypedLinkFacet.TypedLinkName")
    lcObjectIdentifier = loJResp.StringOf("Responses[i].CreateIndex.ObjectIdentifier")
    lcCreateObjectObjectIdentifier = loJResp.StringOf("Responses[i].CreateObject.ObjectIdentifier")
    lcDetachedObjectIdentifier = loJResp.StringOf("Responses[i].DetachFromIndex.DetachedObjectIdentifier")
    lcDetachObjectDetachedObjectIdentifier = loJResp.StringOf("Responses[i].DetachObject.detachedObjectIdentifier")
    lcUpdateObjectAttributesObjectIdentifier = loJResp.StringOf("Responses[i].UpdateObjectAttributes.ObjectIdentifier")
    j = 0
    lnCount_j = loJResp.SizeOfArray("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcAttributeName = loJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].AttributeName")
        lnBinaryValue = loJResp.IntOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].Value.BinaryValue")
        lnBooleanValue = loJResp.IntOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].Value.BooleanValue")
        lnDatetimeValue = loJResp.IntOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].Value.DatetimeValue")
        lcNumberValue = loJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].Value.NumberValue")
        lcStringValue = loJResp.StringOf("Responses[i].AttachTypedLink.TypedLinkSpecifier.IdentityAttributeValues[j].Value.StringValue")
        j = j + 1
    ENDDO
    i = i + 1
ENDDO

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

* {
*   "Responses": [
*     {
*       "AddFacetToObject": {},
*       "AttachObject": {
*         "attachedObjectIdentifier": "string"
*       },
*       "AttachPolicy": {},
*       "AttachToIndex": {
*         "AttachedObjectIdentifier": "string"
*       },
*       "AttachTypedLink": {
*         "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"
*           }
*         }
*       },
*       "CreateIndex": {
*         "ObjectIdentifier": "string"
*       },
*       "CreateObject": {
*         "ObjectIdentifier": "string"
*       },
*       "DeleteObject": {},
*       "DetachFromIndex": {
*         "DetachedObjectIdentifier": "string"
*       },
*       "DetachObject": {
*         "detachedObjectIdentifier": "string"
*       },
*       "DetachPolicy": {},
*       "DetachTypedLink": {},
*       "RemoveFacetFromObject": {},
*       "UpdateLinkAttributes": {},
*       "UpdateObjectAttributes": {
*         "ObjectIdentifier": "string"
*       }
*     }
*   ]
* }

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