You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by Amila Maha Arachchi <am...@wso2.com> on 2014/05/18 10:06:34 UTC
Error when invoking the reponotification resource
Hi Devs,
I am trying to invoke the /stratos/admin/reponotification resource with the
following curl command.
curl -v -k -X POST
https://username:password@host:9443/stratos/admin/reponotification
-d payload='{"repository":{"url":"my git repo url here"}}'
Then I get the following exception in Stratos Manager.
TID: [0] [SCC] [2014-05-18 00:59:31,991] ERROR
{org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler} -
The requested resource is not found. Please check the resource path etc..
{org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler}
TID: [0] [SCC] [2014-05-18 00:59:31,992] ERROR
{org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler} -
Unexpected error occured while REST api, authorization process
{org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler}
org.apache.cxf.interceptor.security.AccessDeniedException: Method is not
available : Unauthorized
at
org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler.getTargetMethod(StratosAuthorizingHandler.java:155)
at
org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler.handleRequest(StratosAuthorizingHandler.java:83)
at
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:190)
at
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:101)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
at
org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:159)
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
at
org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
at
org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
at
org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
at
org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at
org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Can I get some help on solving this?
Is the resource path wrong? or a permission problem?
I went through the code and following is the code segment responsible for
this.
protected Method getTargetMethod(Message message) {
BindingOperationInfo bop =
message.getExchange().get(BindingOperationInfo.class);
if (bop != null) {
MethodDispatcher md = (MethodDispatcher)
message.getExchange().get(Service.class).get(MethodDispatcher.class.getName());
return md.getMethod(bop);
}
Method method = (Method) message.get("org.apache.cxf.resource.method");
if (method != null) {
return method;
}
log.error("The requested resource is not found. Please check
the resource path etc..");
throw new AccessDeniedException("Method is not available :
Unauthorized");
}
Thanks,
Amila.
--
*Amila Maharachchi*
Senior Technical Lead
WSO2, Inc.; http://wso2.com
Blog: http://maharachchi.blogspot.com
Mobile: +94719371446
Re: Error when invoking the reponotification resource
Posted by Pradeep Fernando <pr...@gmail.com>.
Hi amila,
what is the error response you got ? :)
thanks
On Tue, May 20, 2014 at 11:56 AM, Amila Maha Arachchi <am...@wso2.com>wrote:
> Hi Nirmal,
>
> I was able to figure this out. Reason was, I was not sending the
> Content-Type header. But the error was misleading.
>
>
> On Mon, May 19, 2014 at 12:12 PM, Nirmal Fernando <ni...@gmail.com>wrote:
>
>> Hi Amila,
>>
>> What's the user you're trying to invoke this method as? Super admin?
>>
>>
>> On Sun, May 18, 2014 at 1:36 PM, Amila Maha Arachchi <am...@wso2.com>wrote:
>>
>>> Hi Devs,
>>>
>>> I am trying to invoke the /stratos/admin/reponotification resource with
>>> the following curl command.
>>>
>>> curl -v -k -X POST https://username:password@host:9443/stratos/admin/reponotification
>>> -d payload='{"repository":{"url":"my git repo url here"}}'
>>>
>>> Then I get the following exception in Stratos Manager.
>>>
>>> TID: [0] [SCC] [2014-05-18 00:59:31,991] ERROR
>>> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler} -
>>> The requested resource is not found. Please check the resource path etc..
>>> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler}
>>>
>>> TID: [0] [SCC] [2014-05-18 00:59:31,992] ERROR
>>> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler} -
>>> Unexpected error occured while REST api, authorization process
>>> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler}
>>>
>>> org.apache.cxf.interceptor.security.AccessDeniedException: Method is not
>>> available : Unauthorized
>>>
>>> at
>>> org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler.getTargetMethod(StratosAuthorizingHandler.java:155)
>>>
>>> at
>>> org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler.handleRequest(StratosAuthorizingHandler.java:83)
>>>
>>> at
>>> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:190)
>>>
>>> at
>>> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:101)
>>>
>>> at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>>>
>>> at
>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>>>
>>> at
>>> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>>>
>>> at
>>> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>>>
>>> at
>>> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
>>>
>>> at
>>> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
>>>
>>> at
>>> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:159)
>>>
>>> at
>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
>>>
>>> at
>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
>>>
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>>>
>>> at
>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
>>>
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>
>>> at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>
>>> at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>
>>> at
>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>
>>> at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>
>>> at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>
>>> at
>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
>>>
>>> at
>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
>>>
>>> at
>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
>>>
>>> at
>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
>>>
>>> at
>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
>>>
>>> at
>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
>>>
>>> at
>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>>>
>>> at
>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
>>>
>>> at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>
>>> at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>
>>> at
>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>
>>> at
>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>
>>> at
>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
>>>
>>> at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>
>>> at java.lang.Thread.run(Thread.java:744)
>>>
>>>
>>>
>>>
>>> Can I get some help on solving this?
>>>
>>>
>>> Is the resource path wrong? or a permission problem?
>>>
>>>
>>> I went through the code and following is the code segment responsible
>>> for this.
>>>
>>>
>>>
>>>
>>> protected Method getTargetMethod(Message message) {
>>>
>>>
>>>
>>>
>>>
>>> BindingOperationInfo bop = message.getExchange().get(BindingOperationInfo.class);
>>>
>>>
>>>
>>>
>>>
>>> if (bop != null) {
>>>
>>>
>>>
>>>
>>>
>>> MethodDispatcher md = (MethodDispatcher)
>>>
>>>
>>>
>>>
>>>
>>> message.getExchange().get(Service.class).get(MethodDispatcher.class.getName());
>>>
>>>
>>>
>>>
>>>
>>> return md.getMethod(bop);
>>>
>>>
>>>
>>>
>>>
>>> }
>>> Method method = (Method) message.get("org.apache.cxf.resource.method");
>>>
>>>
>>>
>>>
>>>
>>> if (method != null) {
>>>
>>>
>>>
>>>
>>>
>>> return method;
>>>
>>>
>>> }
>>> log.error("The requested resource is not found. Please check the resource path etc..");
>>>
>>>
>>>
>>>
>>>
>>> throw new AccessDeniedException("Method is not available : Unauthorized");
>>>
>>>
>>>
>>>
>>>
>>> }
>>>
>>>
>>> Thanks,
>>>
>>> Amila.
>>>
>>> --
>>> *Amila Maharachchi*
>>> Senior Technical Lead
>>> WSO2, Inc.; http://wso2.com
>>>
>>> Blog: http://maharachchi.blogspot.com
>>> Mobile: +94719371446
>>>
>>>
>>
>>
>> --
>> Best Regards,
>> Nirmal
>>
>> Nirmal Fernando.
>> PPMC Member & Committer of Apache Stratos,
>> Senior Software Engineer, WSO2 Inc.
>>
>> Blog: http://nirmalfdo.blogspot.com/
>>
>
>
>
> --
> *Amila Maharachchi*
> Senior Technical Lead
> WSO2, Inc.; http://wso2.com
>
> Blog: http://maharachchi.blogspot.com
> Mobile: +94719371446
>
>
--
Pradeep Fernando.
http://pradeepfernando.blogspot.com/
Re: Error when invoking the reponotification resource
Posted by Amila Maha Arachchi <am...@wso2.com>.
Hi Nirmal,
I was able to figure this out. Reason was, I was not sending the
Content-Type header. But the error was misleading.
On Mon, May 19, 2014 at 12:12 PM, Nirmal Fernando <ni...@gmail.com>wrote:
> Hi Amila,
>
> What's the user you're trying to invoke this method as? Super admin?
>
>
> On Sun, May 18, 2014 at 1:36 PM, Amila Maha Arachchi <am...@wso2.com>wrote:
>
>> Hi Devs,
>>
>> I am trying to invoke the /stratos/admin/reponotification resource with
>> the following curl command.
>>
>> curl -v -k -X POST https://username:password@host:9443/stratos/admin/reponotification
>> -d payload='{"repository":{"url":"my git repo url here"}}'
>>
>> Then I get the following exception in Stratos Manager.
>>
>> TID: [0] [SCC] [2014-05-18 00:59:31,991] ERROR
>> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler} -
>> The requested resource is not found. Please check the resource path etc..
>> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler}
>>
>> TID: [0] [SCC] [2014-05-18 00:59:31,992] ERROR
>> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler} -
>> Unexpected error occured while REST api, authorization process
>> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler}
>>
>> org.apache.cxf.interceptor.security.AccessDeniedException: Method is not
>> available : Unauthorized
>>
>> at
>> org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler.getTargetMethod(StratosAuthorizingHandler.java:155)
>>
>> at
>> org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler.handleRequest(StratosAuthorizingHandler.java:83)
>>
>> at
>> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:190)
>>
>> at
>> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:101)
>>
>> at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>>
>> at
>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>>
>> at
>> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>>
>> at
>> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>>
>> at
>> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
>>
>> at
>> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
>>
>> at
>> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:159)
>>
>> at
>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
>>
>> at
>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
>>
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>>
>> at
>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
>>
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>
>> at
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>
>> at
>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
>>
>> at
>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
>>
>> at
>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
>>
>> at
>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
>>
>> at
>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
>>
>> at
>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
>>
>> at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>>
>> at
>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
>>
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>
>> at
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>
>> at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>
>> at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
>>
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>
>> at java.lang.Thread.run(Thread.java:744)
>>
>>
>>
>>
>> Can I get some help on solving this?
>>
>>
>> Is the resource path wrong? or a permission problem?
>>
>>
>> I went through the code and following is the code segment responsible for
>> this.
>>
>>
>>
>> protected Method getTargetMethod(Message message) {
>>
>>
>>
>> BindingOperationInfo bop = message.getExchange().get(BindingOperationInfo.class);
>>
>>
>>
>> if (bop != null) {
>>
>>
>>
>> MethodDispatcher md = (MethodDispatcher)
>>
>>
>>
>> message.getExchange().get(Service.class).get(MethodDispatcher.class.getName());
>>
>>
>>
>> return md.getMethod(bop);
>>
>>
>>
>> }
>> Method method = (Method) message.get("org.apache.cxf.resource.method");
>>
>>
>>
>> if (method != null) {
>>
>>
>>
>> return method;
>>
>>
>> }
>> log.error("The requested resource is not found. Please check the resource path etc..");
>>
>>
>>
>> throw new AccessDeniedException("Method is not available : Unauthorized");
>>
>>
>>
>> }
>>
>>
>> Thanks,
>>
>> Amila.
>>
>> --
>> *Amila Maharachchi*
>> Senior Technical Lead
>> WSO2, Inc.; http://wso2.com
>>
>> Blog: http://maharachchi.blogspot.com
>> Mobile: +94719371446
>>
>>
>
>
> --
> Best Regards,
> Nirmal
>
> Nirmal Fernando.
> PPMC Member & Committer of Apache Stratos,
> Senior Software Engineer, WSO2 Inc.
>
> Blog: http://nirmalfdo.blogspot.com/
>
--
*Amila Maharachchi*
Senior Technical Lead
WSO2, Inc.; http://wso2.com
Blog: http://maharachchi.blogspot.com
Mobile: +94719371446
Re: Error when invoking the reponotification resource
Posted by Nirmal Fernando <ni...@gmail.com>.
Hi Amila,
What's the user you're trying to invoke this method as? Super admin?
On Sun, May 18, 2014 at 1:36 PM, Amila Maha Arachchi <am...@wso2.com>wrote:
> Hi Devs,
>
> I am trying to invoke the /stratos/admin/reponotification resource with
> the following curl command.
>
> curl -v -k -X POST https://username:password@host:9443/stratos/admin/reponotification
> -d payload='{"repository":{"url":"my git repo url here"}}'
>
> Then I get the following exception in Stratos Manager.
>
> TID: [0] [SCC] [2014-05-18 00:59:31,991] ERROR
> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler} -
> The requested resource is not found. Please check the resource path etc..
> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler}
>
> TID: [0] [SCC] [2014-05-18 00:59:31,992] ERROR
> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler} -
> Unexpected error occured while REST api, authorization process
> {org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler}
>
> org.apache.cxf.interceptor.security.AccessDeniedException: Method is not
> available : Unauthorized
>
> at
> org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler.getTargetMethod(StratosAuthorizingHandler.java:155)
>
> at
> org.apache.stratos.rest.endpoint.handlers.StratosAuthorizingHandler.handleRequest(StratosAuthorizingHandler.java:83)
>
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:190)
>
> at
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:101)
>
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>
> at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
>
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
>
> at
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:159)
>
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
>
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>
> at
> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
>
> at
> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
>
> at
> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
>
> at
> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
>
> at
> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
>
> at
> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
>
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>
> at
> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
>
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
>
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>
> at java.lang.Thread.run(Thread.java:744)
>
>
>
>
> Can I get some help on solving this?
>
>
> Is the resource path wrong? or a permission problem?
>
>
> I went through the code and following is the code segment responsible for
> this.
>
>
> protected Method getTargetMethod(Message message) {
>
> BindingOperationInfo bop = message.getExchange().get(BindingOperationInfo.class);
>
> if (bop != null) {
>
> MethodDispatcher md = (MethodDispatcher)
>
> message.getExchange().get(Service.class).get(MethodDispatcher.class.getName());
>
> return md.getMethod(bop);
>
> }
> Method method = (Method) message.get("org.apache.cxf.resource.method");
>
> if (method != null) {
>
> return method;
>
>
> }
> log.error("The requested resource is not found. Please check the resource path etc..");
>
> throw new AccessDeniedException("Method is not available : Unauthorized");
>
> }
>
>
> Thanks,
>
> Amila.
>
> --
> *Amila Maharachchi*
> Senior Technical Lead
> WSO2, Inc.; http://wso2.com
>
> Blog: http://maharachchi.blogspot.com
> Mobile: +94719371446
>
>
--
Best Regards,
Nirmal
Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.
Blog: http://nirmalfdo.blogspot.com/