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]