Hi Guillaume,Is it possible that you send me your project working copy? It would be easier for me to debug and test it.
Best Regards
Freeman tog wrote:
Freeman, Thanks, I now get into the right method but get an another weird exception that I did not get time yet to explore deeper. 10 sept. 2007 08:20:21 org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose INFO: Outbound Message -------------------------------------- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body /></soap:Envelope> -------------------------------------- 10 sept. 2007 08:20:21 org.apache.cxf.interceptor.LoggingInInterceptorhandleMessage INFO: Inbound Message -------------------------------------- Headers: {null=[HTTP/1.1 200 OK], transfer-encoding=[chunked], Server=[Jetty(6.1.x)]} Message: -------------------------------------- 10 sept. 2007 08:20:21 org.apache.cxf.phase.PhaseInterceptorChaindoIntercept INFO: Interceptor has thrown exception, unwinding now INFO: Interceptor has thrown exception, unwinding now org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader. at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage (ReadHeadersInterceptor.java:189) at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage (ReadHeadersInterceptor.java:57) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept( PhaseInterceptorChain.java:207) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:395) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse (HTTPConduit.java:1932) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close( HTTPConduit.java:1790) at org.apache.cxf.transport.AbstractConduit.close( AbstractConduit.java:66) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java :576) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage (MessageSenderInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept( PhaseInterceptorChain.java:207) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205) at groovyx.net.ws.WSClient.invokeMethod(WSClient.java:50) On 9/10/07, Freeman Fang <[EMAIL PROTECTED]> wrote: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)theseare all objects. Isn't it ? Regards Guillaume