Benutzer mit den meisten Antworten
WSDL in Projekt einbinden

Frage
-
Hallo,
ich möchte einen Webservice einer Fremdfirma in meine Anwendung einbinden. Dazu habe ich vom Erzeuger des Webservice eine WSDL erhalten.
Diese habe ich in VS2010 über "Dienstverweis hinzufügen" eingebunden. Es wurden dann auch alle Klassen generiert.
Sobald ich allerdings auf die Klassen zugreife:
MessageRouterClient messageRouterClient = new BitmarckMessageRouter.MessageRouterClient();
bekomme ich folgende Fehlermeldung:
Es wurde kein standardmäßiges Endpunktelement gefunden, das auf den Vertrag "BitmarckMessageRouter.MessageRouter" im ServiceModel-Clientkonfigurationsabschnitt verweist. Dies kann folgende Ursachen haben: Für die Anwendung wurde keine Konfigurationsdatei gefunden, oder im Clientelement wurde kein Endpunktelement gefunden, das diesem Vertrag entsprach.
Laut Dokumentation sollte der Wizard auch einige Einträge in der app.config erstellen, was er nicht getan hat. Wie die Fehlermeldung ja auch schon sagt.
Welche Einträge in der app.config muss ich hier vornehmen?
Oder liegt es ggf. an der wsdl Datei?
Bei Bedarf könnte ich auch die wsdl zu Verfügung stellen.
Danke und Gruß
Erik
Montag, 19. Dezember 2011 15:23
Antworten
-
Hallo Robert,
danke für die Links prinzipiell hört sich das nach genau meinem Problem an ...
Ich bin das Problem allerdings jetzt umgangen indem ich ein BasicHttpBinding(http://msdn.microsoft.com/de-de/library/system.servicemodel.basichttpbinding.aspx) mit im Constructor der Serverklasse des Webservice übergebe. Kompilieren kann ich das ganze jetzt. Testen konnte ich es aber noch nicht.
Ich denke damit sollte man aber alle Einstellungen des WS im Code vornehmen können.
Gruß
Erik- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 28. Dezember 2011 15:16
- Als Antwort markiert Erik Möller Montag, 9. Januar 2012 08:32
Mittwoch, 28. Dezember 2011 15:02
Alle Antworten
-
Hallo Erik,
bisher habe ich Webverweise (WSDL) nur über die URL hinzugefügt, über eine WSDL Datei habe ich es noch nie versucht und um ehrlich zu sein, habe ich es auch in VS nicht gefunden, wie man es anstellt.
Hattest Du es als "Dienstverweis" oder als "Webdienst Verweis" hinzugefügt? Wenn es ein Webdienstverweis ist, dann markiere den mal; in den Eigenschaften kannst Du dann die URL und das URL Verhalten angeben.
Es gibt freie Webservices, die Du zum Testen mal ein Webdienst Verweis einbinden kannst, dann siehst Du auch, was in der App.Config eingetragen wird.
Beispiel: http://www.thomas-bayer.com/axis2/services/BLZService?wsdl
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Bearbeitet Olaf HelperMVP Montag, 19. Dezember 2011 17:58
Montag, 19. Dezember 2011 17:49 -
Hallo Olaf,
eine WSDL als Datei kann man auf dem selben Weg einbinden wie über eine URL. Man gibt an der Stelle einfach den Pfad zu WSDL auf der Platte ein...
Ich habe es als "Dienstverweis" eingefügt. Wenn ich die WSDL als "Webdienstverweis" einfüge werden mir die Klassen nicht richtig erzeugt. Der Eintrag in der app.config ist dann aber vorhanden. Dieser ist aber nicht Kompatibel mit "Dienstverweis einfügen".
Füge ich es über "Dienstverweis" ein so bekomme ich zwar die richtigen Klassen aber die Einträge in der app.config fehlen. Diese müssen irgendwie anders aussehen als bei "Webdienstverweis".
Gibt es WSDL bzw. Webservices die mit .net nicht zu benutzen sind bzw. inkompatibel sind?
Ich habe die WSDL mal hier zum download zu Verfügung gestellt, falls jemand mal die Zeit und Lust hat sich das anzuschauen:
http://www.erik-moeller.de/Download/MessageRouter-Service.zip
Erik
Dienstag, 20. Dezember 2011 08:23 -
Hallo Erik Möller,
Schau Dir mal die folgenden Links an. Vielleicht können sie Dir weiter helfen.
Visual Studio does not generate app.config content when “add service reference”
Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.Mittwoch, 28. Dezember 2011 14:51Moderator -
Hallo Robert,
danke für die Links prinzipiell hört sich das nach genau meinem Problem an ...
Ich bin das Problem allerdings jetzt umgangen indem ich ein BasicHttpBinding(http://msdn.microsoft.com/de-de/library/system.servicemodel.basichttpbinding.aspx) mit im Constructor der Serverklasse des Webservice übergebe. Kompilieren kann ich das ganze jetzt. Testen konnte ich es aber noch nicht.
Ich denke damit sollte man aber alle Einstellungen des WS im Code vornehmen können.
Gruß
Erik- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 28. Dezember 2011 15:16
- Als Antwort markiert Erik Möller Montag, 9. Januar 2012 08:32
Mittwoch, 28. Dezember 2011 15:02