public void sendMessage(DiameterMessage message) throws IOException { try { if (message instanceof DiameterMessageImpl) { DiameterMessageImpl msg = (DiameterMessageImpl) message; this.session.send(msg.getGenericData(), this.eventListener); } else { throw new OperationNotSupportedException( "Trying to send wrong type of message? [" + message.getClass() + "] \n" + message); } } catch (org.jdiameter.api.validation.AvpNotAllowedException e) { throw new AvpNotAllowedException( "Message validation failed.", e, e.getAvpCode(), e.getVendorId()); } catch (Exception e) { throw new IOException("Failed to send message, due to: " + e); } }
protected Message doSendMessage(DiameterMessage message) { Message receivedMessage = null; try { if (message instanceof DiameterMessageImpl) { Future<Message> future = this.session.send(((DiameterMessageImpl) message).getGenericData()); receivedMessage = future.get(); } else { throw new OperationNotSupportedException( "Trying to send wrong type of message? [" + message.getClass() + "] \n" + message); } } catch (org.jdiameter.api.validation.AvpNotAllowedException e) { throw new AvpNotAllowedException( "Message validation failed.", e, e.getAvpCode(), e.getVendorId()); } catch (Exception e) { logger.error("Failure sending sync request.", e); } return receivedMessage; }