Archief - WCF Service + SharePoint 2010 TimeOut

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

voltje

Legacy Member
I have been developing on SP 2010 for a while now. Mostly I have been working with the Client Object Model.

Though I am at a point where I need to read out the UserProfiles from inside SharePoint.

I see no other way to do this than to make a custom WCFService and deploy it to SharePoint.

So that is what I did. I made an "Empty SharePoint Project" and added the mapped "ISAPI" folder.

The code from the WCF Service:

Code:
public string GetUserByName(string _name)
    {
        string server = "http://esddev72";
        UserProfileManager profileManager;
        string s = "";
        string u = "";
        SPSecurity.RunWithElevatedPrivileges(delegate
        {
             using (SPSite site = new SPSite(server))
             {
                 SPServiceContext context = SPServiceContext.GetContext(site);
                 profileManager = new UserProfileManager(context, true);
                 s += "AccountNames: ";
                 u += "firstNames: ";
                 foreach (UserProfile profile in profileManager)
                 {
                     if (profile["AccountName"] != null)
                     {
                         s += profile["AccountName"] + " - ";
                     }
                     if (profile["FirstName"] != null)
                     {
                     }
                 }

             }
        });
        return s;
    }
This service gives a TimeOut error... When I delete the following line the TimeOut is fixed

Code:
if (profile["FirstName"] != null)
                     {
                     }
So I can only read out the AccountName... Does anyone know a solution to this?

I've read things about putting the timeout times higher, but it didn't work for me... Or maybe I did someting wrong, so if you could explain that part as well ;)

Thanks !

th43ns

Legacy Member
Heeft je development machine genoeg rechten om deze informatie aan te vragen van de server? Run eventueel lokaal eens als Administrator?

Check anders eens dmv debugging in de variable profile welke 'keys' je kan uitlezen.

voltje

Legacy Member
Wel...
Ik kan alles perfect uitlezen via een console applicatie ;)
Ik heb sowieso alle rechten op de server + ik programmeer rechtstreeks op de server.
De rechten staan sowieso goed normaal.

En ik kan alle keys uitlezen in een console applicatie.

Ik denk dat het hier mis gaat:

De WCF Service wilt SharePoint aanspreken maar heeft daarvoor authentication nodig.
Door dat het een service is komt er dus geen prompt...

Maar ik vind niet hoe dat ik mijn login gegevens kan meegeven aan de service

Moto

Legacy Member
But i need to get the UserProfiles in Silverlight so i have to use a WCF Custom Service to fetch the UserProfiles
En dien Silverlight zit in een webpart?
Domme vraag omdat ik niks van SP 2010 ken maar, waarom niet de default bestaande webservices van sharepoint gebruiken?

voltje

Legacy Member
Dat zou een mogelijkheid zijn, maar om een of andere reden kreeg ik die ook niet werkend.
Ik ga da sowieso maandag nog eens proberen.
Maar mijn stagebegeleider raadde mij ook aan custom wcf services te gebruiken.

Als ik mij goed herinner werkte het niet met die standaard webservices, maar ik kan mis zijn.

Jep SL zit in een webpart, wat niet uitmaakt want het blijft client...
Of je die nu als webpart draait of gewoon in een webpage, blijft gelijk he

voltje

Legacy Member
Allright, maandag direct eens bekijken ;)
Ik hou je op de hoogte, tegen maandag middag kan je hier een update verwachten!

voltje

Legacy Member
Maarja ... Dat is een gewone webpart ?
Daar kan je dan het SharePoint object model gebruiken...
Dat werkt allemaal bij mij, maar ik wil het over de service trekken, en daar loopt het mis.

th43ns

Legacy Member
voltje zei:
Wel...
Ik kan alles perfect uitlezen via een console applicatie ;)
Ik heb sowieso alle rechten op de server + ik programmeer rechtstreeks op de server.
De rechten staan sowieso goed normaal.

En ik kan alle keys uitlezen in een console applicatie.

Ik denk dat het hier mis gaat:

De WCF Service wilt SharePoint aanspreken maar heeft daarvoor authentication nodig.
Door dat het een service is komt er dus geen prompt...

Maar ik vind niet hoe dat ik mijn login gegevens kan meegeven aan de service
Je kan binnen WCF aangeven hoe je je credentials wilt doorgeven. Dit gebeurt meestal in je web/app.config (maar kan je ook in code configureren).

Indien je rechten hebt met je domain account zal je wss impersonation ofzo moeten aangeven. Indien je gewone credentials hebt (bv th43ns - myPassword) kan je die ook aangeven.

Ik heb ooit eens een kleine snippet van wcf errortracing op mijn blog gezet (www.benzinimundo.com). Dan kan je ook gaan bekijken wat er precies misgaat met je WCF connectie.

voltje

Legacy Member
En toch krijg ik dat op een of andere manier dus niet werkende.
Het is Silverlight, dus BasicHttpBinding, maar ik krijg de credentials niet werkende.

Als er iemand een idee heeft of iets denkt, just shoot.
Hoe meer er mee denken hoe sneller er een oplossing komt :p
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan