MessagesResult is a container for a list of Messages returned by a list or search messages call.
It contains the list of requested Messages and a flag signaling whether the limit
for the maximum number of returned entities has been reached.
If limitedExceeded is set,the client is requested to paginate through the result by moving the offset
forward and issue a new request to get more data.
Example to get all messages:
// First get the total count of messages String apiPath = "messages/count.xml"; WebResource apisWeb = client.resource(API_URL).path(apiPath); CountResult countResult = apisWeb.get(CountResult.class); // Then paginate to get all messages long MSG_COUNT = countResult.getCount(); apiPath = "messages.xml"; apisWeb = client.resource(API_URL).path(apiPath); for (int offset = 0; offset < MSG_COUNT; offset += limit) { // set limit and offset as queryParam // if the "limit" queryParam is not initialized, limit default value = 50 // if the "offset" queryParam is not initialized, offset default value = 0 apisWeb = apisWeb.queryParam("limit", "" + limit); if (offset > 0) apisWeb = apisWeb.queryParam("offset", "" + offset); MessagesResult result = apisWeb.get(MessagesResult.class); } // To get all messages of a given topic apiPath = "messages/searchByTopic.xml"; apisWeb = client.resource(API_URL).path(apiPath); apisWeb = apisWeb.queryParam("topic", topic); MessagesResult result; int offset = 0; do { apisWeb = apisWeb.queryParam("limit", "" + limit); if (offset > 0) apisWeb = apisWeb.queryParam("offset", "" + offset); result = apisWeb.get(MessagesResult.class); offset += limit; } while (result.isLimitExceeded()):
http://eurotech.com/edc/2.0
name | data type | type | namespace | min/max occurs | constraints | description |
---|---|---|---|---|---|---|
limitExceeded | boolean | element | edc | 1/1 | required | |
message | list of edcMessage | element | edc | 0/unbounded |
Example
<messagesResult xmlns="http://eurotech.com/edc/2.0"> <limitExceeded>...</limitExceeded> <message> <topic>...</topic> <receivedOn>...</receivedOn> <payload> <sentOn>...</sentOn> <position/> <metrics/> <body>...</body> </payload> <uuid>...</uuid> </message> </messagesResult>