On Mon, Jul 16, 2012 at 3:09 PM, Hiranya Jayathilaka <[email protected]>wrote:
> The server configuration of Synapse usually has the non-blocking > transports. That may have an effect on the thread model of the callout > mediator. this property is only to use with local transport. If some one needs http transport they should not enable this property. thanks, Amila. > > Thanks, > Hiranya > > > On Mon, Jul 16, 2012 at 2:33 PM, Amila Suriarachchi <[email protected]>wrote: > >> >> >> On Fri, Jul 13, 2012 at 4:47 PM, Lakmali Baminiwatta <[email protected]>wrote: >> >>> Hi all, >>> >>> >>> On Wed, Jul 11, 2012 at 6:23 PM, Supun Kamburugamuva >>> <[email protected]>wrote: >>> >>>> The server config context has the nhttp transport as the http >>>> transport. So callout mediator will pick this transport if we use the >>>> server configuration context. We should have a proper naming for the >>>> transports in axis2 before we can do this. i.e. At the moment axis2 thinks >>>> that the name of the transport is equal to the protocol name of the >>>> transport. >>> >>> >>> We were able to use Callout mediator with local transport by doing some >>> modifications to the synapse Callout mediator. We are proposing to add an >>> attribute 'useServerConfig' to the callout mediator which will use server >>> configuration context if set as true. By default it will be false and >>> Client configuration context will be used. >>> >>> So to use the Server Configuration in Callout mediator, the >>> configuration will be, >>> >>> <callout serviceURL="local://localhost/services/DTPSampleService" >>> action="urn:addToAccountBalanceInBank2" useServerConfig="true"> >>> <source xpath="$body/child::*[fn:position()=1]"/> >>> <target xpath="$body/child::*[fn:position()=1]"/> >>> </callout> >>> >>> The modification done to the Callout Mediator was changing the init >>> method of CalloutMediator.java >>> >>> public void init(SynapseEnvironment synEnv) { >>> try { >>> if (useServerConfig) { >>> configCtx = ((Axis2SynapseEnvironment) >>> synEnv).getAxis2ConfigurationContext(); >>> } else { >>> configCtx = >>> ConfigurationContextFactory.createConfigurationContextFromFileSystem( >>> clientRepository != null ? clientRepository : >>> DEFAULT_CLIENT_REPO, >>> axis2xml != null ? axis2xml : DEFAULT_AXIS2_XML); >>> } >>> } catch (AxisFault e) { >>> String msg = "Error initializing callout mediator : " + >>> e.getMessage(); >>> log.error(msg, e); >>> throw new SynapseException(msg, e); >>> } >>> } >>> >>> When *useServerConfig* is set true, the *configCtx* will be initialized >>> with Server Configuration Context as in Send mediator. >>> >>> Shall we proceed with this solution? >>> >> >> +1. This allows to use the call out mediator with local transport as well. >> >> thanks, >> Amila. >> >>> >>> Thanks, >>> Lakmali >>> >>>> >>>> Thanks, >>>> Supun.. >>>> >>>> >>>> On Wed, Jul 11, 2012 at 4:46 AM, Lakmali Baminiwatta >>>> <[email protected]>wrote: >>>> >>>>> Hi, >>>>> >>>>> How can we proceed if we are going to change the Callout mediator to >>>>> use the server config context as well? >>>>> >>>>> Thanks, >>>>> Lakmali >>>>> >>>>> >>>>> >>>>> On Tue, Jul 10, 2012 at 11:39 PM, Kasun Indrasiri <[email protected]>wrote: >>>>> >>>>>> However, following scenario seems to work fine. Seems this is not the >>>>>> expected behavior. >>>>>> >>>>>> <proxy name="EchoProxy" transports="https http" startOnLoad="true" >>>>>> trace="disable"> >>>>>> <description/> >>>>>> <target> >>>>>> <inSequence> >>>>>> >>>>>> <callout serviceURL="local://services/echo" >>>>>> action="urn:echoString"> >>>>>> <source xmlns:s12=" >>>>>> http://www.w3.org/2003/05/soap-envelope" xmlns:s11=" >>>>>> http://schemas.xmlsoap.org/soap/envelope/" >>>>>> xpath="s11:Body/child::*[fn:position()=1] | >>>>>> s12:Body/child::*[fn:position()=1]"/> >>>>>> <target xmlns:s12=" >>>>>> http://www.w3.org/2003/05/soap-envelope" xmlns:s11=" >>>>>> http://schemas.xmlsoap.org/soap/envelope/" >>>>>> xpath="s11:Body/child::*[fn:position()=1] | >>>>>> s12:Body/child::*[fn:position()=1]"/> >>>>>> </callout> >>>>>> <property name="RESPONSE" value="true"/> >>>>>> <header name="To" action="remove"/> >>>>>> <send/> >>>>>> </inSequence> >>>>>> <outSequence> >>>>>> <send/> >>>>>> </outSequence> >>>>>> </target> >>>>>> </proxy> >>>>>> >>>>>> On Tue, Jul 10, 2012 at 10:23 PM, Supun Kamburugamuva < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> For the local transport to work both the invoker and the invoking >>>>>>> service should be in the same configuration context. So this scenario >>>>>>> will >>>>>>> never work with the local transport + callout mediator. >>>>>>> >>>>>>> Thanks, >>>>>>> Supun.. >>>>>>> >>>>>>> On Tue, Jul 10, 2012 at 12:48 PM, Hiranya Jayathilaka < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Jul 10, 2012 at 5:50 PM, Lakmali Baminiwatta < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> On Tue, Jul 10, 2012 at 5:26 PM, Hiranya Jayathilaka < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Send mediator and callout mediator use different >>>>>>>>>> ConfigurationContext instances. Former uses the server cfgctx and the >>>>>>>>>> latter uses the client cfgctx. That should be the problem. >>>>>>>>> >>>>>>>>> >>>>>>>>> I have enabled local transport on >>>>>>>>> samples/axis2Client/client_repo/conf/axis2.xml. Does it require more >>>>>>>>> configurations to the client cfgctx ? >>>>>>>>> >>>>>>>> >>>>>>>> I think the local transport looks up the cfgctx to find the target >>>>>>>> AxisService. So unless you somehow use the server cfgctx in the callout >>>>>>>> mediator, this scenario will never work. Better to debug and confirm - >>>>>>>> I'm >>>>>>>> not 100% certain. >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>>> If you're using the local transport, it doesn't matter which >>>>>>>>>> mediator you use performance wise. So why not just use the send >>>>>>>>>> mediator? >>>>>>>>>> >>>>>>>>> >>>>>>>>> The requirement is to get the response from the endpoint in the >>>>>>>>> same sequence. For instance with send mediator , when the operation >>>>>>>>> at the >>>>>>>>> endpoint is failed and soap fault is returned, it will go to the >>>>>>>>> outSequence. Is there a way to jump to the fault sequence once a soap >>>>>>>>> fault >>>>>>>>> has returned from the endpoint? >>>>>>>>> >>>>>>>> >>>>>>>> Use a simple filter in the out-sequence to check the message and >>>>>>>> jump to the fault sequence. It will be something like this: >>>>>>>> >>>>>>>> <filter xpath="get-property('FAULT')"> >>>>>>>> <sequence key="my_fault_seq"/> >>>>>>>> <drop/> >>>>>>>> </filter> >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Hiranya >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> I am trying to do a distributed transaction between dataservice >>>>>>>>> endpoints, using ESB transport mediator. When an operation in one of >>>>>>>>> the >>>>>>>>> data service endpoint has failed, the soap fault message will be >>>>>>>>> received >>>>>>>>> in the out sequence. As a result we are facing a problem of where to >>>>>>>>> call >>>>>>>>> rollback action on transport mediator. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Lakmali >>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Hiranya >>>>>>>>>> >>>>>>>>>> On Tue, Jul 10, 2012 at 1:44 PM, Lakmali Baminiwatta < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Tue, Jul 10, 2012 at 1:09 PM, Lakmali Baminiwatta < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> I am trying to configure ESB Callout mediator to access a >>>>>>>>>>>> dataservice endpoint through local transport. I have enabled local >>>>>>>>>>>> transport on samples/axis2Client/client_repo/conf/axis2.xml. >>>>>>>>>>>> >>>>>>>>>>>> I configured the callout mediator serviceURL and action as >>>>>>>>>>>> follows, >>>>>>>>>>>> >>>>>>>>>>>> * <callout serviceURL=" >>>>>>>>>>>> http://localhost:8282/services/updateNonxaTrans " >>>>>>>>>>>> action="urn:UpdateXATransOp"> >>>>>>>>>>>> * >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> The callout mediator configuration I used was, >>>>>>>>>>> * >>>>>>>>>>> <callout serviceURL="local://localhost/services/updateNonxaTrans >>>>>>>>>>> **" action="urn:UpdateXATransOp">* >>>>>>>>>>> >>>>>>>>>>> I have mistakenly mentioned a wrong URL above. >>>>>>>>>>> >>>>>>>>>>>> * >>>>>>>>>>>> *I am getting the following error while invoking the service. >>>>>>>>>>>> >>>>>>>>>>>> ERROR - AxisEngine The service cannot be found for the endpoint >>>>>>>>>>>> reference (EPR) local://localhost/services/updateNonxaTrans >>>>>>>>>>>> org.apache.axis2.AxisFault: The service cannot be found for the >>>>>>>>>>>> endpoint reference (EPR) >>>>>>>>>>>> local://localhost/services/updateNonxaTrans >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:78) >>>>>>>>>>>> at org.apache.axis2.engine.Phase.invoke(Phase.java:329) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168) >>>>>>>>>>>> >>>>>>>>>>>> But the endpoint works when configured with send mediator. >>>>>>>>>>>> >>>>>>>>>>>> How can we use callout mediator to access endpoints through >>>>>>>>>>>> local transport? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Thanks, >>>>>>>>>>>> Lakmali >>>>>>>>>>>> -- >>>>>>>>>>>> Lakmali Baminiwatta* >>>>>>>>>>>> * >>>>>>>>>>>> Software Engineer >>>>>>>>>>>> WSO2, Inc.: http://wso2.com >>>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>>> >>>>>>>>>>>> * >>>>>>>>>>>> * >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Lakmali Baminiwatta* >>>>>>>>>>> * >>>>>>>>>>> Software Engineer >>>>>>>>>>> WSO2, Inc.: http://wso2.com >>>>>>>>>>> lean.enterprise.middleware >>>>>>>>>>> mobile: +94 71 2335936 >>>>>>>>>>> * >>>>>>>>>>> * >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Dev mailing list >>>>>>>>>>> [email protected] >>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Hiranya Jayathilaka >>>>>>>>>> Senior Technical Lead; >>>>>>>>>> WSO2 Inc.; http://wso2.org >>>>>>>>>> E-mail: [email protected]; Mobile: +94 77 633 3491 >>>>>>>>>> Blog: http://techfeast-hiranya.blogspot.com >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Lakmali Baminiwatta* >>>>>>>>> * >>>>>>>>> Software Engineer >>>>>>>>> WSO2, Inc.: http://wso2.com >>>>>>>>> lean.enterprise.middleware >>>>>>>>> mobile: +94 71 2335936 >>>>>>>>> * >>>>>>>>> * >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Hiranya Jayathilaka >>>>>>>> Senior Technical Lead; >>>>>>>> WSO2 Inc.; http://wso2.org >>>>>>>> E-mail: [email protected]; Mobile: +94 77 633 3491 >>>>>>>> Blog: http://techfeast-hiranya.blogspot.com >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Dev mailing list >>>>>>>> [email protected] >>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Supun Kamburugamuva >>>>>>> Member, Apache Software Foundation; http://www.apache.org >>>>>>> E-mail: [email protected] <[email protected]>; Mobile: +94 77 431 3585 >>>>>>> Blog: http://supunk.blogspot.com >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Dev mailing list >>>>>>> [email protected] >>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Kasun Indrasiri >>>>>> Associate Technical Lead >>>>>> >>>>>> WSO2, Inc.; http://wso2.com >>>>>> lean.enterprise.middleware >>>>>> >>>>>> cell: +94 71 536 4128 >>>>>> Blog : http://kasunpanorama.blogspot.com/ >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> [email protected] >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Lakmali Baminiwatta* >>>>> * >>>>> Software Engineer >>>>> WSO2, Inc.: http://wso2.com >>>>> lean.enterprise.middleware >>>>> mobile: +94 71 2335936 >>>>> * >>>>> * >>>>> >>>>> >>>> >>>> >>>> -- >>>> Supun Kamburugamuva >>>> Member, Apache Software Foundation; http://www.apache.org >>>> E-mail: [email protected] <[email protected]>; Mobile: +94 77 431 3585 >>>> Blog: http://supunk.blogspot.com >>>> >>>> >>>> >>>> >>> >>> >>> -- >>> Lakmali Baminiwatta* >>> * >>> Software Engineer >>> WSO2, Inc.: http://wso2.com >>> lean.enterprise.middleware >>> mobile: +94 71 2335936 >>> * >>> * >>> >>> >>> _______________________________________________ >>> Dev mailing list >>> [email protected] >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> *Amila Suriarachchi* >> >> Software Architect >> WSO2 Inc. ; http://wso2.com >> lean . enterprise . middleware >> >> phone : +94 71 3082805 >> >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > Hiranya Jayathilaka > Senior Technical Lead; > WSO2 Inc.; http://wso2.org > E-mail: [email protected]; Mobile: +94 77 633 3491 > Blog: http://techfeast-hiranya.blogspot.com > -- *Amila Suriarachchi* Software Architect WSO2 Inc. ; http://wso2.com lean . enterprise . middleware phone : +94 71 3082805
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
