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" <[EMAIL PROTECTED]> > datum: 2006/11/28 Tue AM 04:18:19 CET > aan: [email protected] > 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, [EMAIL PROTECTED] <[EMAIL PROTECTED]> 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 <[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] > >> > >> > > > > > > --------------------------------------------------------------------- > 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]
