SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




SharePoint Liste über WebService auslesen ?!

Unbeantwortet Dieser Beitrag hat 12 Antworten

Ohne Rang
55 Beiträge
tonikln erstellt 5 Nov. 2010 08:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich versuche gerade eine SharePoint Liste über meinem Webservice auszulesen (in C#) und in eine GridView zu laden. Habe auch schon ein wenig gegoogelt, aber komme nicht auf das was ich brauche :(.

Kann mir  da jemand helfen ?

 

Vielen Dank im Voraus!

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Nov. 2010 10:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wo genau klemmt's denn? Was hast Du schon und wo kommst Du nicht weiter?

Hier mal ein etwas allgemeinerer Link:
http://www.infoq.com/articles/swanson-moss-web-services

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
55 Beiträge
tonikln Als Antwort am 5 Nov. 2010 13:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

erstmal danke für den Link, ist auf jedenfall sehr informativ ;)

ich habe in den letzten Tagen fast das änliche gemacht nur mit Groups (auch über den Webservice).

 

list.GetListCollectionCompleted +=

new GetListCollectionCompletedEventHandler(list_GetListCollectionCompleted);
ltest1 = list.GetListCollection();
list.GetListCollectionAsync(); //Hier schmeißt der mir folgender Fehler´: InvalidOperationException wurde nicht von Benutzercode behandelt. Asynchronous operations are not allowed in this context. Page starting an asynchronous operation has to have the Async attribute set to true and an asynchronous operation can only be started on a page prior to PreRenderComplete event.

Bei dem anzeigen von den Groups habe ich wie folgt gemacht und das funktioniert auch:

list.GetGroupCollectionFromSiteCompleted +=

new GetGroupCollectionFromSiteCompletedEventHandler(list_GetGroupCollectionFromSiteCompleted);
ltest1 = instance.GetGroupCollectionFromSite();
list.GetGroupCollectionFromSiteAsync(xtest);

 

 


Gibt es evtl. einen unterschied zwischen Groups und Listen ?

 

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Nov. 2010 13:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="tonikln"]Gibt es evtl. einen unterschied zwischen Groups und Listen ?[/quote]

Mit Group werden normalerweise die Benutzergruppen bezeichnet. Allerdings weiß ich nicht, wo Du das in diesem Zusammenhang her hast. Der Lists-Webservice hat keine GetGroupsCollection-Methode...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
55 Beiträge
tonikln Als Antwort am 5 Nov. 2010 14:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]

[quote user="tonikln"]Gibt es evtl. einen unterschied zwischen Groups und Listen ?[/quote]

. Der Lists-Webservice hat keine GetGroupsCollection-Methode...

[/quote]

 

Der hat aber eine GetListCollection Methode...
Hast du denn einen anderen Vorschlag wie man eine SP-Liste anzapfen kann?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Nov. 2010 14:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="tonikln"]Der hat aber eine GetListCollection Methode...[/quote]

Du fragtest aber doch nach Groups...

[quote user="tonikln"]Hast du denn einen anderen Vorschlag wie man eine SP-Liste anzapfen kann?[/quote]

Nochmal: beschreibe doch bitte mal was genau Du erreichen möchtest.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
55 Beiträge
tonikln Als Antwort am 5 Nov. 2010 16:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sry da haben wir aneinander vorbei geschrieben...
Ich möchte den Inhalt einer Sharepoint Liste in eine ASP.NET Anwendung (in eine GridView) anzeigen lassen. Dies soll über meinem WebService geschehen. Den WebService und die Credentials habe ich bereits, d.h. das läuft.

Wie bekomm ich nun meine SP-Liste in meine GridView angezeigt. Das bekomm ich nämlich nicht hin, bzw. ich weiß nicht genau welche Methoden dies für mich erledigen.

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 7 Nov. 2010 11:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dazu kannst Du den Lists-Webservice und dessen Methode GetListItems verwenden -> Google

Wenn das Ganze innerhalb von SharePoint laufen soll, dann kannst Du auch das SharePoint-Objektmodell verwenden. Das geht deutlich einfacher.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
55 Beiträge
tonikln Als Antwort am 8 Nov. 2010 14:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke.
durch die GetListItem Methode bin ich ein wenig weiter gekommen, aber nun habe ich ein weiteres Problem :(

Ich bekomme immer eine SoapException und weiß nicht wie ich den sch... fehler beheben soll :(

Habe das wie folgt gemacht:

System.Xml.

 

XmlDocument xmlDoc = new System.Xml.XmlDocument(); 
string listName = "{}";
string viewName = "{}";
string rowLimit = "150";
string webId = "0";

XmlNode query = xmlDoc.CreateNode(XmlNodeType.Element, "Query", "");
XmlNode viewFields = xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "");
XmlNode queryOptions = xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "");

query.InnerXml =

 

"<Where><Eq><FieldRef Name=\"Title\" /><Value Type=\"Text\">K</Value></Eq></Where>";

viewFields.InnerXml =

"<FieldRef Name=\"Title\" />";

queryOptions.InnerXml =

 

"";

try
{
//Hier bekomm ich immer die Soapexception
System.Xml.
XmlNode nodeListItems = list.GetListItems(listName, viewName, query, viewFields, rowLimit, queryOptions, webId);

foreach (System.Xml.XmlNode listItem in nodeListItems)
...

Kann mir jemand einen Tipp geben, was ich da falsch gemacht habe :( ?

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 8 Nov. 2010 14:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="tonikln"]

//Hier bekomm ich immer die Soapexception
System.Xml.
XmlNode nodeListItems = list.GetListItems(listName, viewName, query, viewFields, rowLimit, queryOptions, webId);

[/quote]

Müsste das nicht

System.Xml.XmlNodeList nodeListItems = ...

heissen? Du bekommst ja eine Collection von XML-Nodes.

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
55 Beiträge
tonikln Als Antwort am 8 Nov. 2010 14:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja du hast recht, aber es kommt trotzdem der selbe fehler :(

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 8 Nov. 2010 15:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dieser allgemeine Fehler erscheint (auch) immer, wenn man irgend etwas im XML falsch macht, wie z.B. nicht existierende Felder. Da Du nur Title verwendest, dürfte das allerdings nicht zutreffen...

Ich bin mir gerade nicht ganz sicher, aber ich glaube bei den Webservices muß man bei den QueryOptions das <Query> mit angeben. Als Root-Element, dort wo bei Dir jetzt <Where> steht. Versuche es mal.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
55 Beiträge
tonikln Als Antwort am 8 Nov. 2010 15:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]
bei den Webservices muß man bei den QueryOptions das <Query> mit angeben. Als Root-Element, dort wo bei Dir jetzt <Where> steht. Versuche es mal.

[/quote]

 

Leider immernoch das selbe :(