[prev in list] [next in list] [prev in thread] [next in thread] 

List:       synapse-dev
Subject:    Re: Re: Fire and forget MEP
From:       <t.rademakers () chello ! nl>
Date:       2006-11-30 12:01:30
Message-ID: 20061130120130.OZFU13178.amsfep19-int.chello.nl () localhost
[Download RAW message or body]

Asankha,

Excuse me for the late response, but I think this is a good solution.
I looked at JIRA and the status is already fixed so that's great!

Thanks,

Tijs

> 
> van: "Asankha C. Perera" <asankha@wso2.com>
> datum: 2006/11/28 Tue AM 04:18:19 CET
> aan: synapse-dev@ws.apache.org
> onderwerp: Re: Fire and forget MEP
> 
> Paul / Tijs
> 
> I opened a JIRA for this.. My suggestion is that Synapse "logs" all SOAP 
> faults received irrespective of the mediation logic. 
> http://issues.apache.org/jira/browse/SYNAPSE-42
> 
> Let me know if this is the right solution, and I will fix this
> 
> thanks
> asankha
> 
> Paul Fremantle wrote:
> > It seems to me that the default behaviour of Synapse should always be
> > to attempt to send any message on. In this case that isn't possible,
> > so I believe we should log it.
> > 
> > Paul
> > 
> > On 11/27/06, t.rademakers@chello.nl <t.rademakers@chello.nl> wrote:
> > > I agree with Sanjiva that it is a bit confusing to add an out 
> > > mediator for a fire and forget scenario.
> > > To my feeling the SOAP Fault response message that is logged when I 
> > > add an out mediator should not be dependent on the out mediator, at 
> > > least for a fire and forget scenario. Asankha, what's your opinion on 
> > > this?
> > > 
> > > Tijs
> > > 
> > > > 
> > > > van: Sanjiva Weerawarana <sanjiva@opensource.lk>
> > > > datum: 2006/11/27 Mon AM 04:00:55 MET
> > > > aan: synapse-dev@ws.apache.org
> > > > onderwerp: RE: Fire and forget MEP
> > > > 
> > > > It seems to me Synapse should always log an error if something goes
> > > > wrong. The default message execution should do that even with no
> > > > mediators present.
> > > > 
> > > > Sanjiva.
> > > > 
> > > > On Sun, 2006-11-26 at 19:36 +0100, Tijs Rademakers wrote:
> > > > > Hi Asankha,
> > > > > 
> > > > > 
> > > > > 
> > > > > I think you are right about your comments on the error handling.
> > > > > 
> > > > > My misconception was based on an example where I did not use an out
> > > > > mediator in my Synapse flow, only an in mediator.
> > > > > 
> > > > > In this case no error message is logged anywhere. When I added 
> > > the out
> > > > > mediator I could see the fault message.
> > > > > 
> > > > > 
> > > > > 
> > > > > Thanks,
> > > > > 
> > > > > 
> > > > > 
> > > > > Tijs
> > > > > 
> > > > > 
> > > > > 
> > > > > -----Oorspronkelijk bericht-----
> > > > > Van: Asankha C. Perera [mailto:asankha@wso2.com]
> > > > > Verzonden: zondag 26 november 2006 11:33
> > > > > Aan: synapse-dev@ws.apache.org
> > > > > Onderwerp: Re: Fire and forget MEP
> > > > > 
> > > > > 
> > > > > 
> > > > > Hi Tijs
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > Thanks for your very fast reply and fix!
> > > > > 
> > > > > 
> > > > > You are welcome!
> > > > > 
> > > > > 
> > > > > 
> > > > > The fire and forget MEP now works.
> > > > > I have one comment at this moment. Because of the action value 
> > > error of the previous version I think the error handling of the fire 
> > > and forget MEP does not work correctly. When an error occurs in the 
> > > web service (for example the exception that the action mapping can 
> > > not be found), I think this error should be logged within Synapse. 
> > > Now I could only retrieve the error in a request/response MEP. In the 
> > > fire and forget MEP the error just is not logged anywhere.
> > > > > 
> > > > > 
> > > > > The ServiceClient.fireAndForget() API on your client side will not
> > > > > return you an error as the message is successfully delivered to
> > > > > Synapse. (See
> > > > > 
> > > http://ws.apache.org/axis2/1_1/api/org/apache/axis2/client/ServiceClient.html#fireAndForget(org.apache.axiom.om.OMElement \
> > >  
> > > > > 
> > > > > - i.e. it will only return you errors such as host not found...)
> > > > > 
> > > > > However, if Synapse receives an error message from a back-end server
> > > > > (such as the Axis2 instance with example #1) you can log this 
> > > message
> > > > > (i.e. the SOAP fault) at Synapse using the Log mediator. Although
> > > > > Synapse will try to send this back to the client, the client will 
> > > not
> > > > > accept/process this reply. Hence I think that the current 
> > > operation is
> > > > > correct from both the Synapse point of view and the fireAndForget()
> > > > > API call....
> > > > > 
> > > > > I tried example #1 with  the 'ant placeorder' client but without
> > > > > deploying the SimpleStockQuoteService on the Axis2 instance.. 
> > > Here is
> > > > > the trace
> > > > > 
> > > > > Synapse received the request from the client
> > > > > [HttpConnection-8080-1] DEBUG SynapseMessageReceiver - Synapse
> > > > > received a new message...
> > > > > [HttpConnection-8080-1] DEBUG SynapseMessageReceiver - Received
> > > > > To: /StockQuote
> > > > > [HttpConnection-8080-1] DEBUG SynapseMessageReceiver - SOAPAction:
> > > > > urn:placeOrder
> > > > > [HttpConnection-8080-1] DEBUG SynapseMessageReceiver - Body :
> > > > > <?xml version='1.0'
> > > > > 
> > > encoding='utf-8'?><soapenv:Envelope..<m0:symbol>IBM</m0:symbol></m0:order></m0:placeOrder></soapenv:Body></soapenv:Envelope> \
> > >  
> > > > > [HttpConnection-8080-1] DEBUG SynapseMediator - Synapse main
> > > > > mediator :: mediate()
> > > > > ....
> > > > > [HttpConnection-8080-1] DEBUG SendMediator - Sending To:
> > > > > http://localhost:9000/axis2/services/SimpleStockQuoteService
> > > > > [HttpConnection-8080-1] DEBUG SendMediator - SOAPAction:
> > > > > urn:placeOrder
> > > > > [HttpConnection-8080-1] DEBUG SendMediator - Body :
> > > > > <?xml version='1.0'
> > > > > 
> > > encoding='utf-8'?><soapenv:Envelope...<m0:symbol>IBM</m0:symbol></m0:order></m0:placeOrder></soapenv:Body></soapenv:Envelope> \
> > >  
> > > > > and sent it to the specified endpoint
> > > > > [HttpConnection-8080-1] DEBUG Axis2FlexibleMEPClient - sending 
> > > [add =
> > > > > false] [sec = false] [ rm = false] [ to Address:
> > > > > http://localhost:9000/axis2/services/SimpleStockQuoteService]
> > > > > It receives a SOAP fault from the Axis2 server that the service 
> > > cannot
> > > > > be found
> > > > > [HttpConnection-8080-1] DEBUG SynapseMediator - Synapse main
> > > > > mediator :: mediate()
> > > > > ....
> > > > > Its trying to send this back to the client now...
> > > > > [HttpConnection-8080-1] DEBUG SendMediator - Sending To: null
> > > > > [HttpConnection-8080-1] DEBUG SendMediator - SOAPAction:
> > > > > urn:placeOrder
> > > > > [HttpConnection-8080-1] DEBUG SendMediator - Body :
> > > > > <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
> > > > > 
> > > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header 
> > > /><soapenv:Body><soapenv:Fault><faultcode>soapenv:Client</faultcode><faultstring>Service \
> > >  not found operation terminated 
> > > !!</faultstring><detail><Exception>org.apache.axis2.AxisFault: 
> > > Service not found operation 
> > > terminated....</Exception></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope> \
> > >  
> > > > > 
> > > > > If you execute the client call to Synapse through TCPMon you will
> > > > > notice that a HTTP 200 message with the error was sent back to the
> > > > > client by Synapse, but was ignored at the client end - as expected.
> > > > > 
> > > > > thanks
> > > > > asankha
> > > > > 
> > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org For
> > > > > additional commands, e-mail: synapse-dev-help@ws.apache.org
> > > > --
> > > > Sanjiva Weerawarana, Ph.D.
> > > > Founder & Director; Lanka Software Foundation; 
> > > http://www.opensource.lk/
> > > > Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/
> > > > Director; Open Source Initiative; http://www.opensource.org/
> > > > Member; Apache Software Foundation; http://www.apache.org/
> > > > Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/
> > > > 
> > > > 
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
> > > > For additional commands, e-mail: synapse-dev-help@ws.apache.org
> > > > 
> > > > 
> > > 
> > > 
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: synapse-dev-help@ws.apache.org
> > > 
> > > 
> > 
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: synapse-dev-help@ws.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic