Wednesday, May 25, 2011

SSO between Cognos 8.4.1 and Microsoft Office Sharepoint Server 2007 using NTLM experiences

In a recent installation( better call it experiment), we were facing issues with integrating Cognos BI into Microsoft SharePoint portal and implementing SSO between them.

The setup was like this
-One machine having complete Cognos 8.4.1 installation.
-Another machine having Microsoft Office Sharepoint Server 2007 installation.

Both systems were using same ntlm domain for security. Due to performance considerations, we were not allowed to have both enterprise softwares running on same machine.

For intergration, we referred this document. It's written for version 8.3 but it still works fine for 8.4 and 8.4.1. A newer document for Cognos 10.1 with Sharepoint Server 2010 is in works, I guess.

We followed every step given in the document still landed up into errors like

"CPS-CCM-1209 Unable to create a URL connection to the requested WSDL file at 'path'
The remote server returned an error:(401) Unauthorized."

HTTP 500: Internal server error.

Somehow, we were able to generate the XML from WSDL url, we were able to get Cognos objects into SharePoint but somehow it was not able to process our requests. 

I tried to debug at every point and still problem was not going away. We were exhausted up at this error.

"Unable to process the request" !!!

In webparts logging, we were seeing, 

2011-05-06T04:13:35,"ctl00$m$g_c0624069_3bd3_49b5_8d11_13c980c2523d",1,"InitPersistentData(), Fault=System.Web.Services.Protocols.SoapException, Message=, Stack=   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Cognos.Portal.Services.WSRP.WSRP_v1_Markup_Binding_SOAP.initCookie(initCookie initCookie1)
   at Cognos.Portal.Services.Consumer.GetCookies(Boolean retry)
   at Cognos.Portal.Services.Consumer.InitPersistentData()"

We brought in SME of this area and found out solution to this. If you land up in such situation, try this

1. Uninstall Cognos components from the machine having Microsoft SharePoint.
2. Have at least one gateway in Cognos which has "Enable Anonymous Access" and use that for configuring/integrating in SharePoint.
3. Copy all SharePoint files mentioned in the document from Cognos machine to SharePoint machine.
4. Modify settings accordingly.
5. Restart Cognos service and you'll have the integration done.

Shoot comments if you face any issue.

p.s. I would be posting step by step guide for integrating Cognos 10.1 with Websphere Portal 6.1 soon.