---------- Forwarded message ----------
From: Francesco Stampacchia <stampacchiafrance...@gmail.com>
Date: 2009/10/30
Subject: Re: [Carbon-dev] Server-side requestSecurityToken() Exception
To: carbon-...@wso2.org


Hello everyone,

I'm still not able to reach my PWCBHandler class.
Probably that's because it is located inside my .aar, I'm really disoriented
on how could I access to it.

Any hints?

Thanks.

2009/10/29 Francesco Stampacchia <stampacchiafrance...@gmail.com>

Thanks Thilina,
>
> I've tried, but it seems that I'm not able to find the correct path.
> My .aar comes with the following folder tree
>
> Service.aar contains
>
> /...
>     |
>     Server.class
>     ServerException.class
>     ServerConstants.class
>     PWCBHandler.class
>     META-INF/...
>                        |
>                        services.xml
>                        MANIFEST.MF
>                        log4j.properties
>
>
> What path should I pass in my loadPolicy() method in order to have in my
> policy the correct PWBCHandler class?!
> By now I'm passing it with:
>
>         rc = new RampartConfig();
>
>         rc.setUser("client");
>         rc.setEncryptionUser("wso2carbon");
>         rc.setPwCbClass(PWCBHandler.class.getName());
>
> Thanks
>
> 2009/10/29 Thilina Mahesh Buddhika <thili...@wso2.com>
>
> Hi Francesco,
>>
>> The issue is in your rampart-config corresponding to the STS policy. There
>> you have to specify the full qualified class name of the Password Callback
>> Handler class.
>>
>> <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy";>
>>                 ...
>>
>> <ramp:passwordCallbackClass>org.wso2.carbon.sts.test.PWCBHandler</ramp:passwordCallbackClass>
>>         ...
>> </ramp:RampartConfig>
>>
>> Thanks.
>> /thilina
>>
>>
>>
>> On Thu, Oct 29, 2009 at 4:05 PM, Francesco Stampacchia <
>> stampacchiafrance...@gmail.com> wrote:
>>
>>> Hello everyone,
>>>
>>> I'm trying to make my Axis2 service, protected by WSAS IS, perform an
>>> Axis2 Client action, requesting a Security Token to the local WSAS IS under
>>> which my service is deployed.
>>> In doing so I've passed a valid repository in order to obtain a valid
>>> ConfigurationContext but then, when I call the STSClient function
>>> requestSecurityToken() through the following code:
>>>
>>>             ConfigurationContext ctx =
>>> ConfigurationContextFactory.createConfigurationContextFromFileSystem(wso2RepositoryPath);
>>>
>>>             STSClient stsClient = new STSClient(ctx);
>>>
>>>             stsClient.setRstTemplate(getRSTTemplate());
>>>             stsClient.setAction(RahasConstants.WST_NS_05_02 +
>>> RahasConstants.RST_ACTION_SCT);
>>>
>>>             Policy stsPolicy = loadPolicy(wso2STSPolicy);
>>>             Policy servicePolicy = loadPolicy(wso2ServicePolicy);
>>>
>>>             Token responseToken =
>>> stsClient.requestSecurityToken(servicePolicy, stsEpr, stsPolicy,
>>> serviceEpr);
>>>
>>> I get the exception:
>>>
>>> [2009-10-29 11:30:39,469] ERROR -  errorInObtainingToken
>>> org.apache.axis2.AxisFault: Cannot load password callback class:
>>> PWCBHandler
>>>     at
>>> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:70)
>>>     at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
>>>     at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:256)
>>>     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:421)
>>>     at
>>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
>>>     at
>>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
>>>     at
>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
>>>     at
>>> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:549)
>>>     at
>>> org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:146)
>>>     at SecurityManagerServer.getToken(SecurityManagerServer.java:814)
>>>     at
>>> SecurityManagerServer.getEncodedReqRep(SecurityManagerServer.java:260)
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>     at java.lang.reflect.Method.invoke(Method.java:585)
>>>     at
>>> org.apache.axis2.receivers.RawXMLINOutMessageReceiver.invokeBusinessLogic(RawXMLINOutMessageReceiver.java:97)
>>>     at
>>> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42)
>>>     at
>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
>>>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:178)
>>>     at
>>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167)
>>>     at
>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:142)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at
>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>>     at
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
>>>     at
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at
>>> org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:135)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>>>     at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>>     at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
>>>     at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
>>>     at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>>     at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>>>     at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>>>     at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
>>>     at
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
>>>     at
>>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>>>     at
>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>>>     at
>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>>>     at
>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>>>     at java.lang.Thread.run(Thread.java:595)
>>> Caused by: org.apache.rampart.RampartException: Cannot load password
>>> callback class: PWCBHandler
>>>     at
>>> org.apache.rampart.util.RampartUtil.getPasswordCB(RampartUtil.java:139)
>>>     at
>>> org.apache.rampart.util.RampartUtil.getPasswordCB(RampartUtil.java:115)
>>>     at
>>> org.apache.rampart.builder.BindingBuilder.getSignatureBuider(BindingBuilder.java:263)
>>>     at
>>> org.apache.rampart.builder.AsymmetricBindingBuilder.doSignature(AsymmetricBindingBuilder.java:626)
>>>     at
>>> org.apache.rampart.builder.AsymmetricBindingBuilder.doSignBeforeEncrypt(AsymmetricBindingBuilder.java:413)
>>>     at
>>> org.apache.rampart.builder.AsymmetricBindingBuilder.build(AsymmetricBindingBuilder.java:93)
>>>     at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:147)
>>>     at
>>> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64)
>>>     ... 42 more
>>> Caused by: java.lang.ClassNotFoundException: PWCBHandler
>>>     at
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:489)
>>>     at
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:405)
>>>     at
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:393)
>>>     at
>>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
>>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>>     at java.lang.Class.forName0(Native Method)
>>>     at java.lang.Class.forName(Class.java:164)
>>>     at org.apache.ws.security.util.Loader.loadClass(Loader.java:200)
>>>     at org.apache.ws.security.util.Loader.loadClass(Loader.java:163)
>>>     at
>>> org.apache.rampart.util.RampartUtil.getPasswordCB(RampartUtil.java:137)
>>>     ... 49 more
>>> SecurityManagerException: Unable to obtain the security token from local
>>> STS!
>>>     at SecurityManagerServer.getToken(SecurityManagerServer.java:830)
>>>     at
>>> SecurityManagerServer.getEncodedReqRep(SecurityManagerServer.java:260)
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>     at java.lang.reflect.Method.invoke(Method.java:585)
>>>     at
>>> org.apache.axis2.receivers.RawXMLINOutMessageReceiver.invokeBusinessLogic(RawXMLINOutMessageReceiver.java:97)
>>>     at
>>> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42)
>>>     at
>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
>>>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:178)
>>>     at
>>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167)
>>>     at
>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:142)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at
>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>>     at
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
>>>     at
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at
>>> org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:135)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>>>     at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>>     at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
>>>     at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
>>>     at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>>     at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>>>     at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>>>     at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
>>>     at
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
>>>     at
>>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>>>     at
>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>>>     at
>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>>>     at
>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>>>     at java.lang.Thread.run(Thread.java:595)
>>> Caused by: org.apache.rahas.TrustException: Error in obtaining token from
>>> : "http://localhost:9763/services/wso2carbon-sts/";
>>>     at
>>> org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:152)
>>>     at SecurityManagerServer.getToken(SecurityManagerServer.java:814)
>>>     ... 33 more
>>> Caused by: org.apache.axis2.AxisFault: Cannot load password callback
>>> class: PWCBHandler
>>>     at
>>> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:70)
>>>     at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
>>>     at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:256)
>>>     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:421)
>>>     at
>>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
>>>     at
>>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
>>>     at
>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
>>>     at
>>> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:549)
>>>     at
>>> org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:146)
>>>     ... 34 more
>>> Caused by: org.apache.rampart.RampartException: Cannot load password
>>> callback class: PWCBHandler
>>>     at
>>> org.apache.rampart.util.RampartUtil.getPasswordCB(RampartUtil.java:139)
>>>     at
>>> org.apache.rampart.util.RampartUtil.getPasswordCB(RampartUtil.java:115)
>>>     at
>>> org.apache.rampart.builder.BindingBuilder.getSignatureBuider(BindingBuilder.java:263)
>>>     at
>>> org.apache.rampart.builder.AsymmetricBindingBuilder.doSignature(AsymmetricBindingBuilder.java:626)
>>>     at
>>> org.apache.rampart.builder.AsymmetricBindingBuilder.doSignBeforeEncrypt(AsymmetricBindingBuilder.java:413)
>>>     at
>>> org.apache.rampart.builder.AsymmetricBindingBuilder.build(AsymmetricBindingBuilder.java:93)
>>>     at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:147)
>>>     at
>>> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64)
>>>     ... 42 more
>>> Caused by: java.lang.ClassNotFoundException: PWCBHandler
>>>     at
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:489)
>>>     at
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:405)
>>>     at
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:393)
>>>     at
>>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
>>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>>>     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>>     at java.lang.Class.forName0(Native Method)
>>>     at java.lang.Class.forName(Class.java:164)
>>>     at org.apache.ws.security.util.Loader.loadClass(Loader.java:200)
>>>     at org.apache.ws.security.util.Loader.loadClass(Loader.java:163)
>>>     at
>>> org.apache.rampart.util.RampartUtil.getPasswordCB(RampartUtil.java:137)
>>>     ... 49 more
>>>
>>> How can I make my PWCBHandler class visible to my .aar?!
>>>
>>> Thanks
>>> --
>>> Francesco Stampacchia
>>>
>>> _______________________________________________
>>> Carbon-dev mailing list
>>> carbon-...@wso2.org
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>
>>>
>>
>>
>> --
>>
>> Thilina Mahesh Buddhika
>> WSO2 Inc. ; http://wso2.com
>> thili...@wso2.com
>> http://thilinamb.com
>>
>> _______________________________________________
>> Carbon-dev mailing list
>> carbon-...@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>
>>
>
>
> --
> Francesco Stampacchia
>



-- 
Francesco Stampacchia



-- 
Francesco Stampacchia

Reply via email to