public static boolean hasInMessage(MessageExchange mex) { if (mex instanceof InOnly) { return ((InOnly) mex).getInMessage() != null; } else if (mex instanceof InOut) { return ((InOut) mex).getInMessage() != null; } return false; }
private void propagateSubject(MessageExchange exchange) { NormalizedMessage msg; if (exchange instanceof InOnly) { msg = ((InOnly) exchange).getInMessage(); } else if (exchange instanceof InOut) { msg = ((InOut) exchange).getInMessage(); } else { throw new RuntimeException("Unable to determine message type to propagate subject: " + exchange.getClass().getName()); } if (msg.getSecuritySubject() == null && JBIContext.getMessageExchange() != null && JBIContext.getMessageExchange().getMessage("in") != null) { msg.setSecuritySubject(JBIContext.getMessageExchange().getMessage("in").getSecuritySubject()); } } }
@Override public NormalizedMessage invoke(InOut mex) throws MessagingException { try { DynamicService<T> service = new DynamicService<T>(_service); OMElement payload = OMUtils.toOM(mex.getInMessage().getContent()); OMElement response = service.invoke(mex.getOperation().getLocalPart(), payload); NormalizedMessage nresponse = null; if (response != null) { nresponse = mex.createMessage(); nresponse.setContent(new DOMSource(OMUtils.toDOM(response))); } return nresponse; } catch (Exception e) { throw new RuntimeException(e); } }
private static Node getInMessage(MessageExchange mex) throws TransformerConfigurationException { Source s = null; if (mex instanceof InOnly) { s = ((InOnly) mex).getInMessage().getContent(); } else if (mex instanceof InOut) { s = ((InOut) mex).getInMessage().getContent(); } else { return null; } Transformer t = null; try { t = TransformerPool.get().retrieve(); DOMResult dr = new DOMResult(); t.transform(s, dr); return dr.getNode(); } catch (TransformerConfigurationException ex) { return null; } catch (TransformerException ex) { return null; } finally { if (t != null) { TransformerPool.get().relinquish(t); } } }
Exception err = null; try { invokeOde(jbiMex, ((InOut) jbiMex).getInMessage()); success = true; } catch (Exception ex) {