Frage

Ich habe einen WCF-Web-Service, und ich brauche den Client mit den WSDL-Dateien zur Verfügung zu stellen.

Früher verwendete ich svcutil auf der DLL und alles war in Ordnung.

Doch vor kurzem ich die Fabrik zu Flaten implementiert, um die WSDL-Datei (re: http://wcfextras.codeplex.com / ).

Meine Fragen ist diese: Gibt es trotzdem entweder mit svcutil auf dem .svc der abgeflachte .WSDL Dateien zu extrahieren oder vielleicht irgendwie den Web-Service-Hit, wenn es in der lokalen webdev Server läuft die .WSDL Dateien abzurufen?

Soweit ich weiß, wenn ich zu meinem lokalen Web-Dev-Server navigieren ( http : // localhost: 2916 / Service.svc wsdl ) und wenn ich war Quelle anzuzeigen und gespeichert als .wsdl, dass dies falsch ist und alle relevanten Informationen nicht zur Verfügung stellen würde.

Hinweis: Siehe unten, wie die Fabrik in der SVC-Datei verwendet wird ....

<% @ServiceHost Factory="CompanyName.ServiceModel.Extensions.Description.FlatWsdlServiceHostFactory" language=c# Service="CompanyName.WebServices.Service"%> 

Danke, Steven

War es hilfreich?

Lösung

Ja, Sie sollten noch in der Lage sein svcutil zu verwenden, um die WSDL aus dem Dienst zu extrahieren, selbst wenn Sie eine Erweiterung installiert haben, dass die WSDL abzuflachen.

das Metadaten Dokument herunterzuladen (en) von Ihrem laufenden Dienst, verwenden Sie diesen Befehl:

svcutil /t:metadata http://service/metadataEndpoint

Sie benötigen eine URL an den Metadaten-Endpunkt in der Config definiert Punkt, z.B. der Endpunkt, der die Verwendung von „mexHttpBinding“ oder „mexTcpBinding“ und den „IMetadataExchange“ Vertrag definiert ist.

Wenn Sie keine Metadatenaustausch Endpunkte definiert haben, werden Sie nicht in der Lage sein, diese Informationen abzurufen, offensichtlich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top