2013-06-05 29 views
5

Mam prostą usługę RESTful w IntelliJ IDEA 12.1.3 Ultimate.Jak wygenerować WADL z kodu RESTful Java w IntelliJ IDEA?

Przetestowałem to. To działa. Teraz chcę utworzyć klienta Java dla tej usługi i potrzebuję WADL.

Zgodnie z instrukcjami pod http://wiki.jetbrains.net/intellij/RESTful_WebService, kliknąłem prawym przyciskiem myszy na moją klasę i przeszedłem do "Web Services -> RESTful Web Services", aby znaleźć menuitem "Generate WADL from Java Code" disabled.

Co zrobiłem źle?

Oto kod:

package com.mybiz; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 

@Path("/greeting") 
public class Greeter { 
    @GET 
    @Produces("text/plain") 
    public String hello() { 
     return "Hi!"; 
    } 
} 

Aktualizacja

Wydaje się, że za pomocą TomEE jako serwer aplikacji wyłącza tę funkcję. Zgaduję, że serwer aplikacji jest tam, gdzie generowany jest WADL i nie używam serwera aplikacji, który IntelliJ rozumie.

Mam rację? Gdybym zmienił serwery aplikacji, czy to by działało? Z jakiego serwera aplikacji powinienem korzystać?

+0

Właśnie to zrobił na jednym z moje restful services, ale jest to "interfejs" z "klasą" implementacji (że IntelliJ odpowiednio znalazł połączenie przez Spring) i zwracam 'Response' zamiast arbitralnych typów. Wygląda na to, że _nie_ trafia na serwer, a raczej uruchamia nowy serwer przy użyciu mojego folderu produkcyjnego, a następnie wykonuje lokalne "zdalne" skanowanie. – pickypg

+0

Dzięki pickypg. Z jakiego serwera aplikacji korzystasz? – Jason

+0

Używam Glassfish, ale jak na ironię przygotowuje się do przejścia na TomEE. – pickypg

Odpowiedz

1

Możesz spróbować wygenerować swoją fasolę ręcznie. Jest to dobry przykład tego, jak to zrobić tutaj:

http://cxf.apache.org/docs/jaxrs-services-description.html

Przeczytaj część wadl2java wiersza poleceń narzędzie.

Jeśli twój projekt klienta jest projektem maven, możesz również dodać wtyczkę maven, którą znajdziesz na tej samej stronie.

Nadzieja to pomaga