cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jordán E Moisés <jordan.moi...@kennen-consulting.com>
Subject RE: Doubt about org.apache.cxf.interceptor.Fault: Could not send Message
Date Sat, 23 Apr 2016 02:01:57 GMT
I know that what I want to know is too low level, but at TCP level, the SocketException "Read
Timed out", happens at the "data transfer" stage?
Especially while the client is waiting for the one of the many data segments response or because
it never gets to the FIN/ACK to start close the connection stage, during the especified "time
out" time?


Thanks in advance.

Regards.


Jordán Eduardo Moisés

Juncal 802 - piso 8 depto Q
C.P: C1062ABF
Buenos Aires - Argentina 
Teléfono: (54 11) 5256-4060
Móvil: (54 9 11) 5751-1359
Web: www.kennen-consulting.com


-----Mensaje original-----
De: Aki Yoshida [mailto:elakito@gmail.com] 
Enviado el: viernes, 22 de abril de 2016 05:16 a.m.
Para: users@cxf.apache.org
Asunto: Re: Doubt about org.apache.cxf.interceptor.Fault: Could not send Message

I think something between your cxf client and the server (or somewhere in the server before
the tracing step that you looked at) is interfering the call.

By the way, cxf 2.2.9 is a way too old. You should be using  a more recent version of CXF.
But your symptom doesn't seem to relate to some known CXF bug. So, upgrading CXF won't automatically
resolve your problem.


2016-04-21 18:04 GMT+02:00 Jordán E Moisés <
jordan.moises@kennen-consulting.com>:

>
>         We have our WS client running in a WebLogic, something we have 
> the same exception (*) with the method “getDatosSolicitud(Integer 
> numeroSolicitud)” and sometimes with the others that consume other 
> operations of the same WS.
>
>         The cfx client time outs are the default. We saw at the 
> WebLogic log, that we create the client OK, but then when we call the 
> method, and approximated 15 seconds later we receive the exception. At 
> the WS server log, they do not found our call.
>
>         So the question. On one hand the exception, says "Could not 
> send Message" and the other says "Read timed out", what we want to be sure is:
> (A) if the request really came out from our server and then were no 
> response for any reason. Or (B) the request never came out, due to we 
> were out of threads or we were not have more TCP / IP connections 
> available for use, etc. (By the way, we did not have found anything in 
> the logs related to these assumptions at WebLogic logs).
>
> Exception (*)
> ===========
>
> org.apache.cxf.phase.PhaseInterceptorChain -> Interceptor for 
> {http://trx.ecomex.com}TrxAdapterService#{http://trx.ecomex.com}getMes
> sage
> has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not send Message.
>         at
>
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndin
> gInter
> ceptor.handleMessage(MessageSenderInterceptor.java:64)
>         at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> rChain
> .java:243)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:487)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
>         at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:75)
>         at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>         at $Proxy562.getMessage(Unknown Source) ….
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
> Caused by: java.net.SocketTimeoutException: SocketTimeoutException 
> invoking
> http://srvatrapp-prod:9080/ECTrxWS/services/TrxAdapter: Read timed out
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>         at
>
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructo
> rAcces
> sorImpl.java:39)
> ….
>         at
>
> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppSe
> rvletC
> ontext.java:2268)
>         ... 4 more
> Caused by: java.net.SocketTimeoutException: Read timed out
>         at jrockit.net.SocketNativeIO.readBytesPinned(Native Method)
>         at 
> jrockit.net.SocketNativeIO.socketRead(SocketNativeIO.java:32)
>
>
>
> CXF version
> ==========
> 2.2.9
>
>
> The Client Code
> =============
>
> class ClientFacadeImpl implements ClientFacade {
>         private static Logger logger  = 
> Logger.getLogger(ClientFacadeDummy.class);
>         private static TrxAdapter client;
>         @Autowired
>         private LogDao logDao;
>         public ClientFacadeImpl(String wsdl) {
>                 TrxAdapterService service;
>                 try {
>                         service = new TrxAdapterService(new URL(wsdl));
>                         client = service.getTrxAdapter();
>                 } catch (Throwable e) {
>                         e.printStackTrace();
>                         throw new ClientException(
>                                         String.format("No se pudo 
> inicializar el cliente de : %s", e.getMessage()));
>                 }
>         }
>
> …others methods
>
>         @Override
>         public DatosSolicitud getDatosSolicitud(Integer numeroSolicitud) {
>                 try {
>                         DatosSolicitudRequest request = new 
> DatosSolicitudRequest();
>                         request.setNumeroSolicitud(numeroSolicitud);
>                         Converter<String> requestConverter = new 
> DatosSolicitudRequestConverter(request);
>                         String responseXml = 
> client.getMessage(requestConverter.convert());
>                         Converter<DatosSolicitudResponse> 
> responseConverter = new DatosSolicitudResponseConverter(responseXml);
>                         DatosSolicitudResponse response = 
> responseConverter.convert();
>                         return response.getData();
>                 } catch(RespuestaVaciaException rtaVacia){
>                         logger.info("getReferenciaOperacion -> 
> Respuesta vacia -> "+rtaVacia.getMessage());
>                         throw rtaVacia;
>                 }  catch (Throwable e) {
>                         e.printStackTrace();
>                         throw new ClientException(String.format(
>                                         "Error al intentar ejecutar 
> getDatosSolicitud(" + numeroSolicitud + "): %s", e.getMessage()));
>                 }
>         }
>
> ..… more code
>
>
>
> The Full StackTrace
> ===============
>
> [13/abr/2016 09:15:49:300] WARN  
> org.apache.cxf.phase.PhaseInterceptorChain
> -> Interceptor for
> {http://trx.ecomex.com}TrxAdapterService#{http://trx.ecomex.com}getMes
> sage
> has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not send Message.
>         at
>
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndin
> gInter
> ceptor.handleMessage(MessageSenderInterceptor.java:64)
>         at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> rChain
> .java:243)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:487)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
>         at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:75)
>         at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>         at $Proxy562.getMessage(Unknown Source)
>         at
>
> com.kennen.components.ws.client.impl.ClientFacadeImpl.getDatosSolicitu
> d(Clie
> ntFacadeImpl.java:105)
>         at
>
> com.kennen.components.ws.client.impl.Client.getDatosSolicitud(Client.j
> ava:10
> 4)
>         at
>
> com.kennen.components.comex.service.SolicitudServiceImpl.getSolicitud(
> Solici
> tudServiceImpl.java:117)
>         at
>
> com.kennen.components.comex.service.SolicitudServiceImpl.findSubtiposB
> yNroSo
> licitud(SolicitudServiceImpl.java:39)
>         at
>
> com.kennen.components.comex.service.facade.ComexFacadeImpl.findSubtipo
> sByNro
> Solicitud(ComexFacadeImpl.java:1523)
>         at sun.reflect.GeneratedMethodAccessor11603.invoke(Unknown Source)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl
> .java:25)
>         at
>
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflectio
> n(AopU
> tils.java:307)
>         at
>
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamic
> AopPro
> xy.java:196)
>         at $Proxy375.findSubtiposByNroSolicitud(Unknown Source)
>         at
>
> com.kennen.components.comex.web.support.OperacionTipoSubtipoSupport.ac
> tualiz
> arListaTipoSubTipoPorSolicitudId(OperacionTipoSubtipoSupport.java:111)
>         at
>
> com.kennen.components.comex.web.controller.OperacionController.crearOp
> eracio
> nEditable(OperacionController.java:462)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> ava:39
> )
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl
> .java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
>         at
> com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
>         at
>
> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpressi
> on.jav
> a:98)
>         at
>
> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(Meth
> odBind
> ingMethodExpressionAdapter.java:88)
>         at
>
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListe
> nerImp
> l.java:102)
>         at javax.faces.component.UICommand.broadcast(UICommand.java:315)
>         at javax.faces.component.UIData.broadcast(UIData.java:1093)
>         at
> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
>         at
> javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:935)
>         at
>
> com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestVa
> luesPh
> ase.java:78)
>         at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
>         at
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:111)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
>         at
>
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(
> StubSe
> curityHelper.java:227)
>         at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
>         at
> weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
>         at
>
> com.kennen.components.comex.web.filter.WrapRequestFilter.doFilter(Wrap
> Reques
> tFilter.java:33)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
>         at
>
> com.kennen.components.security.obpmauthenticator.common.filter.NoCachi
> ngFilt
> er.doFilter(NoCachingFilter.java:47)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
>         at
>
> com.kennen.components.security.obpmauthenticator.common.filter.Authent
> icatio
> nFilter.doFilter(AuthenticationFilter.java:57)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
>         at
>
> weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFi
> lter.j
> ava:27)
>         at
>
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction
> .run(W
> ebAppServletContext.java:3650)
>         at
>
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticated
> Subjec
> t.java:321)
>         at
>
> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.
> java:2174)
>         at
>
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.ja
> va:144
> 6)
>         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
>         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
> Caused by: java.net.SocketTimeoutException: SocketTimeoutException 
> invoking
> http://srvatrapp-prod:9080/ECTrxWS/services/TrxAdapter: Read timed out
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>         at
>
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructo
> rAcces
> sorImpl.java:39)
>         at
>
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCo
> nstruc
> torAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>         at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapExcep
> tion(H
> TTPConduit.java:2058)
>         at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HT
> TPCond
> uit.java:2043)
>         at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>         at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:639)
>         at
>
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndin
> gInter
> ceptor.handleMessage(MessageSenderInterceptor.java:62)
>         at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
> rChain
> .java:243)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:487)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
>         at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>         at $Proxy562.getMessage(Unknown Source)
>         at
>
> com.kennen.components.ws.client.impl.ClientFacadeImpl.getDatosSolicitu
> d(Clie
> ntFacadeImpl.java:105)
>         at
>
> com.kennen.components.ws.client.impl.Client.getDatosSolicitud(Client.j
> ava:10
> 4)
>         at
>
> com.kennen.components.comex.service.SolicitudServiceImpl.getSolicitud(
> Solici
> tudServiceImpl.java:115)
>         at
>
> com.kennen.components.comex.service.SolicitudServiceImpl.findSubtiposB
> yNroSo
> licitud(SolicitudServiceImpl.java:39)
>         at
>
> com.kennen.components.comex.service.facade.ComexFacadeImpl.findSubtipo
> sByNro
> Solicitud(ComexFacadeImpl.java:1523)
>         at sun.reflect.GeneratedMethodAccessor11603.invoke(Unknown Source)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl
> .java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
>
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflectio
> n(AopU
> tils.java:307)
>         at
>
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamic
> AopPro
> xy.java:196)
>         at $Proxy375.findSubtiposByNroSolicitud(Unknown Source)
>         at
>
> com.kennen.components.comex.web.support.OperacionTipoSubtipoSupport.ac
> tualiz
> arListaTipoSubTipoPorSolicitudId(OperacionTipoSubtipoSupport.java:111)
>         at
>
> com.kennen.components.comex.web.controller.OperacionController.crearOp
> eracio
> nEditable(OperacionController.java:462)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> ava:39
> )
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl
> .java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
>         at
> com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
>         at
>
> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpressi
> on.jav
> a:98)
>         at
>
> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(Meth
> odBind
> ingMethodExpressionAdapter.java:88)
>         at
>
> com.sun.faces.application.ActionListenerImpl.processAction(ActionListe
> nerImp
> l.java:102)
>         at javax.faces.component.UICommand.broadcast(UICommand.java:315)
>         at javax.faces.component.UIData.broadcast(UIData.java:1093)
>         at
> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
>         at
> javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:935)
>         at
>
> com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestVa
> luesPh
> ase.java:78)
>         at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
>         at
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
>         at
>
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(
> StubSe
> curityHelper.java:227)
>         at
>
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurit
> yHelpe
> r.java:125)
>         at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
>         at
> weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
>         at
>
> com.kennen.components.comex.web.filter.WrapRequestFilter.doFilter(Wrap
> Reques
> tFilter.java:30)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
>         at
>
> com.kennen.components.security.obpmauthenticator.common.filter.NoCachi
> ngFilt
> er.doFilter(NoCachingFilter.java:46)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
>         at
>
> com.kennen.components.security.obpmauthenticator.common.filter.Authent
> icatio
> nFilter.doFilter(AuthenticationFilter.java:57)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
>         at
>
> weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFi
> lter.j
> ava:27)
>         at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
>         at
>
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction
> .doIt(
> WebAppServletContext.java:3684)
>         at
>
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction
> .run(W
> ebAppServletContext.java:3650)
>         at
>
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticated
> Subjec
> t.java:321)
>         at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
>         at
>
> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppSe
> rvletC
> ontext.java:2268)
>         ... 4 more
> Caused by: java.net.SocketTimeoutException: Read timed out
>         at jrockit.net.SocketNativeIO.readBytesPinned(Native Method)
>         at jrockit.net.SocketNativeIO.socketRead(SocketNativeIO.java:32)
>         at java.net.SocketInputStream.socketRead0(SocketInputStream.java)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
>         at weblogic.net.http.MessageHeader.isHTTP(MessageHeader.java:220)
>         at
> weblogic.net.http.MessageHeader.parseHeader(MessageHeader.java:143)
>         at weblogic.net.http.HttpClient.parseHTTP(HttpClient.java:462)
>         at
>
> weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.j
> ava:36
> 4)
>         at
>
> weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConn
> ection
> .java:37)
>         at
>
> weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.
> java:9
> 52)
>         at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
> sponse
> Internal(HTTPConduit.java:2165)
>         at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
> sponse
> (HTTPConduit.java:2134)
>         at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HT
> TPCond
> uit.java:1988)
>         ... 62 mor
>
> In advance thank you very much for any help.
>
> Regards
>
> Jordán Eduardo Moisés
>
> Juncal 802 - piso 8 depto Q
> C.P: C1062ABF
> Buenos Aires - Argentina
> Teléfono: (54 11) 5256-4060
> Móvil: (54 9 11) 5751-1359
> Web: www.kennen-consulting.com
>
>
>
>


Mime
View raw message