Sucht man nach .NET und WADL (Akronym für Web Application Description Language), dann stößt man bei der Open Source-Community CodePlex auf das Web Application Description Language Tool (wadl.exe). Als “RESTful WCF Services Client Code Generation Utility” verspricht es, Code für die von der CLR unterstützten .NET Sprachen für RESTful Webservices und Clients zu generieren…
Leider verbirgt sich hinter dem Tool eine fehlerbehafte Version 0.1, die beim ersten Aufruf sofort eine Ausnahme erzeugt:
Unbehandelte Ausnahme: System.IO.DirectoryNotFoundException: Ein Teil des Pfades "C:\Dokumente und Einstellungen\Thorsten Giesecke\Desktop\WADL_Release_0[1].1_P laceHolder\WADL\bin\Release\" konnte nicht gefunden werden. bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize) bei System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials ) bei System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type of ObjectToReturn) bei System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings, XmlParserContext inputContext) bei System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings) bei System.Xml.Linq.XDocument.Load(String uri, LoadOptions options) bei System.Xml.Linq.XDocument.Load(String uri) bei Axis.WADL.FileProcessor..ctor(String fileName) in c:\Development\Beta Pro jects\WADL\FileProcessor.cs:Zeile 12. bei Axis.WADL.Program.Main(String[] args) in c:\Development\Beta Projects\WAD L\Program.cs:Zeile 22.
Schaut man sich den Quelltext an, stolpert man über einen Conversion-Report von VisualStudio, der verrät, dass das Tool auf einer Konvertierung des Tools wadl2java basiert (org.jvnet.ws.wadl alias java.net). Inwieweit die dafür nötigen Bibliotheken konvertiert wurden (z. B. JAXB) oder ob mit .NET-Bordmitteln (z. B. System.Xml) gearbeitet wird, kann man nur erahnen. Brauchbaren Code konnte ich jedenfalls (noch) nicht erzeugen.
Vielleicht lohnt es sich aber, später noch einmal vorbeizuschauen? Einen kleinen Lichtblick im Bezug auf Interoperabilität für RESTful Webservices zwischen Java und der .NET Plattform gibt es ja jetzt…