2013-06-05 2 views
5

Ich habe einen einfachen RESTful Service in IntelliJ IDEA 12.1.3 Ultimate.Wie erzeuge ich WADL aus RESTful Java-Code in IntelliJ IDEA?

Ich habe es getestet. Es klappt. Jetzt möchte ich einen Java-Client für diesen Dienst erstellen und benötige eine WADL.

Nach den Anweisungen unter http://wiki.jetbrains.net/intellij/RESTful_WebService, klickte ich rechts auf meine Klasse und ging zu "Web Services -> RESTful Web Services", nur um den Menüpunkt "WADL aus Java Code generieren" zu deaktivieren.

Was habe ich falsch gemacht?

Hier ist der Code:

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!"; 
    } 
} 

aktualisieren

Es dass Sie diese Funktion verwenden TomEE als Anwendungsserver scheint deaktiviert. Ich vermute, dass auf dem Anwendungsserver die WADL generiert wird und ich nicht den Anwendungsserver verwende, den IntelliJ versteht.

Bin ich richtig? Wenn ich die Anwendungsserver wechseln würde, würde es funktionieren? Welchen Anwendungsserver sollte ich verwenden?

+0

Ich habe es nur auf einem der meine Restful-Dienste, aber es ist eine "Schnittstelle" mit einer Implementierung "Klasse" (die IntelliJ entsprechend über Spring verdrahtet gefunden hat) und ich gebe "Response" anstelle von beliebigen Typen zurück. Es scheint, dass es _not_ den Server nicht getroffen hat, stattdessen startet es einen neuen Server, der meinen Produktionsordner verwendet, und dann führt es einen lokalen "Remote" Scan aus. – pickypg

+0

Danke pickypg. Welchen Anwendungsserver verwenden Sie? – Jason

+0

Ich benutze Glassfish, aber ironisch bereite ich mich vor, zu TomEE zu wechseln. – pickypg

Antwort

1

Sie können versuchen, Ihre Bohnen manuell zu generieren. Es ist ein gutes Beispiel dafür, wie dies hier zu tun:

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

Lesen Sie den Teil wadl2java Kommandozeilen-Tool.

Wenn Ihr Client-Projekt ein Maven-Projekt ist, können Sie auch das Maven-Plugin, das Sie auf der gleichen Seite finden, hinzufügen.

Hoffnung hilft dieses