Hi Guillaume,

Try to use
Object[] response = client.invoke(op, (Object[])objs, context)
but not
client.invoke(op, (Object[])objs, context, null)
Since in Client.java, there is no api for client.invoke(op, (Object[])objs, context, null), so if you use client.invoke(op, (Object[])objs, context, null), it would be delegate to invoke(boi, Object ...) But if you use client.invoke(op, (Object[])objs, context), it would be delegate to invoke(BindingOperationInfo oi,
                   Object[] params,
                   Map<String, Object> context)
You can see in JaxWsClientTest.java, line 137
Object ret[] = client.invoke(bop, new Object[] {"hi"}, null);
It is run into  invoke(BindingOperationInfo oi,
                   Object[] params,
                   Map<String, Object> context) but not
invoke(BindingOperationInfo oi,
                   Object... params)
if you debug in.


Best Regards

Freeman

tog wrote:
Hi Freeman,


The stacktrace shows Object[] invoke(BindingOperationInfo oi, Object...
params) is invoked, but not the
Object[] invoke(BindingOperationInfo oi,
                           Object[] params,
                           Map<String, Object> context,
                           Exchange exchange)
as we want. Would you please check your goovy rumtime invoker to make
sure it just pass in all paras to cxf ClientImpl?

The call is made in Java ... and here is the invoker:

    public Object invokeMethod(String name, Object args) {
        Object[] objs = InvokerHelper.getInstance().asArray(args);

        try {

            QName qname = new
QName(client.getEndpoint().getService().getName().getNamespaceURI(),
name);
            BindingOperationInfo op = client.getEndpoint
().getEndpointInfo().getBinding().getOperation(qname);

            System.out.println("-> " + qname.toString() + "  -  " +
op.toString());

            Object[] response = client.invoke(op, (Object[])objs, context,
null);

...

As you can see I do invoke the 4 args methods ... ?

How can it make the difference between:

  invoke(boi, Object ...)  and invoke(boi, Object[], Map, Exchange) these
are all objects. Isn't  it ?

Regards
Guillaume

Reply via email to