/** * HAVE message notification handler. * * @param message the message * @ssdd */ @Override public void haveMessageNotificationHandler(Core2CoreMessage message) { log.debug("haveMessageNotificationHandler: received messagefrom " + message.getFromCore()); // =[" + message.getMessage()+ "] XmlObject xmlObj; try { EDXLDistributionDocument edxlDoc = EDXLDistributionDocument.Factory.parse(message.getMessage()); if (edxlDoc.getEDXLDistribution().sizeOfExplicitAddressArray() > 0) { // Find core name for each explicit address. for (ValueSchemeType type : edxlDoc.getEDXLDistribution().getExplicitAddressArray()) { if (type.getExplicitAddressScheme() .equals(CommunicationsService.UICDSExplicitAddressScheme)) { for (String address : type.getExplicitAddressValueArray()) { xmlObj = XmlObject.Factory.parse(edxlDoc.toString()); // log.debug("broadcastMessageNotificationHandler: sending notification [" // + xmlObj.toString() + "] to " + address); sendMessageNotification(xmlObj, address); } } } } } catch (Throwable e) { log.error( "resourceMessageNotificationHandler: Error parsing message - not a valid XML string"); throw new IllegalArgumentException("Message is not a valid XML string"); } }