azubi-tigerente Geschrieben 27. August 2010 Geschrieben 27. August 2010 hallo zusammen, stehe vor einer neuen, für mich unbekannten aufgabe. ich soll von einer externen firma datenbankdaten von verschiedenen tabellen über einen webservice angeboten bekommen. wie funktioniert das? ich bekomme irgendeinen http-pfad und auf den greif ich zu und rufe die daten ab - ist das richtig so? ich greife aber nicht direkt auf deren sql server zu, oder? mir wurde was erzählt das sie mir meine daten so aufbereiten, dass ich nicht mal ihre datenbankstruktur bzw tabellenstruktur mitbekommen. wie kann ich das ganze in eine c# asp.net anwendung einbinden? was gibt es so für code? läuft das genauso ab wie wenn ich auf meine eigene datenbank lokal schreibe bzw auf den server in unserem firmennetzwerk? wie bekomme ich meine daten auf deren datenbank?? besteht da nicht die gefahr, dass ich daten überschreiben kann, die ich übermittle?? habe noch nicht wirklich brauchbares im internet gefunden. ich denke ich muss ja irgendeine schnittstelle zwischen den webservice und meiner applikation realisieren? vielen dank für eure hilfe!! gruss azubi-tigerente Zitieren
ToolsDevler Geschrieben 27. August 2010 Geschrieben 27. August 2010 wie funktioniert das? ich bekomme irgendeinen http-pfad und auf den greif ich zu und rufe die daten ab - ist das richtig so? Nein nicht ganz. ich greife aber nicht direkt auf deren sql server zu, oder? Nein... dafür ist der Webservice ja da. mir wurde was erzählt das sie mir meine daten so aufbereiten, dass ich nicht mal ihre datenbankstruktur bzw tabellenstruktur mitbekommen. Hängt vom Webservice ab wie kann ich das ganze in eine c# asp.net anwendung einbinden? was gibt es so für code? läuft das genauso ab wie wenn ich auf meine eigene datenbank lokal schreibe bzw auf den server in unserem firmennetzwerk? wie bekomme ich meine daten auf deren datenbank?? Rechtsklick auf deine Projektmappe -> "Dienstverweiß hinzufügen" -> URL des WebServices eintragen (Wird wahrscheinlich eine ".wsdl" sein). Diesem WebService einen Namespace geben (damit man aus dem Code auf diesen zugreifen kann). Dann diesen Namespace aufrufen und dessen Klassen/Funkionen durchschauen/benutzen. besteht da nicht die gefahr, dass ich daten überschreiben kann, die ich übermittle?? Hängt wiederum vom Webservice ab (aber ich denke eher nicht) ich denke ich muss ja irgendeine schnittstelle zwischen den webservice und meiner applikation realisieren? Der Webservice IST die Schnittstelle Hoffe ich konnte helfen Grüße ToolsDevler Zitieren
NerdonRails Geschrieben 27. August 2010 Geschrieben 27. August 2010 Rechtsklick auf deine Projektmappe -> "Dienstverweiß hinzufügen" -> URL des WebServices eintragen (Wird wahrscheinlich eine ".wsdl" sein). Diesem WebService einen Namespace geben (damit man aus dem Code auf diesen zugreifen kann). Dann diesen Namespace aufrufen und dessen Klassen/Funkionen durchschauen/benutzen. Das gilt aber nur für Soap-Services. Z.B. JSON- oder reine XML-Services wirst du damit nicht konsumieren können. Darüber sollte aber die Schnittstellen-Spezifikation auskunft geben können. Zitieren
azubi-tigerente Geschrieben 31. August 2010 Autor Geschrieben 31. August 2010 Vielen dank für die schnelle Hilfe und Beschreibung. Rechtsklick auf deine Projektmappe -> "Dienstverweiß hinzufügen" -> URL des WebServices eintragen (Wird wahrscheinlich eine ".wsdl" sein). Diesem WebService einen Namespace geben (damit man aus dem Code auf diesen zugreifen kann). Dann diesen Namespace aufrufen und dessen Klassen/Funkionen durchschauen/benutzen. Kannst Du mir einen kleinen Beispielcode geben oder kennst Du einen guten Link? Habe zwar Fach-Bücher aber eine richtige beschreibung gibt es dort nicht. Wie man daten abruft und diese wieder insert.... Steht nur da wie man sie Visuel im Browser anzeigen lassen kann. Ich muss doch wenn ich mit Datenbanken abfrage Select, Insert, Update, Delete usw. verwenden. Zitieren
Guybrush Threepwood Geschrieben 31. August 2010 Geschrieben 31. August 2010 Nein du rufst nur irgendeine Methode eines Webservices auf. Wenn es sich dabei wirklich um einen Webservie handelt den du wie oben beschrieben in Visual Studio hinzufügen kannst, bekommst du auotmatisch Klassen erzeugt die die Methoden des Webserives enthalten und nur aufgerufen werden müssen. Zitieren
azubi-tigerente Geschrieben 31. August 2010 Autor Geschrieben 31. August 2010 Nein du rufst nur irgendeine Methode eines Webservices auf. Wenn es sich dabei wirklich um einen Webservie handelt den du wie oben beschrieben in Visual Studio hinzufügen kannst, bekommst du auotmatisch Klassen erzeugt die die Methoden des Webserives enthalten und nur aufgerufen werden müssen. Ich bekomme sozusagen eine url, die gebe ich dann in Visual studio ein und erhalte die Struktur des Webservices. Werde ich dort dann auch nach meinem Passwort gefragt?? Und damit arbeite ich auch ganz normal mit Datenbankabfragen wie ich es in meiner eigenen Serverumgebung machen würde. Selct, Insert, Update usw.?? Ich muss leider so fragen, da ich davon absoliut keine Ahnung habe und mir auch nicht wirklich was darunter vorstellen kann. Gibt es eigentlich auch irgendwelche Screenshots von solchen Anbindungen und Klassen?? Zitieren
azubi-tigerente Geschrieben 31. August 2010 Autor Geschrieben 31. August 2010 Hier ist ein Link: Windows Communication Foundation-Dienste und WCF Data Services in Visual Studio Jetzt habe ich gelesen das bei C# kein Code hinterlegt wurde. Da steht entweder wurde kein Code hinterlegt oder es wird nicht unterstüzt?? Muss ich das dann in vb programmieren?? Meine Applikation ist in c# geschrieben!! Zitieren
lilith2k3 Geschrieben 31. August 2010 Geschrieben 31. August 2010 // Set up the CRM Service. CrmAuthenticationToken token = new CrmAuthenticationToken(); // You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication. token.AuthenticationType = 0; token.OrganizationName = "AdventureWorksCycle"; CrmService service = new CrmService(); service.Url = "http://<servername>:<port>/mscrmservices/2007/crmservice.asmx"; service.CrmAuthenticationTokenValue = token; service.Credentials = System.Net.CredentialCache.DefaultCredentials; // Create the request object. AddItemCampaignRequest add = new AddItemCampaignRequest(); // Set the properties of the request object. add.CampaignId = campaignId; add.EntityId = productId; add.EntityName = EntityName.product; // Execute the request. AddItemCampaignResponse added = (AddItemCampaignResponse) service.Execute(add); Mal so als Beispiel... Der Webservice wird, wie oben angesprochen als Verweis dem Projekt hinzugefügt. service.CrmAuthenticationTokenValue = token; service.Credentials = System.Net.CredentialCache.DefaultCredentials; Ist wichtig für die Authentifizierung am CRM-Webservice. AddItemCampaignResponse added = (AddItemCampaignResponse) service.Execute(add); Ist der Aufruf an den Webservice. Allgemein: Service.Execute() ist die Methode, die den Webservice veranlasst, irgendetwas zu tun. Beim CRM-Webservice handelt es sich um einen SOAP-basierenden Webservice. Wahlweise kann man eine XML-Antwort anfordern (FetchXML) oder eben ein ResponseObjekt auswerten. Wesentlich anders wird es mit anderen Services auch nicht laufen. Verweis einbinden, Execute-Methode aufrufen, fertig. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.