Laden...

SoapException: VersionMismatch

Erstellt von Mighty Panther vor 13 Jahren Letzter Beitrag vor 13 Jahren 3.514 Views
Mighty Panther Themenstarter:in
22 Beiträge seit 2008
vor 13 Jahren
SoapException: VersionMismatch

Hallo,

ich habe einen Webservice in meine Anwendung integriert, indem ich unter "Webverweis hinzufügen" die URL 'http://***/webservices/fmisService?wsdl' eingetragen habe.
Diese hat intern Schnittstellen generiert, die ich für die Kommunikation nutzen kann.

Die Kommunikation zwischen meiner Anwendung und dem SOAP Webserver hat auch eine Zeit lang prima funktioniert.

Jetzt bekomme ich aber beim Anmelden an den Server eine Exception zurück, mit folgender Meldung.
Möglicher SOAP-Versionskonflikt: Unerwartetes Einschließen des Namespaces 'http://schemas.xmlsoap.org/wsdl/'. Erwartet wurde 'http://schemas.xmlsoap.org/soap/envelope/'.

Leider habe ich was die Geschichte mit dem Webservice und .Net betrifft nur Basiswissen.
Der Server mit dem ich kommuniziere ist extern und ich habe keinerlei Möglichkeiten irgendwas dort zu ändern.

Ich habe mal die wsdl Dateien angeschaut und keinen Unterschied zwischen der alten, wo es funktioniert hat und der heutigen gefunden.

Vielleicht kann mir jemand helfen und was hat es mit dem Namespace aufsich?

Danke und Gruß
Mighty

T
708 Beiträge seit 2008
vor 13 Jahren

Hallo Mighty Panther,

hast du mal auf deinen Webservice Verweis mit der rechten Maustaste geklickt und "Verweis aktualisieren" ausgewählt?
Dann sollte sich die Klasse Updaten und schon im Visual Studio alle Unterschiede/Kollisionen rot unterlegen. Geänderte Klassennamen, Typen, ect.

Es müssen ja nicht alle Änderungen offensichtlich sein. Evtl. wurde der Typ irgendeines Parameters geändert. Das sieht man dann nicht sofort.

Der Webservice Funktioniert in der Regel so lange, selbst mit Veränderungen der Programmierung, bis ein direktes Problem auftritt. Denn die Klassen werden in dem Moment modelliert, in dem du den Webverweis hinzufügst oder aktualisierst.
Wird nun eine Funktion gelöscht, die du nie benutzt wirst du das garnicht mitbekommen.
Benutzt du aber eine Funktion oder ein geändertes Parameter, meldet dies der Webservice über eine SOAP Nachricht.

Gruß
TriB