Sample code for 30+ languages & platforms
Java

SQS Receive Message

See more Amazon SQS Examples

Retrieves 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.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.AuthAws;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Rest;
import com.chilkatsoft.chilkat2.Xml;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Rest rest = new Rest();

        // Connect to the Amazon AWS REST server.
        // such as https://sqs.us-west-2.amazonaws.com/
        boolean bTls = true;
        int port = 443;
        boolean bAutoReconnect = true;
        rest.connect("sqs.us-west-2.amazonaws.com", port, bTls, bAutoReconnect);

        // Provide AWS credentials for the REST call.
        AuthAws authAws = new AuthAws();
        authAws.setAccessKey("AWS_ACCESS_KEY");
        authAws.setSecretKey("AWS_SECRET_KEY");
        // the region should match our URL above..
        authAws.setRegion("us-west-2");
        authAws.setServiceName("sqs");

        rest.setAuthAws(authAws);

        rest.addQueryParam("Action", "ReceiveMessage");
        rest.addQueryParam("MaxNumberOfMessages", "5");
        rest.addQueryParam("VisibilityTimeout", "15");
        rest.addQueryParam("AttributeName", "All");
        rest.addQueryParam("MessageAttributeName", "All");

        // Use the actual path part of your SQS queue URL here:
        String responseXml;
        try {
            responseXml = rest.fullRequestNoBody("GET", "/123456789123/chilkatTest");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // A successful response will have a status code equal to 200.
        if (rest.getResponseStatusCode() != 200) {
            System.out.println("response status code = " + rest.getResponseStatusCode());
            System.out.println("response status text = " + rest.getResponseStatusText());
            System.out.println("response header: " + rest.getResponseHeader());
            System.out.println("response body: " + responseXml);
            return;
        }

        // Examine the successful XML response.
        Xml xml = new Xml();
        xml.loadXml(responseXml);
        System.out.println(xml.getXml());
        System.out.println("----");

        // 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:
        System.out.println("Body: " + xml.chilkatPath("ReceiveMessageResult|Message|Body|*"));
        System.out.println("MessageId: " + xml.chilkatPath("ReceiveMessageResult|Message|MessageId|*"));

        String unused = xml.chilkatPath("ReceiveMessageResult|Message[0]|Attribute|$");

        Xml rec = xml.findNextRecord("Name", "SenderId");
        System.out.println("SenderId: " + rec.getChildContent("Value"));
        rec.close();

        rec = xml.findNextRecord("Name", "ApproximateFirstReceiveTimestamp");
        System.out.println("ApproximateFirstReceiveTimestamp: " + rec.getChildContent("Value"));
        rec.close();

        rec = xml.findNextRecord("Name", "ApproximateReceiveCount");
        System.out.println("ApproximateReceiveCount: " + rec.getChildContent("Value"));
        rec.close();

        rec = xml.findNextRecord("Name", "SentTimestamp");
        System.out.println("SentTimestamp: " + rec.getChildContent("Value"));
        rec.close();

        xml.getRoot2();
    }
}