Windows Service soll WSDL des "Web Service" publizieren

StehtimSchilf

Erfahrenes Mitglied
Hi Forum

Ich habe hier einen Windows Service (nicht web!) der einen rudimentären Web Server implementiert hat und auf einem TCP Port HTTP GET und POST verarbeitet. Die POST-Daten sind XML-Dokumente.

Die XML-Dokumente werden an unterschiedliche URLs geschickt um die "Methode" zu unterscheiden, bspw.:

http://localhost:8080/method1
HTML:
<method1>
   <node1>hallo welt</node1>
   <node2>3</node2>
</method1>


http://localhost:8080/method2
HTML:
<method2>
   <node1>
      <node2>int</node2>
      <node2>int</node2>
      <node2>int</node2>
   </node1>
</method2>

Das funktioniert alles einwandfrei. Ich muss nun 3, 4 neue "Methoden" hinzufügen und habe mir gedacht, es wäre doch schön, wenn ich nun auch noch eine WDSL publiziere, damit der "Web Service" leichter von anderen Clients angesprochen werden kann.

Doch wie erstell ich aus mehreren XMLs eine WSDL? Geht dies, wenn ich für die XMLs zuerst XSDs generiere? Doch wie gehts dann von XSD zu WSDL?

Die XML werden derzeit "manuell" auf eine Klasse gemappt. Ich habe mir daher überlegt, in der Solution eine ASP.NET Webseite hinzuzufügen, dort die z.V. stehen "Web Services" nachzubilden und dann mir eben die WSDL zu generieren, die Datei dann in meinem Windows Service hinzufügen und bei einem http://localhost:8080?wsdl einfach zurückzugeben.

Das ganze MUSS ein Windows Dienst sein.

Jemand eine Idee wie ich zu einer WSDL komme für die XML-Struktur die der "Web Service" verlangt?

cheerioh & thx
SiS
 
Hi

Wieso machst du daraus nicht einen richtigen WebService. Dann wird das ganz für dich übernommen und du musst dich gar nicht darum kümmern.

Ansonsten musst du auf Server-Seite halt prüfen, ob nach wsdl gefragt wird und wenn ja das Xml zusammenbauen. Du kennst ja alle
 
Hi Nico

danke für Deine prompte Antwort. Ehm, weil ich nicht weiss wie ich einem "Windows Service" Projekt einen WebService hinzufüge? hast du mir da einen Tipp?

WCF kann ich derzeit nicht verwenden, da diese Implementierung derzeit zuviel Zeit in Anspruch nehmen würde.

Grüsse
SiS
 
Hi

Sorry, hatte außer Betracht gelassen, dass du einen eigenen Webserver geschrieben hast.
Aber du weißt doch, was bei der Abfrage kommt, dann kannst du auch ein Xml schicken, mit allen Funktionen.
Ein WSDL wird dir aber nicht viel helfen. Wenn du ein WSDL raus gibst, erzeugst du auch die Erwartung, dass da ein WebService ist, den du aber nicht hast.

@WCF
Ein WebService muss nicht gleich ein WCF Service sein. Du kannst auch einen normalen Xml-WebService schreiben. Du hast es mit WCF jedoch einfacher.
 

Neue Beiträge

Zurück