use of org.oasis_open.docs.wsn.b_2.GetMessages in project cxf by apache.
the class PullPoint method getMessages.
public List<NotificationMessageHolderType> getMessages(long max) throws UnableToGetMessagesFault, ResourceUnknownFault {
GetMessages getMessages = new GetMessages();
getMessages.setMaximumNumber(BigInteger.valueOf(max));
GetMessagesResponse response = pullPoint.getMessages(getMessages);
return response.getNotificationMessage();
}
use of org.oasis_open.docs.wsn.b_2.GetMessages in project cxf by apache.
the class JmsPullPoint method getMessages.
@Override
protected List<NotificationMessageHolderType> getMessages(int max) throws ResourceUnknownFault, UnableToGetMessagesFault {
try {
if (max == 0) {
max = 256;
}
initSession();
List<NotificationMessageHolderType> messages = new ArrayList<>();
for (int i = 0; i < max; i++) {
Message msg = null;
synchronized (consumerSession) {
msg = consumer.receiveNoWait();
}
if (msg == null) {
break;
}
TextMessage txtMsg = (TextMessage) msg;
StringReader reader = new StringReader(txtMsg.getText());
XMLStreamReader xreader = StaxUtils.createXMLStreamReader(reader);
Notify notify = (Notify) jaxbContext.createUnmarshaller().unmarshal(xreader);
try {
xreader.close();
} catch (XMLStreamException e) {
// ignoreable
}
messages.addAll(notify.getNotificationMessage());
}
return messages;
} catch (JMSException e) {
LOGGER.log(Level.INFO, "Error retrieving messages", e);
closeSession();
UnableToGetMessagesFaultType fault = new UnableToGetMessagesFaultType();
throw new UnableToGetMessagesFault("Unable to retrieve messages", fault, e);
} catch (JAXBException e) {
LOGGER.log(Level.INFO, "Error retrieving messages", e);
UnableToGetMessagesFaultType fault = new UnableToGetMessagesFaultType();
throw new UnableToGetMessagesFault("Unable to retrieve messages", fault, e);
}
}
use of org.oasis_open.docs.wsn.b_2.GetMessages in project cxf by apache.
the class AbstractPullPoint method getMessages.
/**
* @param getMessagesRequest
* @return returns org.oasis_open.docs.wsn.b_1.GetMessagesResponse
* @throws ResourceUnknownFault
* @throws UnableToGetMessagesFault
*/
@WebMethod(operationName = "GetMessages")
@WebResult(name = "GetMessagesResponse", targetNamespace = "http://docs.oasis-open.org/wsn/b-1", partName = "GetMessagesResponse")
public GetMessagesResponse getMessages(@WebParam(name = "GetMessages", targetNamespace = "http://docs.oasis-open.org/wsn/b-1", partName = "GetMessagesRequest") GetMessages getMessagesRequest) throws ResourceUnknownFault, UnableToGetMessagesFault {
LOGGER.finest("GetMessages");
BigInteger max = getMessagesRequest.getMaximumNumber();
List<NotificationMessageHolderType> messages = getMessages(max != null ? max.intValue() : 0);
GetMessagesResponse response = new GetMessagesResponse();
response.getNotificationMessage().addAll(messages);
return response;
}
Aggregations