7 Replies Latest reply on Mar 6, 2008 1:28 PM by ericcart

    Avoid WARN No reply to address...


      I want to avoid the WARN No reply to address... delivering async messages.

      How ?

      ... with an Ending Action with return null;


      Thanks,
      Eric

        • 1. Re: Avoid WARN No reply to address...
          beve

          Hi Eric,

          have you declared the message exchange pattern (mep) property to be "OneWay"?
          This is an attribute that can be set on the actions element:

          <actions mep="OneWay">
           <action name="testAction" class="org.jboss.soa.esb.actions.SystemPrintln" />
          ...
          </actions>
          


          Regards,

          Daniel

          • 2. Re: Avoid WARN No reply to address...


            Ahhh, that's it !!! ...message exchange pattern

            I'm going to test it.


            By the way, It's not documented or there's no quickstart with an example.

            Thxs,
            Eric

            • 3. Re: Avoid WARN No reply to address...
              beve

              Take a look at the helloworld quickstart, it has an example of this (in the main trunk and in 4_2_1_GA_CP).

              Regards,

              /Daniel

              • 4. Re: Avoid WARN No reply to address...
                kconner

                Hiya Eric.

                The original implementation of the pipeline used a null response from an action as an indicator of a one way message, this proved problematic.

                The mep attribute was added to make the intentions of the service clear, either a one way or request/response. This decoupled the intentions of the service from the implementations of the actions.

                If the mep is set to OneWay then the pipeline will always ignore the response from the final action and will never send a reply to the invocation. If it is set to RequestResponse then it expects the final action to return a message and will complain if an action returns with a null.

                If the mep is not set then it falls back to the previous behaviour which is as follows
                - null response from an action results in no response from the service
                - non null response from an action then the service expects to send a response

                The error message you are seeing is the result of your final action returning a response message but the incoming message not specifying a ReplyTo and is associated with a null mep.

                This should be documented somewhere (I will double check), but the quickstarts in trunk and CP now do contain examples of this usage.

                Kev

                • 5. Re: Avoid WARN No reply to address...


                  Excellent, very clear !!!

                  Thank you,
                  Eric

                  • 6. Re: Avoid WARN No reply to address...
                    • 7. Re: Avoid WARN No reply to address...

                       

                      ...
                      <actions mep="OneWay">
                       <action name="action1"
                       class="org.jboss.soa.esb.samples.quickstart.helloworld.MyJMSListenerAction"
                       process="displayMessage"
                       />
                       <action name="action2" class="org.jboss.soa.esb.actions.SystemPrintln">
                       <property name="printfull" value="true"/>
                       </action>
                       <!-- The next action is for Continuous Integration testing -->
                       <action name="testStore" class="org.jboss.soa.esb.actions.TestMessageStore"/>
                       </actions>
                      ...