Probleme mit wsdl.exe
-
Hallo
Ich hoffe hier kann mir jemand weiterhelfen. Ich versuche eine C#-Klasse mit Hilfe der wsdl.exe zu erstellen. Meine wsdl wurde von gSOAP erstellt. Leider bekomme ich immer folgende Fehlermeldung:
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. wsdl /out:RS232.cs C:/Pipet.wsdl Microsoft (R)-WSDL-Tool (Web Services Description Language) [Microsoft (R) .NET Framework, Version 2.0.50727.42] Copyright (C) Microsoft Corporation. All rights reserved. Warnung: Dieser Webverweis entspricht WS-I Basic Profile, Version 1.1, nicht. Die SOAP 1.1-Bindung wurde nicht gefunden.: WS-I Basic Profile, Version 1.1, umf asst Implementierungsrichtlinien, in denen Verfahren zur Verwendung einer Gruppe wichtiger Webdienstspezifikationen zum Entwickeln von interoperablen Webdienste n empfohlen werden. Für das 1.1-Profil lauten diese Spezifikationen SOAP 1.1, WS DL 1.1, UDDI 2.0, XML 1.0 und XML Schema. Weitere Informationen zu WS-I Basic Profile Version 1.1 finden Sie in der Spezif ikation unter http://www.ws-i.org/Profiles/BasicProfile-1.1.html. Fehler: Die Pipet-Bindung von Namespace 'urn:PipetURN' kann nicht importiert wer den. - Der start-Vorgang für das portType-Objekt 'PipetPortType' von Namespace 'urn :PipetURN' besaß den folgenden Syntaxfehler: Der Vorgang besitzt keine übereinst immende Bindung. Überprüfen Sie, ob die Vorgangs-, Eingabe- und Ausgabenamen im Bindungsabschnitt mit den entsprechenden Namen im PortType-Abschnitt übereinstim men. Geben Sie 'wsdl /?' ein, um weitere Informationen anzuzeigen.
Mein Anfang der wsdl sieht so aus:
<?xml version="1.0" encoding="UTF-8"?> <definitions name="Pipet" targetNamespace="urn:PipetURN" xmlns:tns="urn:PipetURN" xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pipetns="urn:PipetURN" xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:DIME="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/" xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace="urn:PipetURN" xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pipetns="urn:PipetURN" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified"> <import namespace="http://www.w3.org/2003/05/soap-encoding"/> <!-- operation request element --> <element name="setDrops"> <complexType> <sequence>
Weiß jemand was das für ein Fehler ist und wie ich den beheben kann? Ich bin leider in Bezug auf WebServices ein absoluter Neuling und kann mit der Fehlermeldung einfach nichts anfangen. Ich benutze VS2005, das .Net Framework 2.0 und habe den IIS nachträglich installiert.
Vielen Dank für eure Hilfe!
-
Gehe mal von einem Fehler im WSDL aus.
Wie hast Du den dies erzeugt?
Um eines händisch zu erzeugen gibts auch Programme.
Ich mache das selbst aber immer mit VS.
Webservice erstellen, un der URL dann hinten ?WSDL anhängen und die Ausgabe gibt es im Browser.
-
Danke Unix-Tom für deine Antwort. Der Fehler lag zum einen darin dass eine wsdl mit der SOAP1.2 Spezifikation erstellt wurde und zum anderen mochte die wsdl.exe unsere asynchron definierten Services nicht. Mit synchronen Services und einer SOAP1.1 Spezifikation bekomme ich meine wsdl mit wsdl.exe erstellt.