8 Replies Latest reply on Oct 3, 2007 3:08 PM by claudio_br

    Problem with break pipeline

      I have a data import system using esb. The client is single thread. The client locates the service in esb using the following class:

      package com.buscape.locator;
      
      import org.apache.log4j.Logger;
      import org.jboss.soa.esb.client.ServiceInvoker;
      
      
      public class LocatorCepEsb extends LocatorEsb{
      
       private static ServiceInvoker service = localizaEsb();
      
       private static ServiceInvoker localizaEsb(){
       try{
       ServiceInvoker myservice = new ServiceInvoker("Cep", "Cep");
       Logger.getLogger(LocatorCepEsb.class).info("Localizou Esb Categoria: Cep, Serviço: Cep");
       return myservice;
       }catch (Exception e){
       Logger.getLogger(LocatorCepEsb.class).warn(e.toString(),e);
       return null;
       }
       }
      
       public static ServiceInvoker getService(){
       return service;
       }
      
      }


      The esb service is static (cache). I get the service calling LocatorCepEsb.getService()

      When occurs the first exception in esb´s action I get this exception:

      2007-10-01 23:59:17,881 WARN [org.jboss.soa.esb.listeners.message.ActionProcessingPipeline] Unexpected exception caught while processing the action pipeline
      org.jboss.soa.esb.actions.ActionProcessingFaultException: com.buscape.generico.BusinessException: cep:Cep com número já existente
       at com.buscape.esb.CepEsb.executar(CepEsb.java:104)
       at sun.reflect.GeneratedMethodAccessor401.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processMethods(ActionProcessorMethodInfo.java:102)
       at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcessor.process(OverriddenActionLifecycleProcessor.java:74)
       at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:265)
       at org.jboss.soa.esb.listeners.message.MessageAwareListener$1.run(MessageAwareListener.java:297)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
       at java.lang.Thread.run(Thread.java:595)
      2007-10-01 23:59:22,817 INFO [org.jboss.soa.esb.client.ServiceInvoker] Unresponsive EPR: EPR: PortReference < <wsa:Address jms://localhost/queue/cep_esb/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : localhost/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> >
      2007-10-01 23:59:22,853 WARN [org.jboss.soa.esb.client.ServiceInvoker] Unexpected exception during attempted message delivery over Courier for EPR [EPR: PortReference < <wsa:Address jms://localhost/queue/DeadMessageQueue/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> >] for Service [JBossESB-Internal:DeadLetterService].
      java.lang.NullPointerException
      2007-10-01 23:59:22,854 INFO [org.jboss.soa.esb.client.ServiceInvoker] Unresponsive EPR: EPR: PortReference < <wsa:Address jms://localhost/queue/DeadMessageQueue/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> >
      2007-10-01 23:59:22,854 WARN [com.buscape.webservice.CepWS] org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message to Service [JBossESB-Internal:DeadLetterService]. Check for errors.
      org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message to Service [JBossESB-Internal:DeadLetterService]. Check for errors.
       at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:262)
       at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:185)
       at org.jboss.soa.esb.client.ServiceInvoker.deliverToDeadLetterService(ServiceInvoker.java:219)
       at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:165)
       at com.buscape.webservice.CepWS.enviarEsb(CepWS.java:55)
       at com.buscape.webservice.CepWS.addCep(CepWS.java:198)
       at sun.reflect.GeneratedMethodAccessor443.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.wsf.spi.invocation.InvocationHandlerJSE.invoke(InvocationHandlerJSE.java:74)
       at org.jboss.wsf.stack.jbws.ServiceLifecycleInvocationHandler.invoke(ServiceLifecycleInvocationHandler.java:59)
       at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:206)
       at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:396)
       at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:260)
       at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:177)
       at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:110)
       at org.jboss.wsf.spi.invocation.EndpointServlet.service(EndpointServlet.java:72)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
       at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
       at java.lang.Thread.run(Thread.java:595)


      After this first exception, always I get this exception below, even don´t get exception in esb´s action:

      2007-10-01 23:59:27,913 INFO [org.jboss.soa.esb.client.ServiceInvoker] Unresponsive EPR: EPR: PortReference < <wsa:Address jms://localhost/queue/cep_esb/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : localhost/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> >
      2007-10-01 23:59:27,938 WARN [org.jboss.soa.esb.client.ServiceInvoker] Unexpected exception during attempted message delivery over Courier for EPR [EPR: PortReference < <wsa:Address jms://localhost/queue/DeadMessageQueue/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> >] for Service [JBossESB-Internal:DeadLetterService].
      java.lang.NullPointerException
      2007-10-01 23:59:27,938 INFO [org.jboss.soa.esb.client.ServiceInvoker] Unresponsive EPR: EPR: PortReference < <wsa:Address jms://localhost/queue/DeadMessageQueue/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> >
      2007-10-01 23:59:27,939 WARN [com.buscape.webservice.CepWS] org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message to Service [JBossESB-Internal:DeadLetterService]. Check for errors.
      org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message to Service [JBossESB-Internal:DeadLetterService]. Check for errors.
       at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:262)
       at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:185)
       at org.jboss.soa.esb.client.ServiceInvoker.deliverToDeadLetterService(ServiceInvoker.java:219)
       at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:165)
       at com.buscape.webservice.CepWS.enviarEsb(CepWS.java:55)
       at com.buscape.webservice.CepWS.addCep(CepWS.java:198)
       at sun.reflect.GeneratedMethodAccessor443.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.wsf.spi.invocation.InvocationHandlerJSE.invoke(InvocationHandlerJSE.java:74)
       at org.jboss.wsf.stack.jbws.ServiceLifecycleInvocationHandler.invoke(ServiceLifecycleInvocationHandler.java:59)
       at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:206)
       at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:396)
       at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:260)
       at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:177)
       at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:110)
       at org.jboss.wsf.spi.invocation.EndpointServlet.service(EndpointServlet.java:72)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
       at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
       at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
       at java.lang.Thread.run(Thread.java:595)


      My esb´s action

      public Message executar(Message message) throws Exception{
       try {
       // Business Code
       .
       .
       .
      
       return message;
       }
       catch (Exception ex){
       logger.warn(ex.toString(),ex);
       ErrosValidacao erros = ExceptionUtilEsb.processException(ex);
       message.getBody().add("ErrosValidacao",erros);
       throw new ActionProcessingFaultException(message,ex.toString());
       }
       }


      I am using JbossAS 4.2.1.GA, JbossMessaging 1.3.0.GA, JbossWS 2.0.0.GA and JbossEsb 4.2.GA

      What am I doing wrong?
      Thanks



        • 1. Re: Problem with break pipeline
          marklittle

          So you get the first warning because your code threw an exception:

          2007-10-01 23:59:17,881 WARN [org.jboss.soa.esb.listeners.message.ActionProcessingPipeline] Unexpec
          ted exception caught while processing the action pipeline
          org.jboss.soa.esb.actions.ActionProcessingFaultException: com.buscape.generico.BusinessException: ce
          p:Cep com número já existente
          


          The normal execution of the pipeline wouldn't expect an exception, so it always prints a warning in these cases.

          Since the supplied trace then has:

          2007-10-01 23:59:27,913 INFO [org.jboss.soa.esb.client.ServiceInvoker] Unresponsive EPR: EPR: PortR
          eference < <wsa:Address jms://localhost/queue/cep_esb/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFacto
          ry/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : localhost/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> >
          2007-10-01 23:59:27,938 WARN [org.jboss.soa.esb.client.ServiceInvoker] Unexpected exception during
          attempted message delivery over Courier for EPR [EPR: PortReference < <wsa:Address jms://localhost/queue/DeadMessageQueue/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> >] for Service [JBossESB-Internal:DeadLetterService].
          java.lang.NullPointerException
          2007-10-01 23:59:27,938 INFO [org.jboss.soa.esb.client.ServiceInvoker] Unresponsive EPR: EPR: PortR
          eference < <wsa:Address jms://localhost/queue/DeadMessageQueue/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> >
          2007-10-01 23:59:27,939 WARN [com.buscape.webservice.CepWS] org.jboss.soa.esb.listeners.message.Mes
          sageDeliverException: Failed to deliver message to Service [JBossESB-Internal:DeadLetterService]. C
          heck for errors.
          org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message to Service [J
          BossESB-Internal:DeadLetterService]. Check for errors.
           at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:262)
           at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:185)
           at org.jboss.soa.esb.client.ServiceInvoker.deliverToDeadLetterService(ServiceInvoker.java:219)
           at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:165)
           at com.buscape.webservice.CepWS.enviarEsb(CepWS.java:55)
           at com.buscape.webservice.CepWS.addCep(CepWS.java:198)
          


          can you just clarify the relationship between your client and service? For example, where are they deployed?

          • 2. Re: Problem with break pipeline

            I have a webservice (native client) that send a message to esb. The webservice and the esb are deployed in jbossAS 4.2.1.GA.
            The my client (previous post) consume the webservice.

            The com.buscape.generico.BusinessException occur in try - catch (method executar - previous post). My system throw a ActionProcessingFaultException and I get this exception in webservice.

            The problem is: when the webservice catch the first exception, in nexts call of webservice, I get org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message to Service [JBossESB-Internal:DeadLetterService]. In this calls doesn´t throw com.buscape.generico.BusinessException.

            The method executar is executed, but the message doesn´t back to webservice and I get org.jboss.soa.esb.listeners.message.MessageDeliverException

            • 3. Re: Problem with break pipeline
              marklittle

              Is there any chance you can modify one of the Web Services quickstarts so that it exhibits the same problem?

              • 4. Re: Problem with break pipeline
                tfennelly

                Would you be able to strip down your code to the bare minimum (but still exhibit this error) and send to one us so we can try it out locally?

                tom.fennelly@jboss.com

                • 5. Re: Problem with break pipeline

                  Ok Tom and Mark.

                  I will try to create a short code to isolate the problem.
                  I will send the code to Tom.

                  Thanks

                  • 6. Re: Problem with break pipeline
                    tfennelly

                    Thanks.

                    Can you create a JIRA (assigned to me) and attach the code to it. It will help greatly if you could package it such that I can just deploy it to a running server. You'll likely get your answer a lot quicker :-)

                    • 7. Re: Problem with break pipeline

                      I did a short code to simulate the problem, but the problem doesn´t appear. I changed the jboss´s log4j to log level DEBUG to category org.jboss.soa.esb.
                      I am running again my import application. The problem appear after 6 ... 7 hours.
                      I will post the log.

                      • 8. Re: Problem with break pipeline

                        My application still continues running without the problem (the problem appear after some hours). But analyzing the log of yesterday, the problem seems be with Unresponsive EPR and doesn´t with break pipeline. I have created other topic for this. I will continue talk about this problem in this topic:

                        http://www.jboss.org/index.html?module=bb&op=viewtopic&t=118004