Re: [wsrm] clarification on Respond primitive

From
Sunil Kunisetty <>
Date
2004-06-11T20:40:58+00:00
ID
Thread
Re: [wsrm] clarification on Respond primitive
Tom Rutt wrote:

comments
inline
  

  

Sunil Kunisetty wrote:
  

  

  Tom Rutt wrote:
    

    

    The reason to send both is that one is
targeted to the sending RMP the other is targeted to the consumer.
      

      

It does not hurt to send both in this case.
      

    
    

    

 I think it hurts. I'm a big proponent of not sending information when
not needed,. I believe in
    

 not sending unnecessary and duplicate information as it will cause
confusion, mutual conflict,
    

 unnecessary bandwidth etc.
    

    

 Specifically the problems I see in this case are:
    

 i) The duplicate message may either be triggered by the RMP itself  or
accidentally by the
    

     application itself. Most likely by the former because of
Guaranteed Delivery. In that case,
    

     RMP itself is the consumer, so sending separate faults doesn't
make much sense.
    

  
  

duplicate invocation is not an rm fault, it gets acked for an rm reply.
  

  I was referring to the SOAP Fault based on the *current* proposal.
But that's not the main

  point here. My main point is:  Are they any
cases where we need to send both RM and

  SOAP Faults?

  

  ii) Just saying "send a SOAP Fault" is very 
bad for a spec. as it is not interoperable.
    

    We need to be very specific about the Fault information  to be
sent. Is it Client/Sender or
    

     Server/Receiver or what sub-code etc.?
    

  
  

we used to say that it is a client soap fault if it is message formatn
category,
  

a server soap fault if it is message processing
  

  

Perhaps that text went away in Jacques. edits?   It should be there
  

  

   iii) In most cases, the Sending RMP will
formulate a Fault/Exception to the Consumer if
    

      required based on the RM fault itself. A combination of RM Fault
and SOAP Fault
    

      could be problematic in such cases as they could conflict.
    

    

  
Well we do not have a body to send back since we did not delivery the
message, so the
  

sending rmp does not know what to put in the soap body.  Are you
proposing that for response reply
  

pattern we send empty soap body with rm reply header?
  

  

  
    

Tom Rutt
      

      

Sunil Kunisetty wrote:
      

      

      Tom Rutt wrote:
        

        

        whenever the request causes any
rm-fault, it cannot be delivered to the consumer.  All RM faults
          

have this property that for response reply pattern no response payload
is avialable, unless
          

the sending RMP caches prior responses.
          

        
        

        

        

        

 In this case, we will be semding a SOAP Envelope with one Header (that
has the RM Fault) and
        

 with no SOAP Body.
        

        

The specific qn. I've is in what cases, we need to send BOTH SOAP Fault
and a RM Fault?
        

        

I can't think of any.
        

        

        Tom Rutt
          

          

          

Sunil Kunisetty wrote:
          

          

          Tom Rutt wrote:
            

            

            This section is about rm faults.
              

              

            
  Ok. if it is not about DE and generic Faults,  what is the chance
that BOTH RM Fault and SOAP Fault
            

  need to be sent. I can't think of any cases myself.
            

            

  Even if there are few chances, since it is not for all cases, we have
to say "*the underlying protocol
            

  response MUST contain a SOAP Fault (in the SOAP Body)_ if exists one
_ in addition to the
            

  appropriate RM Fault (in the SOAP Header).".
            

            

 
            

*
            

            

            The clarification about duplicate
elilmination needs to go in section 4, where duplicate elimination
              

element is defined.
              

              

There we have three options, which are up for debate:
              

1) allow the receiving rmp to cache the earlier response and send it
with the ack for the duplicate incoke
              

2) allow the receiving rmo to send nothing in the soap body.  Since the
sending RMP was responsible for the second invoke, it can filter out
the second ack with the empty body.  It will not deliver it to the
sender.  There is a small case where the original response is lost, in
which case the sender does not get the response. This would be
              

the case with sending a soap fault as well.
              

3) send a soap fault with tha duplicat ack.  This bothers some, since
it is not a fault condition, and the
              

sending rmp can filter out the second ack and not deliver it.
              

              

Tom Rutt
              

              

Sunil Kunisetty wrote: