Topic
  • 1 reply
  • Latest Post - ‏2013-02-07T15:57:51Z by HomerJSimpson
SystemAdmin
SystemAdmin
9855 Posts

Pinned topic TIM 5.1 Change Password

‏2013-02-07T09:30:43Z |
Hello,

we are trying to change a password with the Web Services Wrapper for ITIM API. The requirements are that the old password has to be tested before the change. Because of this we are trying to use selfChangePassword operation, because it seems the only one that supports the old password.
We understand that this operation makes use of the changeExpiredPassword method of the itim API.

The problem is that we have no clue of the AccountID parameter format. We haven't found any example and the error. We don't know if this ID is the TIM User DN or another ID. We have tried all the combinations we had in mind.

In the last attempt we got the error stated above. And it makes us doubt if the user has to have administrator permission tho execute this method/operation.

Can anybody out there help us??

Thanks in advance!

com.ibm.itim.ws.exceptions.WSApplicationException: com.ibm.itim.ws.services.WSPasswordService.selfChangePassword() () :com.ibm.itim.apps.ITIMFailedLoginException:The information used to login is not correct.
Original server stacktrace:com.ibm.itim.apps.ITIMFailedLoginException: The information used to login is not correct.
at com.ibm.itim.apps.ejb.home.HomeBean.authenticate(HomeBean.java:396)
at com.ibm.itim.apps.ejb.home.HomeBean.authenticate(HomeBean.java:212)
at com.ibm.itim.apps.ejb.home.EJSRemoteStatelessenroleejb_HomeHome_cbc0cf54.authenticate(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.ibm.rmi.util.ProxyUtil$4.run(ProxyUtil.java:726)
at java.security.AccessController.doPrivileged(AccessController.java:246)
at com.ibm.rmi.util.ProxyUtil.invokeWithClassLoaders(ProxyUtil.java:724)
at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:1160)
at $Proxy3.authenticate(Unknown Source)
at com.ibm.itim.apps.ejb.home._Home_Stub.authenticate(_Home_Stub.java:350)
at com.ibm.itim.apps.identity.SelfPasswordManager$3.run(SelfPasswordManager.java:269)
at com.ibm.itim.apps.impl.websphere.WebSpherePlatformContextImpl.doAs(WebSpherePlatformContextImpl.java:114)
at com.ibm.itim.apps.identity.SelfPasswordManager.changeExpiredPassword(SelfPasswordManager.java:265)
at com.ibm.itim.ws.services.WSPasswordService.selfChangePassword(WSPasswordService.java:300)
at com.ibm.itim.ws.services.WSItimService.selfChangePassword(WSItimService.java:742)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:592)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:481)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:122)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:267)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
Updated on 2013-02-07T15:57:51Z at 2013-02-07T15:57:51Z by HomerJSimpson
  • HomerJSimpson
    HomerJSimpson
    157 Posts

    Re: TIM 5.1 Change Password

    ‏2013-02-07T15:57:51Z  
    The exception below is thrown when either the user is not found (ie the id might not be correct) or the password is incorrect (in this case it would be the oldPassword).

    According to the JavaDocs that come with the WS Wrapper, the selfChangePassword method requires the itimAccountId. So if you typically login to ITIM with "jdoe" you'd use that, along with the oldPassword and newPassword.

    selfChangePassword(java.lang.String itimAccountId,
    java.lang.String oldPassword,
    java.lang.String newPassword)