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

Reply via email to