Uploaded image for project: 'JBoss ESB'
  1. JBoss ESB
  2. JBESB-3769

ContentBasedWiretap fails to route message to original recipiet if no match is found for message

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 4.7, 4.10
    • None
    • Content Based Routing
    • None
    • Hide

      Notice the SampleOrder.xml has a statusCode="4", which will not match any rules.

      $fun_cbr>ant clean deploy

      $fun_cbr>ant runtestXPath

      Expected:

      11:43:41,166 INFO [STDOUT] Reached default action:
      11:43:41,172 INFO [STDOUT] [<Order xmlns="http://org.jboss.soa.esb/Order" orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0"
      netAmount="59.97" totalAmount="64.92" tax="4.95">
      <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
      <OrderLines>
      <OrderLine position="1" quantity="1">
      <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
      </OrderLine>
      <OrderLine position="2" quantity="1">
      <Product productId="299" title="Pulp Fiction" price="29.99"/>
      </OrderLine>
      </OrderLines>
      </Order>
      ].

      Actual:

      11:45:42,275 ERROR [ContentBasedWiretap] No rule destination(s) [BlueTeam-GoBlue, GreenTeam-GoGreen, RedTeam-GoRed] were matched, . Please fix your configuration and/or routing rules.
      11:45:42,398 WARN [ActionProcessingPipeline] No fault address defined for fault message! To: InVMEpr [ PortReference < <wsa:Address invm://46756e5f43425253657276696365735f45534224242424242424242424242458506174685f46756e434252536572766963655f455342/false?false#10000/>, <wsa:ReferenceProperties jbossesb:passByValue : false/> > ] MessageID: a0944910-36bd-4c77-a877-898c1f38ea89

      ----------------------------------------

      If you change statusCode="0" then it works as expected:

      11:43:41,166 INFO [STDOUT] Reached default action:
      11:43:41,172 INFO [STDOUT] [<Order xmlns="http://org.jboss.soa.esb/Order" orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0"
      netAmount="59.97" totalAmount="64.92" tax="4.95">
      <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
      <OrderLines>
      <OrderLine position="1" quantity="1">
      <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
      </OrderLine>
      <OrderLine position="2" quantity="1">
      <Product productId="299" title="Pulp Fiction" price="29.99"/>
      </OrderLine>
      </OrderLines>
      </Order>
      ].
      11:43:41,170 INFO [STDOUT] ConsoleNotifier 2012/03/30 11:43:41.170<<Order xmlns="http://org.jboss.soa.esb/Order" orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0"
      netAmount="59.97" totalAmount="64.92" tax="4.95">
      <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
      <OrderLines>
      <OrderLine position="1" quantity="1">
      <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
      </OrderLine>
      <OrderLine position="2" quantity="1">
      <Product productId="299" title="Pulp Fiction" price="29.99"/>
      </OrderLine>
      </OrderLines>
      </Order>
      >

      You will receive a message to 'queue/quickstart_Fun_CBR_Blue_Alert'.

      Show
      Notice the SampleOrder.xml has a statusCode="4", which will not match any rules. $fun_cbr>ant clean deploy $fun_cbr>ant runtestXPath Expected: 11:43:41,166 INFO [STDOUT] Reached default action: 11:43:41,172 INFO [STDOUT] [<Order xmlns="http://org.jboss.soa.esb/Order" orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95"> <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/> <OrderLines> <OrderLine position="1" quantity="1"> <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/> </OrderLine> <OrderLine position="2" quantity="1"> <Product productId="299" title="Pulp Fiction" price="29.99"/> </OrderLine> </OrderLines> </Order> ]. Actual: 11:45:42,275 ERROR [ContentBasedWiretap] No rule destination(s) [BlueTeam-GoBlue, GreenTeam-GoGreen, RedTeam-GoRed] were matched, . Please fix your configuration and/or routing rules. 11:45:42,398 WARN [ActionProcessingPipeline] No fault address defined for fault message! To: InVMEpr [ PortReference < <wsa:Address invm://46756e5f43425253657276696365735f45534224242424242424242424242458506174685f46756e434252536572766963655f455342/false?false#10000/>, <wsa:ReferenceProperties jbossesb:passByValue : false/> > ] MessageID: a0944910-36bd-4c77-a877-898c1f38ea89 ---------------------------------------- If you change statusCode="0" then it works as expected: 11:43:41,166 INFO [STDOUT] Reached default action: 11:43:41,172 INFO [STDOUT] [<Order xmlns="http://org.jboss.soa.esb/Order" orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95"> <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/> <OrderLines> <OrderLine position="1" quantity="1"> <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/> </OrderLine> <OrderLine position="2" quantity="1"> <Product productId="299" title="Pulp Fiction" price="29.99"/> </OrderLine> </OrderLines> </Order> ]. 11:43:41,170 INFO [STDOUT] ConsoleNotifier 2012/03/30 11:43:41.170<<Order xmlns="http://org.jboss.soa.esb/Order" orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95"> <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/> <OrderLines> <OrderLine position="1" quantity="1"> <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/> </OrderLine> <OrderLine position="2" quantity="1"> <Product productId="299" title="Pulp Fiction" price="29.99"/> </OrderLine> </OrderLines> </Order> > You will receive a message to 'queue/quickstart_Fun_CBR_Blue_Alert'.

    Description

      See the attach fun_cbr.src.zip. I added an action after the ContentRouterWiretap. I found that this action is called when we get a match for the ContentBasedWiretap, but in the case that you send a message that does not match, the action Println is not executed.

      Attachments

        Activity

          People

            Unassigned Unassigned
            rhn-support-jshepher Jason Shepherd
            Archiver:
            ranumula@redhat.com Raju Anumula

            Dates

              Created:
              Updated:
              Archived: