Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Webservice Authentifizierung
odif
myCSharp.de - Member



Dabei seit:
Beiträge: 5

Themenstarter:

Webservice Authentifizierung

beantworten | zitieren | melden

Hallo,

ich möchte einen Webservice nutzen, der durch Benutzername und Passwort geschützt ist. Es handelt sich um den Service Synonyms unter http://wortschatz.uni-leipzig.de/axis/servlet/ServiceOverviewServlet . Benutzername und Passwort sind mir bekannt. Ich habe die WDSL-Datei benutzt, um in SharpDevelop eine Webreferenz hinzuzufügen.

Nun habe ich folgenden Code geschrieben:

		
Test.wortschatz.unileipzig.de.SynonymsService a = new Test.wortschatz.unileipzig.de.SynonymsService();
Test.wortschatz.unileipzig.de.RequestParameter b = new Test.wortschatz.unileipzig.de.RequestParameter();
b.parameters = new string[1][];
b.parameters[0] = new string[2];
b.parameters[0][0] = "Auto";
b.parameters[0][1] = "15";
b.corpus = "de";
a.Credentials = new NetworkCredential("user", "pass", "wortschatz.uni-leipzig.de");
Test.wortschatz.unileipzig.de.ResponseParameter c = a.execute(b);

Ob die Parameter-Eingabe korrekt ist, weiß ich selbst nicht. Ich kenne mich bisher mit Web-Services sehr schlecht aus. Hier würde mich auch über eine Erklärung freuen.

Meine eigentliches Problem ist allerdings folgendes: Es kommt beim Aufruf von execute immer eine Exception "Please enter a username!". Ich dachte eigentlich das Problem wäre durch die Verwendung des NetworkCredential-Objekts gelöst. Das ist aber nicht der Fall. Wie löse ich es?

Beste Grüße
odif
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von odif am .
private Nachricht | Beiträge des Benutzers
blutiger_anfänger
myCSharp.de - Member



Dabei seit:
Beiträge: 293
Herkunft: Meerbusch, NRW

beantworten | zitieren | melden

Ich grabe diesen uralten Thread hier noch mal aus, da ich vor einigen Tagen selber vor dem gleichen Problem stand und dieser Thread hier bei Google immer noch ziemlich weit oben ist und es eigentlich keine gute Quelle zur Lösung gab.

Ich habe das Problem mittlerweile beseitigen können und weiteren Suchenden zu Helfen hier nun des Rätsels Lösung.
  1. Mittels WSDL eine ServiceReference hinzufügen
  2. Zugangsdaten sind für User als auch Passwort "anonymous". Diese müssen in "service.ClientCredentials.UserName" angegeben werden
  3. Der eigentliche Aufruf muss im OperationContextScope ausgeführt werden und die Header müssen angepasst werden, damit die Zugangsdaten fehlerfrei beim Webservice ankommen


Auf meinem Blog habe ich sowohl einen ausführlicheren Artikel dazu geschrieben, als auch eine Library zu einfachen Verwendung des Thesaurus-Webservice bereit gestellt.

Ich hoffe das hilft den zukünftigen Suchern. ;)
Wenn ich nicht hier bin, findest du mich auf code-bude.net.
private Nachricht | Beiträge des Benutzers