public void sendMessages(int messageCount, boolean sync) throws MessagingException { LOGGER.info("Looking for services for interface: {}", interfaceName); ServiceEndpoint[] endpoints = context.getEndpointsForService(interfaceName); if (endpoints.length > 0) { ServiceEndpoint endpoint = endpoints[0]; LOGGER.info("Sending to endpoint: {}", endpoint); for (int i = 0; i < messageCount; i++) { InOnly exchange = context.getDeliveryChannel().createExchangeFactory().createInOnlyExchange(); NormalizedMessage message = exchange.createMessage(); exchange.setEndpoint(endpoint); exchange.setInMessage(message); // lets set the XML as a byte[], String or DOM etc String xml = "<s12:Envelope xmlns:s12='http://www.w3.org/2003/05/soap-envelope'>" + " <s12:Body><foo>Hello!</foo> </s12:Body>" + "</s12:Envelope>"; message.setContent(new StringSource(xml)); LOGGER.info("sending message: {}", i); DeliveryChannel deliveryChannel = context.getDeliveryChannel(); LOGGER.info("sync send on deliverychannel: {}", deliveryChannel); if (sync) { deliveryChannel.sendSync(exchange); } else { deliveryChannel.send(exchange); } } } else { LOGGER.warn("No endpoints available for interface: {}", interfaceName); } }
getMessageTransformer().transform(me, exchange.getInMessage(), in); me.setInMessage(in); me.setEndpoint(endpoint); Set names = exchange.getPropertyNames(); for (Iterator iter = names.iterator(); iter.hasNext();) {
public void sendMessages(int messageCount, boolean sync) throws JBIException { ComponentContext context = getContext(); for (int i = 0; i < messageCount; i++) { InOnly exchange = context.getDeliveryChannel().createExchangeFactory().createInOnlyExchange(); NormalizedMessage msg = exchange.createMessage(); ServiceEndpoint destination = null; if (resolver != null) { destination = resolver.resolveEndpoint(getContext(), exchange, NullEndpointFilter.getInstance()); } if (destination != null) { // lets explicitly specify the destination - otherwise // we'll let the container choose for us exchange.setEndpoint(destination); } exchange.setInMessage(msg); // lets set the XML as a byte[], String or DOM etc msg.setContent(new StringSource(this.message)); if (sync) { boolean result = context.getDeliveryChannel().sendSync(exchange, 1000); if (!result) { throw new MessagingException("Message delivery using sendSync has timed out"); } } else { context.getDeliveryChannel().send(exchange); } } }