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

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • 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
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: