1 2 Previous Next 17 Replies Latest reply on Feb 7, 2008 4:37 AM by mheidt

    StaticRouter and Unresponsive EPR

    mheidt

      Hello,

      I have a problem with the following chain:

      fs-listener->XMLValidation, SmooksTransfromation, StaticRoute to another Service:


      <?xml version = "1.0" encoding = "UTF-8"?>
      <jbossesb
       xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd"
       parameterReloadSecs="5">
      
       <providers>
       <fs-provider name="FSprovider1">
       <fs-bus busid="danteTscmImportFileChannel">
       <fs-message-filter directory="@INPUTDIR@"
       input-suffix=".xml" work-suffix=".esbWorking" post-delete="false"
       post-directory="@OUTPUTDIR@" post-suffix=".sentToEsb"
       error-delete="false" error-directory="@ERRORDIR@"
       error-suffix=".IN_ERROR" />
       </fs-bus>
       </fs-provider>
      
      
       <jms-provider name="JBossMQ"
       connection-factory="ConnectionFactory">
       <jms-bus busid="danteTscmFileImportEsbImportEsbChannel">
       <jms-message-filter dest-type="QUEUE"
       dest-name="queue/dante_tscm_file_import_Request_esb" />
       </jms-bus>
      
       </jms-provider>
      
       <jms-provider name="JBossMQ"
       connection-factory="ConnectionFactory">
      
       <jms-bus busid="danteImportTSCMGwChannel">
       <jms-message-filter dest-type="QUEUE"
       dest-name="queue/dante_tscm_import_Request_gw" />
       </jms-bus>
       <jms-bus busid="danteImportTSCMEsbChannel">
       <jms-message-filter dest-type="QUEUE"
       dest-name="queue/dante_tscm_import_Request_esb" />
       </jms-bus>
      
       </jms-provider>
      
       </providers>
      
       <services>
       <service category="DanteTscm" name="ValidationImportListener"
       description="Import Validation TSCM-XML Listener">
       <listeners>
       <fs-listener name="FileGateway"
       busidref="danteTscmImportFileChannel" maxThreads="1"
       is-gateway="true" schedule-frequency="10">
      
       </fs-listener>
       <jms-listener name="importTSCMFileAction"
       busidref="danteTscmFileImportEsbImportEsbChannel" maxThreads="1">
       </jms-listener>
      
       </listeners>
       <actions mep="OneWay">
       <action name="validate"
       class="com.dai.dante_tscm.esb.XMLImportListenerAction"
       process="displayMessage,validateXMLFile">
       <property name="exceptionMethod" value="onFailure" />
       </action>
       <action name="transform"
       class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
       <property name="resource-config"
       value="/smooks-res.xml" />
       <property name="java-output-location"
       value="$default" />
       </action>
      
       <action name="routeAction"
       class="org.jboss.soa.esb.actions.StaticRouter">
       <property name="destinations">
       <route-to destination-name="tscm_import"
       service-category="DanteTscm"
       service-name="TSCMImportListener" />
      
       </property>
       </action>
      
      
       </actions>
       </service>
      
      
       <service category="DanteTscm" name="TSCMImportListener"
       description="Import Component Variants Listener">
       <listeners>
      
       <jms-listener name="ImportTSCMGateway"
       busidref="danteImportTSCMGwChannel" maxThreads="1"
       is-gateway="true">
      
       </jms-listener>
       <jms-listener name="ImportTSCMEsb"
       busidref="danteImportTSCMEsbChannel" maxThreads="1"
       is-gateway="false"/>
      
      
       </listeners>
       <actions mep="OneWay">
       <action name="import"
       class="com.dai.dante_tscm.esb.TSCMImportListenerAction"
       process="displayMessage">
      
       </action>
       </actions>
       </service>
      
      
      
      
       </services>
      
      </jbossesb>
      


      Error Message occurs in "routeAction".
      Without this action, everything is ok.
      And sending just the DanteTscm/TSCMImportListener through JMS is fine as well

      17:20:14,464 INFO [ServiceInvoker] Unresponsive EPR: JMSEpr [ 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:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : 1/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] for message: header: [ To: JMSEpr [ PortReference < <wsa:Address jms://localhost/queue/dante_tscm_file_import_Request_esb/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : 1/> > ] MessageID: ID:30-12021419876051 RelatesTo: jms:correlationID#f29c755c-1ed2-43b9-8c99-19088cb2bf43 ]
      17:20:14,464 ERROR [DanteActionLifecycle] ErrorMessage couldn't be sent
      org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message [header: [ To: JMSEpr [ PortReference < <wsa:Address jms://localhost/queue/dante_tscm_file_import_Request_esb/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : 1/> > ] MessageID: ID:30-12021419876051 RelatesTo: jms:correlationID#f29c755c-1ed2-43b9-8c99-19088cb2bf43 ]] to Service [JBossESB-Internal:DeadLetterService]. Check for errors.
       at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:279)
       at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:184)
       at org.jboss.soa.esb.client.ServiceInvoker.deliverToDeadLetterService(ServiceInvoker.java:226)
       at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:194)
       at com.dai.dante.esb.DanteActionLifecycle.onFailure(DanteActionLifecycle.java:84)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processException(ActionProcessorMethodInfo.java:190)
       at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcessor.processException(OverriddenActionLifecycleProcessor.java:94)
       at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.notifyException(ActionProcessingPipeline.java:582)
       at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:330)
       at org.jboss.soa.esb.listeners.message.MessageAwareListener$1.run(MessageAwareListener.java:303)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
       at java.lang.Thread.run(Unknown Source)


      Can I force the StaticRouter to use the gateway?

      Or is the StaticRouter the wrong tool to use?



        • 1. Re: StaticRouter and Unresponsive EPR
          mheidt

          No, it's not the StaticRouter.
          It's Smooks.

          I changed the action-chain:


          <action name="transform"
           class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
           <property name="resource-config"
           value="/smooks-res.xml" />
           </action>
          
           <action name="import"
           class="com.dai.dante_tscm.esb.XMLImportListenerAction"
           process="importTscmObjects">
           <property name="exceptionMethod" value="onFailure" />
           </action>
          


          importTscmObjects is just throwing an exception, so that onFailure fires up the following:


          ServiceInvoker si = new ServiceInvoker("DanteESB","ErrorListener");
           message.getFault().setCause(exception);
           si.deliverAsync(message);
          


          Without the Smooks-action, everything is ok, but with Smooks, I get the following:

          12:51:50,365 INFO [ServiceInvoker] Unresponsive EPR: JMSEpr [ 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:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : 1/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] for message: header:
          [ To: JMSEpr [ PortReference < <wsa:Address jms://localhost/queue/dante_tscm_file_import_Request_esb/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>,
          <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>,
          <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : 1/> > ] MessageID: ID:23-12022122776021
          RelatesTo: jms:correlationID#d66a38c2-bd86-48cd-b6f7-79616d547d6c ]
          
          12:51:50,365 ERROR [DanteActionLifecycle] ErrorMessage couldn't be sent
          org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed to deliver message [header: [ To: JMSEpr [ PortReference < <wsa:Address jms://localhost/queue/dante_tscm_file_import_Request_esb/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>,
          <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>,
          <wsa:ReferenceProperties jbossesb:acknowledge-mode : 1/> > ] MessageID: ID:23-12022122776021 RelatesTo: jms:correlationID#d66a38c2-bd86-48cd-b6f7-79616d547d6c ]] to Service [JBossESB-Internal:DeadLetterService]. Check for errors.
           at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:279)
           at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:184)
           at org.jboss.soa.esb.client.ServiceInvoker.deliverToDeadLetterService(ServiceInvoker.java:226)
           at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:194)
           at com.dai.dante.esb.DanteActionLifecycle.onFailure(DanteActionLifecycle.java:84)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
           at java.lang.reflect.Method.invoke(Unknown Source)
           at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processException(ActionProcessorMethodInfo.java:190)
           at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcessor.processException(OverriddenActionLifecycleProcessor.java:94)
           at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.notifyException(ActionProcessingPipeline.java:582)
           at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:330)
           at org.jboss.soa.esb.listeners.message.MessageAwareListener$1.run(MessageAwareListener.java:303)
           at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
           at java.lang.Thread.run(Unknown Source)
          
          


          Does anybody know how Smooks is changing the message or whatever?

          jboss-4.2.1GA, jbossesb-4.2.1.GA

          • 2. Re: StaticRouter and Unresponsive EPR
            tfennelly

            Sorry, but your post is all over the place ;-)

            Please try to structure your post such that we can follow what you're trying to do.

            1. What transformation are you trying to do with the SmooksTransformer action?
            2. What is the XMLImportListenerAction action doing and what assumptions is it making about the payload it is receiving in the ESB Message (i.e. from the SmooksTransformer action before it)?

            • 3. Re: StaticRouter and Unresponsive EPR
              mheidt

              thanks tfennelly for taking your time.

              I'm following the quickstarts\transform_XML2POJO sample.

              It differs in using a fs-provider instead of a jms-provider.

              When you take a look at that example, you find a "returnToSender" action after the transformation.

              This action is sending an action via InitialContext, QueueConnectionFactory etc.

              This works for my post-transformation-action as well.

              But when I want to send a message through ServiceInvoker, I get the posted error message.

              This is the root issue.
              Because of that I cannot put a StaticRouter behind the transformation which was the initial issue I had.

              PS:
              In the meantime I put a AbstractActionPipelineProcessor like the DVDStoreAction behind the transformation as well...to no avail...


              • 4. Re: StaticRouter and Unresponsive EPR
                tfennelly

                Sorry, still confused!

                You said in one of the posts that everything works fine until you introduced the SmooksTransformer:

                "mheidt" wrote:
                Without the Smooks-action, everything is ok, but with Smooks, I get the following


                So back to my questions...
                "tfennelly" wrote:
                1. What transformation are you trying to do with the SmooksTransformer action?
                2. What is the XMLImportListenerAction action doing and what assumptions is it making about the payload it is receiving in the ESB Message (i.e. from the SmooksTransformer action before it)?



                • 5. Re: StaticRouter and Unresponsive EPR
                  mheidt

                  1. Objecttranslation:

                  <smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
                  
                   <!-- Populate the ComponentVariantRevision -->
                   <resource-config selector="import ComponentVariantRevisions ComponentVariantRevision">
                   <resource>org.milyn.javabean.BeanPopulator</resource>
                   <param name="beanId">componentVariantRevision</param>
                   <param name="beanClass">com.dai.dante_tscm.ws.dto.ComponentVariantRevision</param>
                   <param name="bindings">
                   <binding property="id" selector="import ComponentVariantRevisions ComponentVariantRevision ID" />
                   <binding property="assigned" selector="import ComponentVariantRevisions ComponentVariantRevision ID @selfassigned" type="Boolean" />
                   <binding property="nameDe" selector="import ComponentVariantRevisions ComponentVariantRevision Name_de" />
                   <binding property="nameEn" selector="import ComponentVariantRevisions ComponentVariantRevision Name_en" />
                   <binding property="annotation" selector="import ComponentVariantRevisions ComponentVariantRevision Annotation" />
                   </param>
                   </resource-config>
                  
                  
                  </smooks-resource-list>


                  2. Validation, displayMessage and onFailure sends ErrorMessage via ServiceInvoker
                  public class XMLImportListenerAction extends DanteActionLifecycle
                  {
                  
                   private static final Log log = LogFactory.getLog(XMLImportListenerAction.class);
                  
                   private static String XSD_LOCATION = "http://qc02.mtc.daimlerchrysler.com/schema/tscm.xsd";
                  
                  
                   public XMLImportListenerAction(ConfigTree config) { super(config); }
                  
                  
                  
                  
                  
                   public Message validateXMLFile(Message message) throws Exception {
                   XmlValidator validator = new XmlValidatorImpl();
                   if (!validator.validate(
                   new InputSource(
                   new ByteArrayInputStream((byte[])message.getBody().get())
                   ),
                   new StreamSource(new URL(XSD_LOCATION).openStream())
                   )
                   ){
                   throw new XmlValidatorException("Validation failed: " + message.getProperties().getProperty("org.jboss.soa.esb.gateway.original.file.name"));
                   } else return message;
                   }
                  
                   public Message importTscmObjects(Message message) throws Exception {
                   /*
                   * doesn't work
                  
                   ServiceInvoker si = new ServiceInvoker("DanteESB","ErrorListener");
                   si.deliverAsync(message);
                   */
                  
                   /*
                   * works
                  
                   this.setupConnection("queue/dante_esb_error_Request_gw");
                   QueueSender send = session.createSender(que);
                   ObjectMessage tm = session.createObjectMessage((String)message.getBody().get());
                   send.send(tm);
                   this.stop();
                   */
                   return message;
                   }


                  • 6. Re: StaticRouter and Unresponsive EPR
                    mheidt

                    ah and the prove, that the smooks translation itself is ok as well, the missing
                    convertPOJO2Message action


                    public class TSCMImportAction extends AbstractActionPipelineProcessor {
                    
                     private static final Log log = LogFactory.getLog(TSCMImportAction.class);
                    
                     public TSCMImportAction(ConfigTree configTree) {
                    
                     }
                    
                     public Message process(Message message) throws ActionProcessingException {
                    
                    
                     StringBuffer results = new StringBuffer();
                     ComponentVariantRevision cvr = (ComponentVariantRevision)
                     message.getBody().get("componentVariantRevision");
                     try {
                     TSCMWebServiceLocator locator = new TSCMWebServiceLocator();
                    
                     WSResponse resp = locator.getTSCMGatePort().importComponentVariantRevision(cvr);
                    
                     results.append("\n*****TSCM Import objects:**************************************************\n");
                     if (resp.getErrorCode()>0){
                     results.append("ERROR: " + resp.getErrorCode() + ":" + resp.getErrorMessage() + "\n");
                     }
                     results.append("CVRId: " + cvr.getId() + "\n");
                     results.append("\n****************************************************************** ");
                    
                     message.getBody().add(results.toString());
                     } catch (Exception e){
                     log.error("process", e);
                     }
                     return message;
                     }
                    }
                    


                    • 7. Re: StaticRouter and Unresponsive EPR
                      mheidt

                      But actually you can forget everything I wrote.

                      take the transformation-pojo-quickstart project.

                      Go to MyJMSListenerAction and change the sendResponse to the following:


                      public Message sendResponse(Message message) {
                       try {
                       logHeader();
                       logFooter();
                      
                      
                       /*
                       * doesn't work
                       */
                       ServiceInvoker si = new ServiceInvoker("FirstEclipseServiceESB","SimpleListener");
                       si.deliverAsync(message);
                      
                      
                       /*
                       * works
                      
                       ReturnJMSMessage.sendMessage(message, "eclipse_quickstart_helloworld_Request_gw", _config);
                      */
                      
                      
                       } catch (Exception e) {
                       logHeader();
                       System.out.println(e.getMessage());
                       logFooter();
                       }
                       return message; //nothing was done to this but action methods must return a Message
                       }
                      


                      eclipse_quickstart_helloworld_Request_gw/"FirstEclipseServiceESB","SimpleListener"
                      is default generated by the JBossESB Eclipse plugin

                      Why doesn't ServiceInvoker work!?


                      • 8. Re: StaticRouter and Unresponsive EPR
                        burrsutter

                        Has FirstEclipseServiceESB-SimpleListener been deployed? And you have verified that it byitself is up, running and happy?

                        • 9. Re: StaticRouter and Unresponsive EPR
                          mheidt

                          yep, "runtest" works perfectly...and as I wrote inline:
                          this works as well:

                          ReturnJMSMessage.sendMessage(message, "eclipse_quickstart_helloworld_Request_gw", _config);

                          And I assume (didn't test it yet in the sample project) that the ServiceInvoker works as well, when I remove the Smooks action.

                          • 10. Re: StaticRouter and Unresponsive EPR
                            burrsutter

                            I don't believe we have a quickstart that demonstrates & verifies that SI can be used in an action (typically it is used in a piece of client code). However, it should work and built-in actions (the out of the box ones) do use SI internally.

                            • 11. Re: StaticRouter and Unresponsive EPR
                              burrsutter

                              I just tested it. Using ServiceInvoker from within one action to invoke another service works just fine.

                               public Message routeMessage(Message message) throws Exception {
                               ServiceInvoker si = new ServiceInvoker("MyCategory","SecondService");
                               System.out.println("CALLING the SecondService");
                               si.deliverAsync(message);
                               return message;
                               }
                              


                              • 12. Re: StaticRouter and Unresponsive EPR
                                mheidt

                                 

                                "burrsutter" wrote:
                                I just tested it. Using ServiceInvoker from within one action to invoke another service works just fine.


                                Yes, I was using this in the onFailure successfully.

                                But Smooks destroys this ability.

                                I try to be very specific.
                                I just tested it on a clean installation at home on OS X

                                4.2.1GA
                                quickstarts/helloworld
                                quickstarts/transform_XML2POJO

                                ant runtests on both are working

                                changing org.jboss.soa.esb.samples.quickstart.transformxml2pojo.MyJMSListenerAction

                                
                                public Message sendResponse(Message message)
                                ...
                                 ReturnJMSMessage.sendMessage(message, "quickstart_helloworld_Request_gw", _config);
                                


                                ant runtest still works great, now with an additional helloworld message

                                Instead of ReturnJMSMessage, I try the following

                                ServiceInvoker si = new ServiceInvoker("FirstServiceESB","SimpleListener");
                                si.deliverAsync(message);
                                


                                Failed: Unresponsive EPR: JMSEpr [ PortReference < <wsa:Address jms://localhost/queue/quickstart_helloworld_Request_esb/>

                                Now I delete the following from the jboss-esb.xml (transform_XML2POJO)

                                 <action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
                                 <property name="resource-config" value="/smooks-res.xml" />
                                 <property name="java-output-location" value="$default" />
                                 </action>
                                
                                 <action name="convertPOJO2Message" class="org.jboss.soa.esb.dvdstore.DVDStoreAction" />
                                 <action name="displayAfterTransformer" class="org.jboss.soa.esb.samples.quickstart.transformxml2pojo.MyJMSListenerAction" process="displayMessage" />


                                Now helloworld appears again. WITH ServiceInvoker!

                                Hence there must be something going wrong with smooks or any of the other two actions!?


                                • 13. Re: StaticRouter and Unresponsive EPR
                                  burrsutter

                                  So the test is:
                                  - Inbound JMS message
                                  - Service1 running a Smooks Transform action
                                  - Service1 running a custom action that uses the ServiceInvoker to call Service2

                                  Here is the stack trace and I have the breaking test case but not any more time to drill down deeper at this moment.

                                  16:03:29,525 INFO [ServiceInvoker] Unresponsive EPR: JMSEpr [ PortReference < <
                                  wsa:Address jms://127.0.0.1:1099/queue/quickstart_si_second_service_ESB/>, <wsa:
                                  ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.Na
                                  mingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url
                                   : localhost/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <w
                                  sa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferencePro
                                  perties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferencePropert
                                  ies jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-
                                  mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/
                                  >, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] for
                                   message: header: [ To: JMSEpr [ PortReference < <wsa:Address jms://127.0.0.1:10
                                  99/queue/quickstart_transform_pojo_esb/>, <wsa:ReferenceProperties jbossesb:java
                                  .naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:Refere
                                  nceProperties jbossesb:java.naming.provider.url : localhost/>, <wsa:ReferencePro
                                  perties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:s
                                  pecification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-facto
                                  ry : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>,
                                   <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:R
                                  eferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jboss
                                  esb:type : urn:jboss/esb/epr/type/jms/> > ] MessageID: ID:JBM-416 RelatesTo: jms
                                  :correlationID#ID:JBM-1536 ]
                                  16:03:29,615 INFO [ServiceInvoker] Unresponsive EPR: JMSEpr [ PortReference < <
                                  wsa:Address jms://127.0.0.1:1099/queue/quickstart_si_second_service_ESB/>, <wsa:
                                  ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.Na
                                  mingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url
                                   : localhost/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <w
                                  sa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferencePro
                                  perties jbossesb:connection-factory : ConnectionFactory/>, <wsa:ReferencePropert
                                  ies jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-
                                  mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/
                                  >, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] for
                                   message: header: [ To: JMSEpr [ PortReference < <wsa:Address jms://127.0.0.1:10
                                  99/queue/quickstart_transform_pojo_esb/>, <wsa:ReferenceProperties jbossesb:java
                                  .naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:Refere
                                  nceProperties jbossesb:java.naming.provider.url : localhost/>, <wsa:ReferencePro
                                  perties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:s
                                  pecification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-facto
                                  ry : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>,
                                   <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:R
                                  eferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jboss
                                  esb:type : urn:jboss/esb/epr/type/jms/> > ] MessageID: ID:JBM-416 RelatesTo: jms
                                  :correlationID#ID:JBM-1536 ]
                                  16:03:29,659 INFO [ServiceInvoker] Delivering message [header: [ To: JMSEpr [ P
                                  ortReference < <wsa:Address jms://127.0.0.1:1099/queue/quickstart_transform_pojo
                                  _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:Ref
                                  erenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb
                                  :acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transa
                                  cted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/
                                  jms/> > ] MessageID: ID:JBM-416 RelatesTo: jms:correlationID#ID:JBM-1536 ]] to R
                                  DLVRQ.
                                  16:03:29,729 INFO [ServiceInvoker] Unresponsive EPR: JMSEpr [ PortReference < <
                                  wsa:Address jms://127.0.0.1:1099/queue/DeadMessageQueue/>, <wsa:ReferencePropert
                                  ies jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:speci
                                  fication-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory :
                                   ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <ws
                                  a:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:Refer
                                  enceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:
                                  type : urn:jboss/esb/epr/type/jms/> > ] for message: header: [ To: JMSEpr [ Port
                                  Reference < <wsa:Address jms://127.0.0.1:1099/queue/quickstart_transform_pojo_es
                                  b/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.int
                                  erfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.pr
                                  ovider.url : localhost/>, <wsa:ReferenceProperties jbossesb:destination-type : q
                                  ueue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:Re
                                  ferenceProperties jbossesb:connection-factory : ConnectionFactory/>, <wsa:Refere
                                  nceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:ac
                                  knowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacte
                                  d : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms
                                  /> > ] MessageID: ID:JBM-416 RelatesTo: jms:correlationID#ID:JBM-1536 ]
                                  16:03:29,758 WARN [ActionProcessingPipeline] Unexpected exception caught while
                                  processing the action pipeline: header: [ To: JMSEpr [ PortReference < <wsa:Addr
                                  ess jms://127.0.0.1:1099/queue/quickstart_transform_pojo_esb/>, <wsa:ReferencePr
                                  operties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContext
                                  Factory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : localhos
                                  t/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:Referenc
                                  eProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbo
                                  ssesb:connection-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbosses
                                  b:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO
                                  _ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:Ref
                                  erenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] MessageID: ID:
                                  JBM-416 RelatesTo: jms:correlationID#ID:JBM-1536 ]
                                  org.jboss.soa.esb.actions.ActionProcessingException: Unexpected invocation targe
                                  t exception from processor
                                   at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.process
                                  Methods(ActionProcessorMethodInfo.java:137)
                                   at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcesso
                                  r.process(OverriddenActionLifecycleProcessor.java:74)
                                   at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(
                                  ActionProcessingPipeline.java:316)
                                   at org.jboss.soa.esb.listeners.message.MessageAwareListener$Transactiona
                                  lRunner.run(MessageAwareListener.java:566)
                                   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
                                  utor.java:650)
                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
                                  .java:675)
                                   at java.lang.Thread.run(Thread.java:595)
                                  Caused by: org.jboss.soa.esb.listeners.message.MessageDeliverException: Failed t
                                  o deliver message [header: [ To: JMSEpr [ PortReference < <wsa:Address jms://127
                                  .0.0.1:1099/queue/quickstart_transform_pojo_esb/>, <wsa:ReferenceProperties jbos
                                  sesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <w
                                  sa:ReferenceProperties jbossesb:java.naming.provider.url : localhost/>, <wsa:Ref
                                  erenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties j
                                  bossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connect
                                  ion-factory : ConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent
                                  : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/
                                  >, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferencePropert
                                  ies jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] MessageID: ID:JBM-416 Relat
                                  esTo: jms:correlationID#ID:JBM-1536 ]] to Service [JBossESB-Internal:DeadLetterS
                                  ervice]. Check for errors.
                                   at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:339)
                                  
                                   at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.j
                                  ava:216)
                                   at org.jboss.soa.esb.client.ServiceInvoker.deliverToDeadLetterService(Se
                                  rviceInvoker.java:258)
                                   at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.j
                                  ava:226)
                                   at org.jboss.soa.esb.samples.quickstart.transformxml2pojo.MyJMSListenerA
                                  ction.routeMessage(MyJMSListenerAction.java:56)
                                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
                                  java:39)
                                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
                                  sorImpl.java:25)
                                   at java.lang.reflect.Method.invoke(Method.java:585)
                                   at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.process
                                  Methods(ActionProcessorMethodInfo.java:102)
                                   ... 6 more
                                  16:03:29,888 WARN [ActionProcessingPipeline] No fault address defined for fault
                                   message! To: JMSEpr [ PortReference < <wsa:Address jms://127.0.0.1:1099/queue/q
                                  uickstart_transform_pojo_esb/>, <wsa:ReferenceProperties jbossesb:java.naming.fa
                                  ctory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferencePropert
                                  ies jbossesb:java.naming.provider.url : localhost/>, <wsa:ReferenceProperties jb
                                  ossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specificati
                                  on-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : Conne
                                  ctionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:Refe
                                  renceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferencePr
                                  operties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type :
                                   urn:jboss/esb/epr/type/jms/> > ] MessageID: ID:JBM-416 RelatesTo: jms:correlati
                                  onID#ID:JBM-1536
                                  


                                  • 14. Re: StaticRouter and Unresponsive EPR
                                    beve

                                    Hi,

                                    I took a look at this and the exception that is throw is this:

                                    22:02:40,883 INFO [STDOUT] BodyImpl valueElement : [Value: null], value: 2,1,299,Pulp Fiction,29.99
                                    22:02:40,883 ERROR [STDERR] org.jboss.soa.esb.couriers.CourierException: Failed to serialize ESB Message.
                                    22:02:40,883 ERROR [STDERR] at org.jboss.internal.soa.esb.couriers.JmsCourier.deliver(JmsCourier.java:205)
                                    22:02:40,883 ERROR [STDERR] at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.deliver(TwoWayCourierImpl.java:188)
                                    22:02:40,883 ERROR [STDERR] at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.attemptDelivery(ServiceInvoker.java:466)
                                    22:02:40,884 ERROR [STDERR] at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.access$200(ServiceInvoker.java:387)
                                    22:02:40,884 ERROR [STDERR] at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:276)
                                    22:02:40,884 ERROR [STDERR] at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:201)
                                    22:02:40,884 ERROR [STDERR] at org.jboss.soa.esb.client.ServiceInvoker.deliverToDeadLetterService(ServiceInvoker.java:243)
                                    22:02:40,884 ERROR [STDERR] at org.jboss.soa.esb.client.ServiceInvoker.deliverAsync(ServiceInvoker.java:211)
                                    22:02:40,884 ERROR [STDERR] at org.jboss.soa.esb.samples.quickstart.transformxml2pojo.MyJMSListenerAction.sendResponse(MyJMSListenerAction.java:80)
                                    22:02:40,884 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                    22:02:40,884 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                    22:02:40,884 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                    22:02:40,884 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
                                    22:02:40,884 ERROR [STDERR] at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processMethods(ActionProcessorMethodInfo.java:102)
                                    22:02:40,885 ERROR [STDERR] at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcessor.process(OverriddenActionLifecycleProcessor.java:74)
                                    22:02:40,885 ERROR [STDERR] at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:316)
                                    22:02:40,885 ERROR [STDERR] at org.jboss.soa.esb.listeners.message.MessageAwareListener$1.run(MessageAwareListener.java:303)
                                    22:02:40,885 ERROR [STDERR] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
                                    22:02:40,885 ERROR [STDERR] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
                                    22:02:40,885 ERROR [STDERR] at java.lang.Thread.run(Thread.java:595)
                                    22:02:40,886 ERROR [STDERR] Caused by: java.io.IOException: Util.serialize caught MarshalException:
                                    22:02:40,886 ERROR [STDERR] at org.jboss.soa.esb.util.Util.serialize(Util.java:201)
                                    22:02:40,886 ERROR [STDERR] at org.jboss.internal.soa.esb.couriers.JmsCourier.deliver(JmsCourier.java:199)
                                    22:02:40,886 ERROR [STDERR] ... 19 more
                                    22:02:40,886 ERROR [STDERR] Caused by: org.jboss.soa.esb.MarshalException: Cannot pack object orderItem
                                    22:02:40,886 ERROR [STDERR] at org.jboss.internal.soa.esb.message.format.xml.BodyImpl.toXML(BodyImpl.java:184)
                                    22:02:40,886 ERROR [STDERR] at org.jboss.internal.soa.esb.message.format.xml.MessageImpl.toXML(MessageImpl.java:168)
                                    22:02:40,886 ERROR [STDERR] at org.jboss.soa.esb.util.Util.serialize(Util.java:189)
                                    22:02:40,886 ERROR [STDERR] ... 20 more

                                    This was sort of hidden, but I've updated the ServiceInvoker class to log this as an error (line 480). This can be found in the main trunk.

                                    I'll poke around and see if I can figure out why this exception is being thrown.

                                    /Daniel

                                    1 2 Previous Next