}
public Message invoke(Message msg) {
try {
final OperationClient operationClient = createOperationClient(msg);
WSAxis2BindingContext bindingContext = new WSAxis2BindingContext();
bindingContext.setAxisOperationClient(operationClient);
bindingContext.setAxisOutMessageContext(operationClient.getMessageContext("Out"));
// set in the transport invoker when the response is received
//bindingContext.setAxisInMessageContext(operationClient.getMessageContext("In"));
msg.setBindingContext(bindingContext);
msg = endpointReference.getBindingInvocationChain().getHeadInvoker().invoke(msg);