Sorry za cross-post.
Mam nasledujici kod:
using ( var site = new SPSite( myUrl ) ) {
using ( var web = site.AllWebs[0] ) {
// tady provadim jen cteci operace
}
}
Kdyz tenhle kod spustim z commandline, tak to funguje jak ma.
Kdyz ho ale spustim z webservice, tak prestoze mam osetreny pres try { ... } catch { ... } volani tohodle kodu, tak vysledek je vzdy "401 UNAUTHORIZED" misto SOAP odpovedi.
Webova aplikace bezi pod uctem, ktery na tu sharepoint site ma pristup (vyzkouseno prihlaseni pres web sharepointu). Ve web.config mam nastaveno <identity impersonate="true" userName="_my_username_" password="_my_password_" />. Kdyz jsem vyhodil ten kod a dal si do odpovedi "System.Security.Principal.WindowsIdentity.GetCurrent().Name", tak mi to vratilo toho spravnyho uzivatele.
Webova sluzba bezi na stejnym pocitaci, jako bezi sharepoint site.
Nenapada vas cim by to mohlo byt?