2013-10-28 19 views
5

我有一個JAX-RS API,並且正在爲它生成wadl。Wadl表示中的元素

<application .... 
    .. 
    <request> 
     <representation mediaType="application/xml"/> 
    </request> 
.. 
</application> 

但我想添加元素來表示它。

<application .... 
    .. 
    <request> 
     <representation mediaType="application/xml" element="prefix1:thebook"/> 
    </request> 
    .. 
</application> 

thebook應出現在語法中。

我的服務:

@Path("/update/book") 
@POST 
@Produces({MediaType.APPLICATION_JSON}) 
@ElementClass(request = Book.class) 
@Consumes({MediaType.APPLICATION_XML}) 
String updateBook(Book book); 

Book.java

@XmlRootElement(name = "inventoryBean") 
public class Book { 
    private Long name; 
    private Long id; 

    // getters and setters 
} 

回答

5

,必須有一個命名空間中聲明的地方,無論是在 @XmlRootElement本身或在包級別的註解,請添加它 並且您應該看到適當的鏈接到模式元素;
在這種情況下@XmlRootElement(name = "inventoryBean", namespace = "bean")應該做的工作。

+0

如果我需要列表,會是什麼元素=「」? – Forkmohit

+0

您需要將列表添加到另一個班級 – vicky