Hello Ahmad, I'm not aware of any issues with the AuthSub authentication at the moment, and since you're using the AuthSubUtil class to get the session token, the AuthSub header should be correct. Is it therefore possible that the token you're passing into AuthSubUtil.exchangeForSessionToken() is somehow incorrect? Can you post the code that you're using to get the single-use token and exchanging it for the session token?
Paul (Google) On May 25, 1:11 pm, AK <[email protected]> wrote: > We started getting this exception from Google Health recently although > we made no changes in our code. We appreciate your feedback. Please > excuse the length of the exception. > > com.google.gdata.util.AuthenticationException: 401: Invalid AuthSub > header. > at > com.google.gdata.client.http.AuthSubUtil.exchangeForSessionToken(Unknown > Source) > at > com.google.gdata.client.http.AuthSubUtil.exchangeForSessionToken(Unknown > Source) > at > d1.process.HealthSample.exchangeAuthSubToken(HealthSample.java:91) > at hlink.GoogleHandler.AddProfile(GoogleHandler.java:1017) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp > l.java: > 25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowCon > troller.java: > 879) > at > org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(Flo > wController.java: > 809) > at > org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowContro > ller.java: > 478) > at > org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFl > owController.java: > 306) > at > org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.jav a: > 336) > at > org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(Flo > wControllerAction.java: > 52) > at > org.apache.struts.action.RequestProcessor.processActionPerform(RequestProce > ssor.java: > 431) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access > $201(PageFlowRequestProcessor.java:97) > at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor > $ActionRunner.execute(PageFlowRequestProcessor.java:2044) > at > org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterce > ptors > $WrapActionInterceptorChain.continueChain(ActionInterceptors.java:64) > at > org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptor.wrap > Action(ActionInterceptor.java: > 184) > at > org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterce > ptors > $WrapActionInterceptorChain.invoke(ActionInterceptors.java:50) > at > org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterce > ptors > $WrapActionInterceptorChain.continueChain(ActionInterceptors.java:58) > at > org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterce > ptors.wrapAction(ActionInterceptors.java: > 87) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPer > form(PageFlowRequestProcessor.java: > 2116) > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: > 236) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal( > PageFlowRequestProcessor.java: > 556) > at > org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlow > RequestProcessor.java: > 853) > at > org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoReg > isterActionServlet.java: > 631) > at > org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowAct > ionServlet.java: > 158) > at > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) > at javax.servlet.http.HttpServlet.service(HttpServlet.java: > 727) > at javax.servlet.http.HttpServlet.service(HttpServlet.java: > 820) > at weblogic.servlet.internal.StubSecurityHelper > $ServletServiceAction.run(StubSecurityHelper.java:226) > at > weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelp > er.java: > 124) > at > weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java: > 283) > at > weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) > at > weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: > 42) > at > com.bea.portal.tools.servlet.http.HttpContextFilter.doFilter(HttpContextFil > ter.java: > 60) > at > weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: > 42) > at > com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java : > 336) > at > weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: > 42) > at > com.bea.jsptools.servlet.PagedResultServiceFilter.doFilter(PagedResultServi > ceFilter.java: > 82) > at > weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java: > 42) > at weblogic.servlet.internal.WebAppServletContext > $ServletInvocationAction.run(WebAppServletContext.java:3393) > at > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubje > ct.java: > 321) > at weblogic.security.service.SecurityManager.runAs(Unknown > Source) > at > weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServlet > Context.java: > 2140) > at > weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext > .java: > 2046) > at > weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java: > 1366) > at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200) > at weblogic.work.ExecuteThread.run(ExecuteThread.java:172) > Add Profile exception: Problem while exchanging AuthSub token. > > Regards > Ahmad -- You received this message because you are subscribed to the Google Groups "Google Health Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/googlehealthdevelopers?hl=en.
