30 Mart 2009 Pazartesi

401 Unauthorized

sharepoint web servislerine bağlanış şeklimi "Sharepoint Web Service ile kullanıcı profil bilgilerini okuma" başlığı altındaki yazımda


MyUserProfileWebService.UserProfileService myUserService = new
MyUserProfileWebService.UserProfileService();
myUserService.Credentials = System.Net.CredentialCache.DefaultCredentials;

şekilde göstermiştim.

Bu noktada bağlanmaya çalıştığımda 401 Unauthorized hatası aldım.
Aynı hatayı ilgili siteme "u2u caml query builder" da "Connect via SharePoint Web Services" şeklinde bağlanmaya çalıştığımda da almaktaydım bu sebeple yalnızca "Connect via Object Model" ile bağlantı kurup CAML sorgularımı oluşturabiliyordum.

Çözüm için yaptıklarım :

- web.config'de <identity impersonate="true"/>
- myUserService.Credentials = new NetworkCredential("userName", "password", "domain");
admin hakkına sahip kullanıcı belirttim.

Fakat hala hata almaktaydım.
Araştırmalarım ve soruşturmalarım bir netice vermiyor ve tüm denemelerimde 401 hatasını aşamıyordum.
Biraz dinlenip bi çay içdikten sonra son çabalarımda bir çıkış yolu bulmuştum.

- Start -> Run regedit yaz ve OK.
- Aşağıdaki anahtara gittim.
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- MSV1_0'e sağ tık -> New -> Multi-String Value.
- BackConnectionHostNames olarak isim verdikten sonra ENTER diyoruz.
- BackConnectionHostNames'e sağ tık -> Modify tıklıyoruz.
- webservisiyle bağlanmaya çalıştığım domaini yazdım.(Blue ve http://Blue)

domain adlarım renklerden oluşmakta :)

uygulayıp Server2003 kurulu makinemi yeniden başlattım ve 401 Unauthorized sorunu ortadan kalkmış web servisine bağlanabilmiştim.

Hiç yorum yok: