Feedback

C# - SharePoint Webservice asynchron aufrufen

Veröffentlicht von am 03.12.2013
(0 Bewertungen)
Da ich selbst sehr lange Probleme hatte einen SharePoint Webservice von einem Client (nicht direkt vom SharePoint Server) aufzurufen habe ich mich entschieden meinen letztendlich entstandenen Code zu veröffentlichen.

Dieser Ablauf kann nur Asynchron aufgerufen werden (z.B.: in Windows Store Apps)

Zusätzlich muss dem Projekt ein Dienstverweis als "Service Reference" hinzugefügt werden, der auf den Webservice referenziert und somit in unserem Fall die Klasse "WebServiceKantine" bereitstellt.

PS: Seid nicht so böse mit mir wenn ihr Rechtschreibfehler findet oder wenn man den Code besser gestalten könnte. Ich bin nicht der Ober-C#-Guru ... Ich will hier nur anderen Helfen, die vielleicht vor dem gleichem Problem stehen.
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Projektmitglieder - Kompakt

Nach Teilnahme an dieser Schulung sind Ihnen die Grundlagen von ALM geläufig. Sie planen und steuern Projekte effizient mit dem Visual Studio Team Foundation Server.

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

using System.ServiceModel;
using System.Xml;
using System.Xml.Linq;
using System.Text.RegularExpressions;
using Windows.UI.Popups;

.
.
.

async void get_Data_from_Webservice()
        {
            BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
            basicHttpBinding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
            basicHttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
            basicHttpBinding.MaxReceivedMessageSize = 5000000;
            basicHttpBinding.OpenTimeout = new TimeSpan(1, 0, 0);
            basicHttpBinding.CloseTimeout = new TimeSpan(1, 0, 0);
            basicHttpBinding.SendTimeout = new TimeSpan(1, 0, 0);
            basicHttpBinding.ReceiveTimeout = new TimeSpan(1, 0, 0);

            EndpointAddress endpoint = new EndpointAddress("http://sharepoin.server.name/[Pfad]/[zur]/[Websitesammlung]/_vti_bin/lists.asmx");
            string listName = "{1298a7bb-f811-45e3-9db0-9884e79610b8}"; //GUID der Liste
            string viewName = "{091791D1-4A6D-4402-8E7A-AB10BFF6C6A2}"; //GUID des Views
            string rowLimit = "25";                                     //Maximale Trefferanzahl

            XElement ndQuery = new XElement("Query");
            XElement ndViewFields = new XElement("ViewFields");
            XElement ndQueryOptions = new XElement("QueryOptions");

            WebServiceKantine.ListsSoapClient client = new WebServiceKantine.ListsSoapClient(basicHttpBinding, endpoint);
            client.ClientCredentials.Windows.ClientCredential = (System.Net.NetworkCredential)System.Net.CredentialCache.DefaultCredentials;
            client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;                        //Das Ergebnis in Form eines XML Streams
            WebServiceKantine.GetListItemsResponse response = await client.GetListItemsAsync(listName, viewName, ndQuery, ndViewFields, rowLimit, ndQueryOptions, null);
        }

Abgelegt unter C#, Webservice, SharePoint, XML, Request, Response.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!