28

C# で RESTful Web サービスを作成し、IIS にデプロイしました。サービス HeadOffice.svc にアクセスすると、WSDL (HeadOffice.svc?wsdl) を表示するオプションがあります。私がやりたいことは、WADL (HeadOffice.svc?wadl など) を表示するオプションを用意することです。これは可能ですか?

これはベスト プラクティスではないという一般的な意見をあちこちで読んだことがあります。ただし、学校の課題には WADL が必要なので、助けていただければ幸いです。

4

2 に答える 2

25

WADLが標準ではない/広くサポートされていないことをすでに知っているとします。また、誰かがWADLを必要とする場合は、WS */SOAPサービス+WSDLを使用する方がよい場合があります。だからあなたの仕事はとても奇妙に見えます。

とにかく、WADLは、MicrosoftのREST実装、WCF 3.5 Rest Starter Kit、WCF 4 REST、ASP.NETWebAPIのいずれでも「すぐに」サポートされていません。

WADLfor.NET用の信頼できるツールはありません。

あなたの目標がWADLを使用してC#クライアントコードを生成することであるとき、私を信じてください、あなたはあなた自身でクライアントコードを書くのにより多くの時間を費やすでしょう。そして、そのためのより良い解決策があります。

HttpClientクラスやRestSharpなどの新しいクラス、または同様のライブラリを使用して、クライアントを簡単に手動で作成できます。.NET用の信頼性の高いWADLソリューションを探すよりもさらに高速になります。

stackoverflowに関する同様の質問:WSDLの代わりにWADLを使用した.NETでのRESTfulサービス

更新-Swagger: 数年の間、swaggerはそのような形式としての地位を確立してきました。SwaggerエディターでswaggerのYAMLを使用してサービス定義の記述を開始するか、Swashbuckleライブラリを使用して.NET用に既存のサービスからswaggerを生成することができます。2つ目はWSDLで使用したもので、SwaggerEditorを使用してクライアントとサーバーの定型文を生成できます。サーバーまたはクライアントを生成しているか、それが好きではないかに関係なく、swaggerは実際にはRESTサービスの非常に優れた契約交換形式であり、理想的ではありませんが、優れたオプションです。

于 2012-10-19T07:05:24.830 に答える