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 <[EMAIL PROTECTED]>
> datum: 2006/11/27 Mon AM 04:00:55 MET
> aan: [email protected]
> 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:[EMAIL PROTECTED] 
> > Verzonden: zondag 26 november 2006 11:33
> > Aan: [email protected]
> > 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: [EMAIL PROTECTED] For
> > additional commands, e-mail: [EMAIL PROTECTED]
> -- 
> 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: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to