MOSS 2007: Fixing SSOSrv error 0x80040e14
English (versi Indonesia)
Yesterday I tried to enable single-sign-on (SSO) webpart on one of our client’s server. It was very strange since the webpart was tested well few month ago on other client - but not at this time.
The “GetCredentials” of “ISsoProvider” always throws an error:
I have double checked SSO configuration in the server farm, and looks everything has been setup correctly - so what was wrong?
KB932917 is not available!
Further investigation in the events viewer, I’ve found error number 0x80040e14. The error description is non-sense, credentials configuration has been double checked and this is not the first sso implementation.
Searching the problem in Internet direct me to an explaination from Chris Calderon and he referred KB932917 which is private link from Microsoft. It will be included in roll-up SP package, but when? We need it right at the moment.
Do it your self!
From that article, Chris already mention that the problem is; MOSS always validate IX_SSO_Credentials index.
So, I open SSO database in SQL Management Studio, and found that there only IX_SSO_TempCredentials index in dbo.SSO_Credentials table.
Using the same index creation statement, I create second index called IX_SSO_Credentials. Then I left database with two index in that table - and starting to validate our sso webpart again.
And, thanks God - although we expect for the upcoming update but now everything is running well again.
--o0o–
Indonesia (English version)
Kemarin, untuk kesekian kalinya saya mengimplementasikan webpart single-sign-on (SSO) di salah satu mesin di client kami. Tapi kali ini saya mendapatkan keanehan, webpart tersebut gagal berfungsi - padahal ini bukan implementasi pertama kali. Terpaksa, visual studio debuging dihidupkan dan error muncul pada saat pemanggilan method “GetCredentials” dari interface “ISsoProvider”.
Terpaksa, dilakukan check-list konfigurasi SSO di webfarm dan semua sudah dikonfigurasi dengan benar - jadi apa yang salah?
KB932917 tidak tersedia!
Saya coba melakukan investigasi lanjutan dengan membuka event viewer. Disana ada error yang disebabkan oleh SSO dengan nomor 0x80040e14. Penjelasan bahwa credentials tidak dapat diambil sangat tidak masuk akal, sebab konfigurasi SSO ini sudah bukan yang pertama kalinya, dan credentials yang digunakan juga memiliki otoritas yang sesuai.
Saya coba membuka internet dan menemukan penjelasan dari Chris Calderon dan disebutkan pula bahwa kita harus menggunakan hotfix KB932917 dari Microsoft. Saya coba membuka link tersebut dan gagal. Menurut informasi yang ada, hotfix tersebut akan dimasukkan didalam service pack MOSS 2007, tapi kapan? Padahal kita butuh hotfix itu saat ini!
Patching Manual!
Dari blog yang ditulis Chris, kita bisa lihat bahwa masalah utamanya adalah MOSS selalu menggunakan index IX_SSO_Credentials yang ada di database SSO.
Hmm, saya buka database SSO dengan menggunakan SQL Management Studio. Ternyata disana hanya ada index dengan nama IX_SSO_TempCredentials.
Tanpa pikir panjang, saya gunakan perintah yang sama untuk membuat IX_SSO_TempCredentials - dan saya buat index kedua dengan nama IX_SSO_Credentials. Jadi sekarang dbo.SSO_Credentials memiliki dua index yang sama dengan nama berbeda.
Tanpa menunggu terlalu lama, saya sekali lagi mencoba webpart sso dan syukurlah bahwa patching manual tersebut berhasil; dan webpart sso dapat bekerja dengan baik seperti sedia kala.