2 Stimmen

Übernahme der Kontrolle über WSDL/XSD von WCF-SVCUtil (Anmerkungen, Schemanamensräume und Schemaspeicherorte)

In der WSDL, die von einem WCF-Dienst generiert wird, gibt es ein paar Probleme, die ich gerne etwas besser in den Griff bekommen würde. Erstens: Gibt es eine Möglichkeit, den mit der WSDL generierten xsd-Dateien Anmerkungen hinzuzufügen, ohne Surrogate zu verwenden?

Ich habe mich um das Hinzufügen von Anmerkungen zur WSDL selbst gekümmert

Ich konnte über Agillior Anmerkungen zu den Datenelementen hinzufügen, aber sie verwendeten Surrogate, die ich nicht verwenden möchte.

Ich würde die Lösung von Thoranin verwenden, außer dass ich die Anmerkungen auf Datenelemente und nicht auf Parameter anwenden möchte


~~Zweitens möchte ich die Namespaces für die aus der WSDL generierten xsd-Dateien explizit benennen. Ich konnte die Kontrolle über den Namespace der WSDL mithilfe des ServiceBehaviorAttributs übernehmen: [ServiceBehavior(Namespace="http://mysite.com/HelloWorld")]
aber leider kann ich nicht finden, eine einfache Möglichkeit, den Namespace der Xsd-Dateien angeben :(, gibt es eine einfache Möglichkeit, dies zu tun / können Sie mich in die richtige Richtung zeigen?~~

-edit-

Nun, bei der zweiten Anfrage war ich etwas albern. Ich hatte vergessen, die Namespaces für meine wcf-Dateien festzulegen, die den xsd-Namespaces zugeordnet sind. Mein Fehler :) .


Wenn die wsdl eine xsd importiert, verwendet sie einen Pfad ähnlich wie http://localhost:8080/HostDevServer/HelloWorldService.svc?xsd=xsd0
was das wsdl2java-Ant-Skript von Apache zu stören scheint. Ich kann sie zwar manuell in die lokalen Dateien ändern, aber das ist einfach zu mühsam :). Gibt es eine Möglichkeit, die Dateien zu generieren und dann einen lokalen Verweis wie haben: HelloWorldService.xsd , HelloWorldService1.xsd etc.

Für jede Rückmeldung wären wir dankbar.

1voto

Austin Johnson Punkte 135

WCFExtras ftw:

Ich beschloss, dass ich, anstatt meine eigenen Attribute und Klassen in die WSDL- und XSD-Dateien zu dokumentieren, dem Hype nachgeben und WCFExtras die Arbeit überlassen würde. Davon abgesehen würde ich mir wünschen, dass die Xml-Kommentare in verschiedene Zeilen aufgeteilt werden, anstatt sie alle in einer Zeile zu haben. (Nur um das Lesen der Xml-Dateien zu erleichtern). Außerdem kümmert sich WCFExtras perfekt um das Surrogatproblem :) !

Schließlich habe ich ein Programm geschrieben, um das dritte Problem zu lösen. Es ziemlich viel greift die Metadaten-Dateien mit svcutil dann geht in und findet alle Importe, und ordnet sie zu den Dateien heruntergeladen basierend auf die Namespaces neu.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X