Whilst working on my WebSphere Portal <-> Lotus Connections integration challenge, I hit upon this exception: -
[9/3/10 12:43:54:087 BST] 000000a5 ServletWrappe E SRVE0068E: Uncaught exception thrown in one of the service methods of the servlet: /genjsp/lcaccelerator/portlets/profiles/ProfilesPortlet_myNetworkMain.jsp. Exception thrown : java.io.IOException: Server returned HTTP response code: 400 for URL: https://lc25.uk.ibm.com:9446/profiles/atom/profileService.do
in the SystemOut.log file on the portal server.
When I tried the URL: -
https://lc25.uk.ibm.com:9446/profiles/atom/profileService.do
in a browser window, I received the response: -
CLFRN1172E: The request is invalid
( full details below ).
>From a previous investigation, I know that Connections has a mechanism for retrieving an XML document ( known as a Service Document ) from Profiles using the Atom API via an HTTP request, as documented here: -
http://publib.boulder.ibm.com/infocenter/ltscnnct/v2r0/topic/com.ibm.connections.25.help/r_api_prof_get_service_doc.html
I tested the two mechanisms with which I'm most familiar: -
https://lc25.uk.ibm.com:9446/profiles/atom/profileService.do?email=padmin@uk.ibm.com
and: -
https://lc25.uk.ibm.com:9446/profiles/atom/profileService.do?userid=24dcc5c0-23b2-102f-8265-e965b3598651
This suggests that the portlet isn't sending a valid userid with the HTTP/Atom request.
Given that I'm also seeing: -
[9/4/10 14:42:22:133 BST] 00000071 LTPAServerObj W SECJ0371W: Validation of the LTPA token failed because the token expired with the following info: Token expiration Date: Fri Sep 03 14:43:45 BST 2010, current Date: Sat Sep 04 14:42:22 BST 2010.
in the SystemOut.log file on the Profiles WAS instance, I'm wondering whether there's an LTPA-related SSO issue between Portal and Connections.
I'm going to regenerate the LTPA token on Portal, import it into Connections, and try again.
Will report back ...
Full details of exception: -
-<error>
<code>
400
</code>
−
<message>
CLFRN1172E: The request is invalid.
</message>
−
<trace>
com.ibm.lconn.profiles.api.actions.APIException
at com.ibm.lconn.profiles.api.actions.APIAction.assertNotNull(APIAction.java:161)
at com.ibm.lconn.profiles.api.actions.APIAction.assertNotNull(APIAction.java:154)
at com.ibm.lconn.profiles.api.actions.ProfilesServiceAction.getBean(ProfilesServiceAction.java:181)
at com.ibm.lconn.profiles.api.actions.ProfilesServiceAction.getLastModified(ProfilesServiceAction.java:162)
at com.ibm.lconn.profiles.web.actions.BaseAction.execute(BaseAction.java:150)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
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.service(ServletWrapper.java:1087)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
at com.ibm.peoplepages.web.rpfilter.RPFilter.doFilter(RPFilter.java:154)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.lconn.core.web.util.lang.LanguageFilter.doFilter(LanguageFilter.java:105)
at com.ibm.lconn.core.web.util.lang.LanguageFilter.doFilter(LanguageFilter.java:73)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.lconn.profiles.web.servlet.DisableSSLCachingFilter.doFilter(DisableSSLCachingFilter.java:62)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.lconn.core.web.auth.LCRestSecurityFilter.doFilter(LCRestSecurityFilter.java:157)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.lconn.profiles.web.servlet.AppContextFilter.doFilter(AppContextFilter.java:286)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.lconn.core.web.auth.LCBasicAuthFilter.doFilter(LCBasicAuthFilter.java:79)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.lconn.core.web.auth.LCUserDataConstraintFilter.doFilter(LCUserDataConstraintFilter.java:84)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.lconn.core.web.request.HttpRequestFilter.doFilter(HttpRequestFilter.java:77)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.lconn.core.web.util.lang.I18NFilter.doFilter(I18NFilter.java:203)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.lconn.core.web.util.Utf8CharsetFilter.doFilter(Utf8CharsetFilter.java:45)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:837)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:680)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:525)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:126)
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.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1037)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInboundPostHandshake(SSLConnectionLink.java:725)
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyHandshakeCompletedCallback.complete(SSLConnectionLink.java:412)
at com.ibm.ws.ssl.channel.impl.SSLUtils.handleHandshake(SSLUtils.java:869)
at com.ibm.ws.ssl.channel.impl.SSLHandshakeIOCallback.complete(SSLHandshakeIOCallback.java:70)
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)
</trace>
</error>
Geeking in technology since 1985, with IBM Development, focused upon Docker and Kubernetes on the IBM Z LinuxONE platform In the words of Dr Cathy Ryan, "If you don't write it down, it never happened". To paraphrase one of my clients, "Every day is a school day". I do, I learn, I share. The postings on this site are my own and don’t necessarily represent IBM’s positions, strategies or opinions. Remember, YMMV https://infosec.exchange/@davehay
Subscribe to:
Post Comments (Atom)
Note to self - use kubectl to query images in a pod or deployment
In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...
-
Why oh why do I forget this ? Running this command : - ldapsearch -h ad2012.uk.ibm.com -p 389 -D CN=bpmbind,CN=Users,DC=uk,DC=ibm,DC=com -w...
-
Error "ldap_sasl_interactive_bind_s: Unknown authentication method (-6)" on a LDAPSearch command ...Whilst building my mega Connections / Domino / Portal / Quickr / Sametime / WCM environment recently, I was using the LDAPSearch command tha...
-
Whilst building a new "vanilla" Kubernetes 1.25.4 cluster, I'd started the kubelet service via: - systemctl start kubelet.se...
1 comment:
Well, I cracked it - it was LTPA-token related, but not in the way I had previously thought.
The clocks on the two VMware images hosting Portal and Connections respectively were 2 hours adrift of each other.
This was because I'd updated VMware but had not updated VMware Tools, meaning that the automatic time sync with the host O/S wasn't working.
Once I updated VMware tools on both VMs, the clocks plopped back into sync, and ( after a reboot to be safe ), Portal <-> Connections is now working happily
Post a Comment