2013-06-05 16 views
5

Tôi có một dịch vụ RESTful đơn giản trong IntelliJ IDEA 12.1.3 Ultimate.Làm cách nào để tạo WADL từ mã RESTful Java trong IntelliJ IDEA?

Tôi đã thử nghiệm nó. Nó hoạt động. Bây giờ tôi muốn tạo một máy khách Java cho dịch vụ này và cần một WADL.

Theo hướng dẫn tại http://wiki.jetbrains.net/intellij/RESTful_WebService, tôi đã nhấp chuột phải vào lớp học của mình và truy cập "Dịch vụ web -> Dịch vụ web RESTful" để tìm menuitem "Tạo WADL từ mã Java" bị tắt.

Tôi đã làm gì sai?

Dưới đây là các mã:

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

Cập nhật

Có vẻ như rằng việc sử dụng TomEE như máy chủ ứng dụng vô hiệu hóa tính năng này. Tôi đoán rằng máy chủ ứng dụng là nơi WADL được tạo và tôi không sử dụng máy chủ ứng dụng mà IntelliJ hiểu.

Tôi có đúng không? Nếu tôi chuyển đổi các máy chủ ứng dụng thì nó có hoạt động không? Tôi nên sử dụng máy chủ ứng dụng nào?

+0

tôi chỉ làm nó trên một trong những các dịch vụ Restful của tôi, nhưng nó là một 'giao diện' với một lớp' thực hiện' (IntelliJ thích hợp tìm thấy có dây qua Spring) và tôi trả về 'Response' thay vì các kiểu tùy ý. Dường như nó không _not_ nhấn lên máy chủ, thay vào đó nó bắt đầu một máy chủ mới bằng cách sử dụng thư mục sản xuất của tôi, và sau đó nó thực hiện quét từ xa "cục bộ". – pickypg

+0

Cảm ơn pickypg. Bạn đang sử dụng máy chủ ứng dụng nào? – Jason

+0

Tôi đang sử dụng Glassfish, nhưng trớ trêu thay tôi đang chuẩn bị chuyển sang TomEE. – pickypg

Trả lời

1

Bạn có thể thử tạo hạt của mình theo cách thủ công. Có một ví dụ điển hình về cách để làm điều này ở đây:

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

Đọc phần wadl2java dòng lệnh công cụ.

Nếu dự án khách hàng của bạn là dự án maven, bạn cũng có thể thêm plugin maven mà bạn có thể tìm thấy trên cùng một trang.

Hope this helps