Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C) SQS Receive MessageRetrieves one or more messages from an Amazon SQS queue, with a maximum limit of 10 messages, from the specified queue. See SQS ReceiveMessage or detailed information.
#include <C_CkRestW.h> #include <C_CkAuthAwsW.h> #include <C_CkXmlW.h> void ChilkatSample(void) { HCkRestW rest; BOOL bTls; int port; BOOL bAutoReconnect; BOOL success; HCkAuthAwsW authAws; const wchar_t *responseXml; HCkXmlW xml; const wchar_t *unused; HCkXmlW rec; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. rest = CkRestW_Create(); // Connect to the Amazon AWS REST server. // such as https://sqs.us-west-2.amazonaws.com/ bTls = TRUE; port = 443; bAutoReconnect = TRUE; success = CkRestW_Connect(rest,L"sqs.us-west-2.amazonaws.com",port,bTls,bAutoReconnect); // Provide AWS credentials for the REST call. authAws = CkAuthAwsW_Create(); CkAuthAwsW_putAccessKey(authAws,L"AWS_ACCESS_KEY"); CkAuthAwsW_putSecretKey(authAws,L"AWS_SECRET_KEY"); // the region should match our URL above.. CkAuthAwsW_putRegion(authAws,L"us-west-2"); CkAuthAwsW_putServiceName(authAws,L"sqs"); CkRestW_SetAuthAws(rest,authAws); CkRestW_AddQueryParam(rest,L"Action",L"ReceiveMessage"); CkRestW_AddQueryParam(rest,L"MaxNumberOfMessages",L"5"); CkRestW_AddQueryParam(rest,L"VisibilityTimeout",L"15"); CkRestW_AddQueryParam(rest,L"AttributeName",L"All"); CkRestW_AddQueryParam(rest,L"MessageAttributeName",L"All"); // Use the actual path part of your SQS queue URL here: responseXml = CkRestW_fullRequestNoBody(rest,L"GET",L"/123456789123/chilkatTest"); if (CkRestW_getLastMethodSuccess(rest) != TRUE) { wprintf(L"%s\n",CkRestW_lastErrorText(rest)); CkRestW_Dispose(rest); CkAuthAwsW_Dispose(authAws); return; } // A successful response will have a status code equal to 200. if (CkRestW_getResponseStatusCode(rest) != 200) { wprintf(L"response status code = %d\n",CkRestW_getResponseStatusCode(rest)); wprintf(L"response status text = %s\n",CkRestW_responseStatusText(rest)); wprintf(L"response header: %s\n",CkRestW_responseHeader(rest)); wprintf(L"response body: %s\n",responseXml); CkRestW_Dispose(rest); CkAuthAwsW_Dispose(authAws); return; } // Examine the successful XML response. xml = CkXmlW_Create(); CkXmlW_LoadXml(xml,responseXml); wprintf(L"%s\n",CkXmlW_getXml(xml)); wprintf(L"----\n"); // A successful response looks like this: // <?xml version="1.0" encoding="utf-8" ?> // <ReceiveMessageResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"> // <ReceiveMessageResult> // <Message> // <Body>this is a test</Body> // <MD5OfBody>54b0c58c7ce9f2a8b551351102ee0938</MD5OfBody> // <ReceiptHandle>AQEBMyLof...UbKBTvHtEg==</ReceiptHandle> // <Attribute> // <Name>SenderId</Name> // <Value>957491831129</Value> // </Attribute> // <Attribute> // <Name>ApproximateFirstReceiveTimestamp</Name> // <Value>1475013283557</Value> // </Attribute> // <Attribute> // <Name>ApproximateReceiveCount</Name> // <Value>4</Value> // </Attribute> // <Attribute> // <Name>SentTimestamp</Name> // <Value>1475013283557</Value> // </Attribute> // <MessageId>52882c65-5e21-4450-9024-93a3b01e61d3</MessageId> // <MD5OfMessageAttributes>2ff68603f4239272bd03f543254ed040</MD5OfMessageAttributes> // </Message> // </ReceiveMessageResult> // <ResponseMetadata> // <RequestId>05ba5c92-80ee-5f87-be76-0cf67b7475d6</RequestId> // </ResponseMetadata> // </ReceiveMessageResponse> // Get some values from the XML: wprintf(L"Body: %s\n",CkXmlW_chilkatPath(xml,L"ReceiveMessageResult|Message|Body|*")); wprintf(L"MessageId: %s\n",CkXmlW_chilkatPath(xml,L"ReceiveMessageResult|Message|MessageId|*")); unused = CkXmlW_chilkatPath(xml,L"ReceiveMessageResult|Message[0]|Attribute|$"); rec = CkXmlW_FindNextRecord(xml,L"Name",L"SenderId"); wprintf(L"SenderId: %s\n",CkXmlW_getChildContent(rec,L"Value")); CkXmlW_Dispose(rec); rec = CkXmlW_FindNextRecord(xml,L"Name",L"ApproximateFirstReceiveTimestamp"); wprintf(L"ApproximateFirstReceiveTimestamp: %s\n",CkXmlW_getChildContent(rec,L"Value")); CkXmlW_Dispose(rec); rec = CkXmlW_FindNextRecord(xml,L"Name",L"ApproximateReceiveCount"); wprintf(L"ApproximateReceiveCount: %s\n",CkXmlW_getChildContent(rec,L"Value")); CkXmlW_Dispose(rec); rec = CkXmlW_FindNextRecord(xml,L"Name",L"SentTimestamp"); wprintf(L"SentTimestamp: %s\n",CkXmlW_getChildContent(rec,L"Value")); CkXmlW_Dispose(rec); CkXmlW_GetRoot2(xml); CkRestW_Dispose(rest); CkAuthAwsW_Dispose(authAws); CkXmlW_Dispose(xml); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.