You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Eric Chow <er...@gmail.com> on 2012/06/22 06:58:49 UTC
org.apache.cxf.transport.http.HTTPException: HTTP response '400:
Multi-Hop Cycle Detected' when communicating with
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();
}
Re: org.apache.cxf.transport.http.HTTPException: HTTP response '400: Multi-Hop Cycle Detected' when communicating with
Posted by Daniel Kulp <dk...@apache.org>.
Not really sure on this. It SOUNDS like more of a server side issue. I
would grab something like wireshark and try and capture the raw messages and
look at the headers and such to see if something looks strange there.
Dan
On Friday, June 22, 2012 12:58:49 PM Eric Chow wrote:
> 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$MessageSenderEndingInt
> erceptor.handleMessage(MessageSenderInterceptor.java:64) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCha
> in.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.handleRespon
> seInternal(HTTPConduit.java:1592) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespon
> se(HTTPConduit.java:1520) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCo
> nduit.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$MessageSenderEndingInt
> erceptor.handleMessage(MessageSenderInterceptor.java:62) ... 8 more
> org.apache.cxf.interceptor.Fault: Could not send Message.
> at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInt
> erceptor.handleMessage(MessageSenderInterceptor.java:64) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCha
> in.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.handleRespon
> seInternal(HTTPConduit.java:1592) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespon
> se(HTTPConduit.java:1520) at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCo
> nduit.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$MessageSenderEndingInt
> erceptor.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();
> }
--
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com