Furthermore, I tried to use Metro's WSDL2JAVA to generate the client stub, everything is fine. Is there any bug on the WSDL2Java(Apache CXF-2.7.0) ?
Eric On Wed, Dec 5, 2012 at 3:12 PM, Eric Chow <[email protected]> wrote: > Hello, > > It's my first time to use ApachCXF-2.7.0. > > I got some strange exception "HTTP response '400: Multi-Hop Cycle > Detected'" but I don't know why I got this? > > > >> 2012/12/5 下午 03:07:03 org.apache.cxf.phase.PhaseInterceptorChain > doDefaultLogging > Warn: 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:271) > at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531) > 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.frontend.ClientProxy.invokeSync(ClientProxy.java:89) > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134) > at $Proxy28.echo(Unknown Source) > at test.service.TestWS.main(TestWS.java:37) > Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response > '400: Multi-Hop Cycle Detected' when communicating with > http://localhost:8080/TestCXF/myservice > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1529) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1489) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1308) > at > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) > at > org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:623) > at > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) > ... 9 more > javax.xml.ws.WebServiceException: Could not send Message. > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145) > at $Proxy28.echo(Unknown Source) > at test.service.TestWS.main(TestWS.java:37) > Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response > '400: Multi-Hop Cycle Detected' when communicating with > http://localhost:8080/TestCXF/myservice > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1529) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1489) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1308) > at > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) > at > org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:623) > at > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) > at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531) > 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.frontend.ClientProxy.invokeSync(ClientProxy.java:89) > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134) > ... 2 more > > >> > > > > > > The following is my code. > > > > > >> > MyServiceService port = new MyServiceService(new URL(SERVICE_URL), > SERVICE_NAME); > MyService service = port.getMyServicePort(); > > > service.echo("Hello World"); > > service.echo("Hello World again"); > > > >> > > > I found that if I use the service to call more than one time, it will > raise that exception. I mean if I only call the "service.echo(....)" once. > No exception at all. > > What's wrong with it? I tried Metro and Axis2 before, it allows call multi > times with one port. > Any idea on it? Or I need to add some special configurations for that? > Please help!!! > > > Best regards, > Eric > > > >
