Hi Godwin, The jar in the given location has a different name than the doc. Please try using the handler name "*org.wso2.handler.SimpleOauthHandler". *Let's verify this. Then we need to correct the doc to align with the sample. Thanks for reporting.
Regards, Vinod On Tue, Jan 16, 2018 at 7:56 AM, Godwin Shrimal <god...@wso2.com> wrote: > Hi Devs, > > When we add the BasicAuth handler to API and save it gives following > error. (I followed the doc [1] and downloaded the jar file and put into > <EI_HOME>/lib) > > [2018-01-16 09:24:57,235] [EI-Core] ERROR - APIFactory Error initializing > API handler: org.wso2.rest.BasicAuthHandler > java.lang.ClassNotFoundException: org.wso2.rest.BasicAuthHandler cannot > be found by synapse-core_2.1.7.wso2v15 > at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal( > BundleLoader.java:501) > at org.eclipse.osgi.internal.loader.BundleLoader.findClass( > BundleLoader.java:421) > at org.eclipse.osgi.internal.loader.BundleLoader.findClass( > BundleLoader.java:412) > at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass( > DefaultClassLoader.java:107) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at org.apache.synapse.config.xml.rest.APIFactory.defineHandler( > APIFactory.java:161) > at org.apache.synapse.config.xml.rest.APIFactory.createAPI( > APIFactory.java:103) > at org.apache.synapse.config.xml.rest.APIFactory.createAPI( > APIFactory.java:53) > at org.wso2.carbon.rest.api.service.RestApiAdmin.updateApiFromString( > RestApiAdmin.java:164) > 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:483) > at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil. > java:212) > at org.apache.axis2.rpc.receivers.RPCMessageReceiver. > invokeBusinessLogic(RPCMessageReceiver.java:117) > at org.apache.axis2.receivers.AbstractInOutMessageReceiver. > invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) > at org.apache.axis2.receivers.AbstractMessageReceiver.receive( > AbstractMessageReceiver.java:110) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) > at org.apache.axis2.transport.local.LocalTransportReceiver. > processMessage(LocalTransportReceiver.java:169) > at org.apache.axis2.transport.local.LocalTransportReceiver. > processMessage(LocalTransportReceiver.java:82) > at org.wso2.carbon.core.transports.local.CarbonLocalTransportSender. > finalizeSendWithToAddress(CarbonLocalTransportSender.java:45) > at org.apache.axis2.transport.local.LocalTransportSender. > invoke(LocalTransportSender.java:77) > at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) > at org.apache.axis2.description.OutInAxisOperationClient.send( > OutInAxisOperation.java:430) > at org.apache.axis2.description.OutInAxisOperationClient.executeImpl( > OutInAxisOperation.java:225) > at org.apache.axis2.client.OperationClient.execute( > OperationClient.java:149) > at org.wso2.carbon.rest.api.stub.RestApiAdminStub.updateApiFromString( > RestApiAdminStub.java:4280) > at org.wso2.carbon.rest.api.ui.client.RestApiAdminClient. > updateApiFromString(RestApiAdminClient.java:226) > at org.apache.jsp.api.savesource_002dajaxprocessor_jsp._ > jspService(savesource_002dajaxprocessor_jsp.java:177) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) > at org.apache.jasper.servlet.JspServletWrapper.service( > JspServletWrapper.java:439) > at org.apache.jasper.servlet.JspServlet.serviceJspFile( > JspServlet.java:395) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) > at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155) > at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) > at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service( > ContextPathServletAdaptor.java:37) > at org.eclipse.equinox.http.servlet.internal. > ServletRegistration.service(ServletRegistration.java:61) > at org.eclipse.equinox.http.servlet.internal.ProxyServlet. > processAlias(ProxyServlet.java:128) > at org.eclipse.equinox.http.servlet.internal.ProxyServlet. > service(ProxyServlet.java:68) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) > at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet. > service(DelegationServlet.java:68) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:303) > 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.wso2.carbon.ui.filters.cache.URLBasedCachePreventionFilter. > doFilter(URLBasedCachePreventionFilter.java:57) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.owasp.csrfguard.CsrfGuardFilter.doFilter( > CsrfGuardFilter.java:88) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.wso2.carbon.ui.filters.CSRFPreventionFilter.doFilter( > CSRFPreventionFilter.java:88) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.wso2.carbon.ui.filters.CRLFPreventionFilter.doFilter( > CRLFPreventionFilter.java:61) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter. > doFilter(CharacterSetFilter.java:61) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter( > HttpHeaderSecurityFilter.java:124) > 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:219) > at org.apache.catalina.core.StandardContextValve.invoke( > StandardContextValve.java:110) > at org.apache.catalina.authenticator.AuthenticatorBase.invoke( > AuthenticatorBase.java:506) > at org.apache.catalina.core.StandardHostValve.invoke( > StandardHostValve.java:169) > 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.CarbonStuckThreadDetectionValv > e.invoke(CarbonStuckThreadDetectionValve.java:159) > at org.apache.catalina.valves.AccessLogValve.invoke( > AccessLogValve.java:962) > 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:445) > at org.apache.coyote.http11.AbstractHttp11Processor.process( > AbstractHttp11Processor.java:1115) > at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler. > process(AbstractProtocol.java:637) > at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor. > doRun(NioEndpoint.java:1775) > at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor. > run(NioEndpoint.java:1734) > 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) > [2018-01-16 09:24:57,241] [EI-Core] ERROR - RPCMessageReceiver Error > initializing API handler: org.wso2.rest.BasicAuthHandler > java.lang.reflect.InvocationTargetException > 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:483) > at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil. > java:212) > at org.apache.axis2.rpc.receivers.RPCMessageReceiver. > invokeBusinessLogic(RPCMessageReceiver.java:117) > at org.apache.axis2.receivers.AbstractInOutMessageReceiver. > invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) > at org.apache.axis2.receivers.AbstractMessageReceiver.receive( > AbstractMessageReceiver.java:110) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) > at org.apache.axis2.transport.local.LocalTransportReceiver. > processMessage(LocalTransportReceiver.java:169) > at org.apache.axis2.transport.local.LocalTransportReceiver. > processMessage(LocalTransportReceiver.java:82) > at org.wso2.carbon.core.transports.local.CarbonLocalTransportSender. > finalizeSendWithToAddress(CarbonLocalTransportSender.java:45) > at org.apache.axis2.transport.local.LocalTransportSender. > invoke(LocalTransportSender.java:77) > at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) > at org.apache.axis2.description.OutInAxisOperationClient.send( > OutInAxisOperation.java:430) > at org.apache.axis2.description.OutInAxisOperationClient.executeImpl( > OutInAxisOperation.java:225) > at org.apache.axis2.client.OperationClient.execute( > OperationClient.java:149) > at org.wso2.carbon.rest.api.stub.RestApiAdminStub.updateApiFromString( > RestApiAdminStub.java:4280) > at org.wso2.carbon.rest.api.ui.client.RestApiAdminClient. > updateApiFromString(RestApiAdminClient.java:226) > at org.apache.jsp.api.savesource_002dajaxprocessor_jsp._ > jspService(savesource_002dajaxprocessor_jsp.java:177) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) > at org.apache.jasper.servlet.JspServletWrapper.service( > JspServletWrapper.java:439) > at org.apache.jasper.servlet.JspServlet.serviceJspFile( > JspServlet.java:395) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) > at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155) > at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) > at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service( > ContextPathServletAdaptor.java:37) > at org.eclipse.equinox.http.servlet.internal. > ServletRegistration.service(ServletRegistration.java:61) > at org.eclipse.equinox.http.servlet.internal.ProxyServlet. > processAlias(ProxyServlet.java:128) > at org.eclipse.equinox.http.servlet.internal.ProxyServlet. > service(ProxyServlet.java:68) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) > at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet. > service(DelegationServlet.java:68) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:303) > 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.wso2.carbon.ui.filters.cache.URLBasedCachePreventionFilter. > doFilter(URLBasedCachePreventionFilter.java:57) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.owasp.csrfguard.CsrfGuardFilter.doFilter( > CsrfGuardFilter.java:88) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.wso2.carbon.ui.filters.CSRFPreventionFilter.doFilter( > CSRFPreventionFilter.java:88) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.wso2.carbon.ui.filters.CRLFPreventionFilter.doFilter( > CRLFPreventionFilter.java:61) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter. > doFilter(CharacterSetFilter.java:61) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter( > HttpHeaderSecurityFilter.java:124) > 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:219) > at org.apache.catalina.core.StandardContextValve.invoke( > StandardContextValve.java:110) > at org.apache.catalina.authenticator.AuthenticatorBase.invoke( > AuthenticatorBase.java:506) > at org.apache.catalina.core.StandardHostValve.invoke( > StandardHostValve.java:169) > 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.CarbonStuckThreadDetectionValv > e.invoke(CarbonStuckThreadDetectionValve.java:159) > at org.apache.catalina.valves.AccessLogValve.invoke( > AccessLogValve.java:962) > 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:445) > at org.apache.coyote.http11.AbstractHttp11Processor.process( > AbstractHttp11Processor.java:1115) > at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler. > process(AbstractProtocol.java:637) > at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor. > doRun(NioEndpoint.java:1775) > at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor. > run(NioEndpoint.java:1734) > 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.apache.synapse.SynapseException: Error initializing API > handler: org.wso2.rest.BasicAuthHandler > at org.apache.synapse.config.xml.rest.APIFactory. > handleException(APIFactory.java:202) > at org.apache.synapse.config.xml.rest.APIFactory.defineHandler( > APIFactory.java:191) > at org.apache.synapse.config.xml.rest.APIFactory.createAPI( > APIFactory.java:103) > at org.apache.synapse.config.xml.rest.APIFactory.createAPI( > APIFactory.java:53) > at org.wso2.carbon.rest.api.service.RestApiAdmin.updateApiFromString( > RestApiAdmin.java:164) > ... 81 more > Caused by: java.lang.ClassNotFoundException: > org.wso2.rest.BasicAuthHandler cannot be found by synapse-core_2.1.7.wso2v15 > at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal( > BundleLoader.java:501) > at org.eclipse.osgi.internal.loader.BundleLoader.findClass( > BundleLoader.java:421) > at org.eclipse.osgi.internal.loader.BundleLoader.findClass( > BundleLoader.java:412) > at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass( > DefaultClassLoader.java:107) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at org.apache.synapse.config.xml.rest.APIFactory.defineHandler( > APIFactory.java:161) > ... 84 more > > [1] https://docs.wso2.com/display/EI611/Securing+APIs > > Thanks > Godwin > > -- > *Godwin Amila Shrimal* > Associate Technical Lead > WSO2 Inc.; http://wso2.com > lean.enterprise.middleware > > mobile: *+94772264165* > linkedin: *https://www.linkedin.com/in/godwin-amila-2ba26844/ > <https://www.linkedin.com/in/godwin-amila-2ba26844/>* > twitter: https://twitter.com/godwinamila > <http://wso2.com/signature> > -- Vinod Kavinda Senior Software Engineer *WSO2 Inc. - lean . enterprise . middleware <http://www.wso2.com>.* Mobile : +94 (0) 712 415544 Blog : http://soatechflicks.blogspot.com/ [image: http://wso2.com/signature] <http://wso2.com/signature>
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev