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.




Webservices in C#

Unbeantwortet Dieser Beitrag hat 7 Antworten

Ohne Rang
7 Beiträge
Hans Viemeiers erstellt 18 Jan. 2011 08:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich würde gerne Daten aus einer SharePoint-Liste auslesen und neue Daten in eine bestehende Liste einfügen. Da ich nicht auf dem Server arbeiten kann, muss ich dafür Webservices benutzen. Habe schon einen Webverweis zu https://portal.server.de/websites/TestPortal/_vti_bin/lists.asmx

hinzugefügt.

Wie muss ich jetzt weiter vorgehen? Habe bei meiner Suche schon einige Sachen bezüglich .dlls, Benutzeranmeldung und Quelltext, den ich schreiben muss, gefunden. Leider hat das bei mir nicht so funktioniert.

Könnt ihr mir dabei helfen? Entwickel mit Visual Studio 2010

 

Vielen Dank

Hans 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Jan. 2011 09:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wo genau klemmt's denn bzw. was hat nicht funktioniert?

Edit: hier die offizielle Doku mit Beispiel für das Auslesen von Elementen:
http://msdn.microsoft.com/en-us/library/lists.lists.getlistitems(v=office.12).aspx

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
7 Beiträge
Hans Viemeiers Als Antwort am 18 Jan. 2011 10:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wow, mit so einer schnellen Antwort habe ich ja garnicht gerechnet. Spitze!!!

Also, ich habe folgendes Beispiel gefunden, mit dem ich soweit alles implementiert haben: http://petersullivan.com.au/2009/04/22/connecting-to-sharepoint-2007-web-services-using-a-service-reference-in-visual-studio-2008/

Da bekomme ich jedoch doch im letzten Teil

client = new ListsSoapClient();
client.Open();
var response = client.GetListCollection();
foreach (XmlNode listNode in response.ChildNodes)
{
     TextBoxAusgabe.Text = TextBoxAusgabe.Text + listNode.Attributes.GetNamedItem("Title").Value;
}

 

das Problem, dass .ChildNodes nicht bekannt ist.

 

Habe mir gedacht, dass ich mir erstmal die Namen der Lists zurückgeben lasse und dann weiter versuche eine bestimmte List auszulesen.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Jan. 2011 10:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Da kann ich auf die Schnelle nichts dazu sagen, aber ich schätze, daß ein Typecast fehlt. Schau Dir doch im Debugger mal an, was "response" für ein Objekt ist.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
7 Beiträge
Hans Viemeiers Als Antwort am 18 Jan. 2011 11:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich steig da nicht so wirklich durch. Habe mir nochmal deine Methode GetListItems() angeguckt. Da habe ich das Problem, dass er folgendes nicht kennt:

ListReference.Lists listService = new ListReference.Lists();

ListReference ist mein Verweis auf den Webservice, den ich mit Rechtsklick auf Verweise->Dienstverweis hinzufügen erstellt habe. Mache ich da vielleicht was falsch?

 

Kannst du mir vielleicht mal schreiben, was ich genau machen muss, um die Daten aus einer bestimmten Liste MyList auslesen kann? Das wäre super nett.

Vielen Dank

Hans

 

PS: response ist vom Type XElement, was mit allerdings auch nicht groß weiterhilft =(

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Jan. 2011 11:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sorry, aber ich kann Dir hier keine komplette Anleitung liefern. Dazu fehlt mir schlicht die Zeit.

[quote user="Hans Viemeiers"]ListReference ist mein Verweis auf den Webservice, den ich mit Rechtsklick auf Verweise->Dienstverweis hinzufügen erstellt habe[/quote]

Das paßt schon so. Hast Du auch den richtigen Webservice ausgewählt (Lists.asmx)?

[quote user="Hans Viemeiers"]response ist vom Type XElement, was mit allerdings auch nicht groß weiterhilft [/quote]

Dann definiere Deine Variable auch von diesem Typ (statt einfach nur "var").

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
7 Beiträge
Hans Viemeiers Als Antwort am 18 Jan. 2011 11:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

okay, das kann ich verstehen.

Der Webservice ist auf jeden Fall der richtige. Ich bin mir nur bei den dlls vom Server nicht sicher, brauche ich da welche und wenn ja welche genau?

 

Vielen Dank nochmal für deine Hilfe. Ich hoffe, das wenn ich das mit den dlls richtig habe auch durch experimentieren zur Lösung komme.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Jan. 2011 12:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du brauchst jedenfalls keine Microsoft.SharePoint.* - dafür sind ja die Webservices da.

Viele Grüße
Andi
af @ evocom de
Blog