Wadl表示中的元素

viv*_*vek 5 rest xsd cxf jax-rs wadl

我有一个JAX-RS API,我正在为它生成wadl.

<application ....
    ..
    <request>
        <representation mediaType="application/xml"/>
    </request>
..
</application>
Run Code Online (Sandbox Code Playgroud)

但我想为它添加元素表示.

<application ....
    ..
    <request>
        <representation mediaType="application/xml" element="prefix1:thebook"/>
    </request>
    ..
</application>
Run Code Online (Sandbox Code Playgroud)

thebook 应该用语法表达.

我的服务:

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

Book.java

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

    // getters and setters
} 
Run Code Online (Sandbox Code Playgroud)

vic*_*cky 6

必须在某处声明一个名称空间,无论是 @XmlRootElement本身还是包级注释,请添加它,您应该看到一个到schema元素的正确链接;
在这种情况下@XmlRootElement(name = "inventoryBean", namespace = "bean")应该做的工作.