So generieren Sie XSD-Dateien für den Web-Service

8

Ich muss einen Web Service (.NET) erstellen, der von einem anderen System verwendet wird. Damit sie Logik implementieren können, die meinen Web-Service verwendet, muss ich ihnen Wsdl- und XSD-Dateien für meinen Web-Service senden.

WSDL-Datei ist kein Problem, ich werde es von .asmx Seite erhalten, indem Sie wsdl Parameter übergeben. Aber wie kann ich geeignete XSD-Dateien für meinen Webservice generieren? Kann ich das XSD.exe-Tool verwenden und es als Parameter übergeben, oder gibt es eine andere Möglichkeit?

Vielen Dank im Voraus.

    
buhtla 14.11.2010, 11:45
quelle

4 Antworten

10

Sie können das Dienstprogramm disco.exe verwenden, mit dem Sie die Dateien wsdl und xsd speichern können Dateien auf dem Datenträger, damit diese Dateien zum Generieren eines Client-Proxys ohne Zugriff auf die WSDL-Webadresse verwendet werden können.

    
Darin Dimitrov 14.11.2010, 11:47
quelle
2

Wenn Sie die Pro-Edition von Visual Studio (und höher) verwenden, finden Sie beim Öffnen einer XML-Datei ein XML-Menü mit einem Element, aus dem ein XSD generiert wird (Schema erstellen). Ich glaube, es verwendet xsd.exe jedoch unter der Haube.

Siehe MSDN .

    
Oded 14.11.2010 11:47
quelle
0

Sie können "? xsd = 1" am Ende der Service-URL hinzufügen, um das Schema zu erhalten.

d. Wenn Ihre Webdienst-URL lautet : // mein_ws_service: 9080 / service / name Dann können Sie WSDL verwenden : // my_ws_service: 9080 / service / name? WSDL und Sie können Schema mit verwenden : // mein_ws_service: 9080 / service / name? xsd = 1 (Beachten Sie, dass xsd die Groß- / Kleinschreibung beachtet)

Ich hoffe, es hilft.

    
RaksJ 08.12.2016 13:34
quelle
0

Ich dachte, ich würde meine Lösung teilen, in meinem Fall musste ich eine tatsächliche C # -Klasse erstellen, damit ich die Antwort-XML für einen bestimmten Endpunkt deserialisieren konnte, dessen WSDL ich auf meinem Entwickler-PC gespeichert hatte.

Ich habe die Visual Studio-Eingabeaufforderung geöffnet und Folgendes eingegeben:

%Vor%

Der Name Ihrer Datei ist der Name Ihrer gespeicherten WSDL-Datei. Das Ausführen des Befehls sollte eine C # -Klasse generieren, die Sie dann in Ihrer Clientanwendung verwenden können, um eine XML-SOAP-Antwort für Ihren angegebenen Endpunkt zu deserialisieren.

Hoffe, das hilft.

    
Tahir Khalid 03.07.2017 10:19
quelle

Tags und Links