Hello,

I am new to ApacheCXF. I got the following exception when using
JaxWsDynamicClientFactory.


2012/6/22 下午 12:45:58 org.apache.cxf.common.jaxb.JAXBUtils
logGeneratedClassNames
資訊: Created classes: test.service.Echo, test.service.EchoResponse,
test.service.Find, test.service.FindResponse, test.service.ObjectFactory,
test.service.User
EricAA,N/A
2012/6/22 下午 12:45:58 org.apache.cxf.phase.PhaseInterceptorChain
doDefaultLogging
警告: Interceptor for {
http://service.test/}MyServiceService#{http://service.test/}echo has thrown
exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
    at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:532)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:340)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:326)
    at test.service.TestJaxWSDirect.main(TestJaxWSDirect.java:44)
Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '400:
Multi-Hop Cycle Detected' when communicating with
http://localhost:8080/TestCXF/services/myservice
    at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1592)
    at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1520)
    at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1428)
    at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:658)
    at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
    ... 8 more
org.apache.cxf.interceptor.Fault: Could not send Message.
    at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:532)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:340)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:326)
    at test.service.TestJaxWSDirect.main(TestJaxWSDirect.java:44)
Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '400:
Multi-Hop Cycle Detected' when communicating with
http://localhost:8080/TestCXF/services/myservice
    at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1592)
    at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1520)
    at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1428)
    at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:658)
    at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
    ... 8 more




try {
            JaxWsDynamicClientFactory dcf =
JaxWsDynamicClientFactory.newInstance();
            Client client1 = dcf.createClient("
http://localhost:8080/TestCXF/services/myservice?wsdl";);
            Object[] obj1 = client1.invoke("find", new Object[] { "EricAA"
});


            Method m = obj1[0].getClass().getMethod("getName");
            String s = (String)m.invoke(obj1[0]);

            System.out.println(s);


            // the following part causes exception
            Object[] obj2 = client1.invoke("echo", new Object[] { "Hello"
});
            System.out.println(obj2[0].toString());

        } catch(Exception e) {
            e.printStackTrace();
        }

Reply via email to