String jsonParams = request.getPayload();
Object[] args = JSONUtil.decodePayloadForOperation(jsonParams, operation);
Message msg = new MessageImpl();
msg.getHeaders().put(Constants.MESSAGE_ID, channel.getId());
msg.setBody(args);
EndpointReference re = new RuntimeEndpointReferenceImpl();
RuntimeEndpointImpl callbackEndpoint = new RuntimeEndpointImpl();
callbackEndpoint.setURI(request.getOperation());
re.setCallbackEndpoint(callbackEndpoint);
msg.setFrom(re);
endpoint.invoke(operation, msg);
}