Hi Chanuka, This issue is fixed now. We applied a patch to staging deployment and there were some nginx config issues too.
Regards, Dinusha. On Tue, May 3, 2016 at 11:59 AM, Chanuka Dissanayake <chan...@wso2.com> wrote: > Hi Dinusha, > > Thanks for the help. I can add the web application now, but I'm not able > to publish it even though I have the required permission. Jithendra also > checked with the super user, but the same problem. What could be the issue > here? > > Regards, > Chanuka. > > On Tue, May 3, 2016 at 10:02 AM, Dinusha Senanayaka <dinu...@wso2.com> > wrote: > >> Hi Chanuka, >> >> This seems to be a issue with setting permissions to registry resource in >> mounted environment [1]. Will provide a patch ASAP. >> >> [1] https://wso2.org/jira/browse/REGISTRY-2214 >> >> Regards, >> Dinusha. >> >> On Mon, May 2, 2016 at 12:14 PM, Chanuka Dissanayake <chan...@wso2.com> >> wrote: >> >>> What is the deployment ? Not a standalone setup of 1.2.0-M3 right ? >>> >>> >>> Yes, not a standalone. I have tried a new app but same error. >>> >>> Did you check the the permissions section in the resource metadata page >>>> in registry browser. Were they properly set? >>>> >>>> @jithendra, could you check this. >>> >>> On Mon, May 2, 2016 at 12:02 PM, Denuwanthi De Silva < >>> denuwan...@wso2.com> wrote: >>> >>>> Hi Chanuka, >>>> >>>> Did you check the the permissions section in the resource metadata page >>>> in registry browser. Were they properly set? >>>> Check the user core versions as it could be related to issues at [1][2]. >>>> >>>> [1]https://wso2.org/jira/browse/CARBON-15771 >>>> [2]https://wso2.org/jira/browse/IDENTITY-4291 >>>> >>>> On Mon, May 2, 2016 at 11:52 AM, Dinusha Senanayaka <dinu...@wso2.com> >>>> wrote: >>>> >>>>> Hi Chanuka, >>>>> >>>>> What is the deployment ? Not a standalone setup of 1.2.0-M3 right ? >>>>> Btw, it says web app already exist. May be transaction failed at >>>>> intermediate state, if you tried to add it several times. Can you try >>>>> adding new app with different name and context too. >>>>> >>>>> Regards, >>>>> Dinusha. >>>>> >>>>> On Mon, May 2, 2016 at 11:46 AM, Chanuka Dissanayake <chan...@wso2.com >>>>> > wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> AppM version : 1.2.0 M3. >>>>>> I'm getting the $subject while trying to add an application *[1]* (I >>>>>> have the required permission). But when I tried to add the same >>>>>> application >>>>>> again, it's mentioning, Message, >>>>>> >>>>>> >>>>>> *Error occurred while adding the WebApp. A duplicate WebApp already >>>>>> exists with name - 'MyApp' and version - '1.0.0'* >>>>>> >>>>>> *[1]* >>>>>> >>>>>> TID: [-1234] [] [2016-05-02 11:29:55,652] WARN >>>>>> {org.wso2.carbon.registry.core.jdbc.Repository} - User >>>>>> chan...@wso2.com is not authorized to read the resource >>>>>> /_system/governance/appmgt/applicationdata/provider/chanuka-AT-wso2.com/MyApp/1.0.0/webapp. >>>>>> {org.wso2.carbon.registry.core.jdbc.Repository} >>>>>> TID: [-1234] [] [2016-05-02 11:29:55,660] ERROR >>>>>> {JAGGERY.assets.default.asset:jag} - >>>>>> org.mozilla.javascript.WrappedException: Wrapped >>>>>> org.wso2.carbon.registry.core.exceptions.ResourceNotFoundException: >>>>>> Resource does not exist at path >>>>>> /_system/governance/appmgt/applicationdata/provider/chanuka-AT-wso2.com/MyApp/1.0.0/webapp >>>>>> (<carbon>/scripts/registry/registry-osgi.js#268) >>>>>> at >>>>>> org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754) >>>>>> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148) >>>>>> at >>>>>> org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) >>>>>> at >>>>>> org.jaggeryjs.rhino.<carbon>.scripts.registry.c0._c_anonymous_25(<carbon>/scripts/registry/registry-osgi.js:268) >>>>>> at >>>>>> org.jaggeryjs.rhino.<carbon>.scripts.registry.c0.call(<carbon>/scripts/registry/registry-osgi.js) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) >>>>>> at >>>>>> org.jaggeryjs.rhino.<carbon>.scripts.registry.c0._c_anonymous_25(<carbon>/scripts/registry/artifacts.js:360) >>>>>> at >>>>>> org.jaggeryjs.rhino.<carbon>.scripts.registry.c0.call(<carbon>/scripts/registry/artifacts.js) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.ext.scripts.c5._c_anonymous_2(/publisher/modules/ext/scripts/asset.lifecycle.action.save.js:70) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.ext.scripts.c5.call(/publisher/modules/ext/scripts/asset.lifecycle.action.save.js) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.ext.core.c2._c_anonymous_14(/publisher/modules/ext/core/extension.core.js:235) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.ext.core.c2.call(/publisher/modules/ext/core/extension.core.js) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.ext.core.c3._c_anonymous_10(/publisher/modules/ext/core/extension.management.js:161) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.ext.core.c3.call(/publisher/modules/ext/core/extension.management.js) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.ext.core.c3._c_anonymous_8(/publisher/modules/ext/core/extension.management.js:111) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.ext.core.c3.call(/publisher/modules/ext/core/extension.management.js) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:85) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.assets.default.c1._c_anonymous_8(/publisher/assets/default/asset.jag:429) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.assets.default.c1.call(/publisher/assets/default/asset.jag) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.c4._c_anonymous_12(/publisher/modules/router-g.js:183) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.c4.call(/publisher/modules/router-g.js) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.assets.default.c1._c_anonymous_1(/publisher/assets/default/asset.jag:872) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.assets.default.c1.call(/publisher/assets/default/asset.jag) >>>>>> at >>>>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430) >>>>>> at >>>>>> org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269) >>>>>> at >>>>>> org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.c6._c_anonymous_17(/publisher/modules/publisher.js:438) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.c6.call(/publisher/modules/publisher.js) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23) >>>>>> at >>>>>> org.jaggeryjs.rhino.<store>.scripts.c0._c_anonymous_17(<store>/scripts/server.js:286) >>>>>> at >>>>>> org.jaggeryjs.rhino.<store>.scripts.c0.call(<store>/scripts/server.js) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.c6._c_anonymous_16(/publisher/modules/publisher.js:433) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.modules.c6.call(/publisher/modules/publisher.js) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.assets.default.c1._c_script_0(/publisher/assets/default/asset.jag:23) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.assets.default.c1.call(/publisher/assets/default/asset.jag) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.assets.default.c1.exec(/publisher/assets/default/asset.jag) >>>>>> at >>>>>> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567) >>>>>> at >>>>>> org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273) >>>>>> at >>>>>> org.jaggeryjs.jaggery.core.manager.WebAppManager.executeScript(WebAppManager.java:308) >>>>>> at >>>>>> org.jaggeryjs.jaggery.core.manager.WebAppManager.include(WebAppManager.java:148) >>>>>> at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source) >>>>>> at >>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>>> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126) >>>>>> at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.controllers.c3._c_anonymous_1(/publisher/controllers/asset_router.jag:87) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.controllers.c3.call(/publisher/controllers/asset_router.jag) >>>>>> at >>>>>> org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.controllers.c3._c_script_0(/publisher/controllers/asset_router.jag:8) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.controllers.c3.call(/publisher/controllers/asset_router.jag) >>>>>> at >>>>>> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) >>>>>> at >>>>>> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.controllers.c3.call(/publisher/controllers/asset_router.jag) >>>>>> at >>>>>> org.jaggeryjs.rhino.publisher.controllers.c3.exec(/publisher/controllers/asset_router.jag) >>>>>> at >>>>>> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567) >>>>>> at >>>>>> org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273) >>>>>> at >>>>>> org.jaggeryjs.jaggery.core.manager.WebAppManager.exec(WebAppManager.java:587) >>>>>> at >>>>>> org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:507) >>>>>> at >>>>>> org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29) >>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) >>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >>>>>> at >>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) >>>>>> at >>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>>> at >>>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) >>>>>> at >>>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) >>>>>> at >>>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:378) >>>>>> at >>>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) >>>>>> at >>>>>> org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21) >>>>>> at >>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>>> at >>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>>> at >>>>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) >>>>>> at >>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>>> at >>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>>> at >>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) >>>>>> at >>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) >>>>>> at >>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) >>>>>> at >>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) >>>>>> at >>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) >>>>>> at >>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99) >>>>>> at >>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) >>>>>> at >>>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57) >>>>>> at >>>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) >>>>>> at >>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62) >>>>>> at >>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159) >>>>>> at >>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) >>>>>> at >>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) >>>>>> at >>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) >>>>>> at >>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) >>>>>> at >>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074) >>>>>> at >>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) >>>>>> at >>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739) >>>>>> at >>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698) >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) >>>>>> at >>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) >>>>>> at >>>>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) >>>>>> at java.lang.Thread.run(Thread.java:745) >>>>>> Caused by: >>>>>> org.wso2.carbon.registry.core.exceptions.ResourceNotFoundException: >>>>>> Resource does not exist at path >>>>>> /_system/governance/appmgt/applicationdata/provider/chanuka-AT-wso2.com/MyApp/1.0.0/webapp >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.builtin.MountHandler.get(MountHandler.java:455) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.get(HandlerManager.java:2444) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.UserDefinedHandlerManager.get(UserDefinedHandlerManager.java:200) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.HandlerLifecycleManager.get(HandlerLifecycleManager.java:914) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.get(EmbeddedRegistry.java:512) >>>>>> at >>>>>> org.wso2.carbon.governance.registry.eventing.handlers.GovernanceEventingHandler.invokeAspect(GovernanceEventingHandler.java:332) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.invokeAspect(HandlerManager.java:2792) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.HandlerLifecycleManager.invokeAspect(HandlerLifecycleManager.java:518) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.invokeAspect(EmbeddedRegistry.java:2550) >>>>>> at >>>>>> org.wso2.carbon.registry.core.caching.CacheBackedRegistry.invokeAspect(CacheBackedRegistry.java:469) >>>>>> at >>>>>> org.wso2.carbon.registry.core.session.UserRegistry.invokeAspect(UserRegistry.java:1951) >>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>> at >>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>>> at >>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>>> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126) >>>>>> ... 105 more >>>>>> Caused by: >>>>>> org.wso2.carbon.registry.core.secure.AuthorizationFailedException: User >>>>>> chan...@wso2.com is not authorized to read the resource >>>>>> /_system/governance/appmgt/applicationdata/provider/chanuka-AT-wso2.com/MyApp/1.0.0/webapp. >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.Repository.get(Repository.java:193) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher.handleGet(MediaTypeMatcher.java:130) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.get(HandlerManager.java:2439) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.HandlerLifecycleManager.get(HandlerLifecycleManager.java:910) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.get(EmbeddedRegistry.java:512) >>>>>> at >>>>>> org.wso2.carbon.registry.core.session.UserRegistry.getInternal(UserRegistry.java:616) >>>>>> at >>>>>> org.wso2.carbon.registry.core.session.UserRegistry.access$400(UserRegistry.java:60) >>>>>> at >>>>>> org.wso2.carbon.registry.core.session.UserRegistry$5.run(UserRegistry.java:596) >>>>>> at >>>>>> org.wso2.carbon.registry.core.session.UserRegistry$5.run(UserRegistry.java:593) >>>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>>> at >>>>>> org.wso2.carbon.registry.core.session.UserRegistry.get(UserRegistry.java:593) >>>>>> at >>>>>> org.wso2.carbon.registry.core.jdbc.handlers.builtin.MountHandler.get(MountHandler.java:399) >>>>>> ... 120 more >>>>>> {JAGGERY.assets.default.asset:jag} >>>>>> >>>>>> >>>>>> What would be the issue here? >>>>>> >>>>>> Thanks, >>>>>> Chanuka. >>>>>> >>>>>> -- >>>>>> Chanuka Dissanayake >>>>>> *Software Engineer | **WSO2 Inc.*; http://wso2.com >>>>>> >>>>>> Mobile: +94 71 33 63 596 >>>>>> Email: chan...@wso2.com >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Dinusha Dilrukshi >>>>> Associate Technical Lead >>>>> WSO2 Inc.: http://wso2.com/ >>>>> Mobile: +94725255071 >>>>> Blog: http://dinushasblog.blogspot.com/ >>>>> >>>>> _______________________________________________ >>>>> Dev mailing list >>>>> Dev@wso2.org >>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>> >>>>> >>>> >>>> >>>> -- >>>> Denuwanthi De Silva >>>> Software Engineer; >>>> WSO2 Inc.; http://wso2.com, >>>> Email: denuwan...@wso2.com >>>> Blog: https://denuwanthi.wordpress.com/ >>>> >>> >>> >>> >>> -- >>> Chanuka Dissanayake >>> *Software Engineer | **WSO2 Inc.*; http://wso2.com >>> >>> Mobile: +94 71 33 63 596 >>> Email: chan...@wso2.com >>> >> >> >> >> -- >> Dinusha Dilrukshi >> Associate Technical Lead >> WSO2 Inc.: http://wso2.com/ >> Mobile: +94725255071 >> Blog: http://dinushasblog.blogspot.com/ >> > > > > -- > Chanuka Dissanayake > *Software Engineer | **WSO2 Inc.*; http://wso2.com > > Mobile: +94 71 33 63 596 > Email: chan...@wso2.com > -- Dinusha Dilrukshi Associate Technical Lead WSO2 Inc.: http://wso2.com/ Mobile: +94725255071 Blog: http://dinushasblog.blogspot.com/
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev