Rest 在WADL中链接XSD文件

Rest 在WADL中链接XSD文件,rest,xsd,cxf,jax-rs,wadl,Rest,Xsd,Cxf,Jax Rs,Wadl,我想创建一个WADL文件,从中可以使用ApacheCxfwadl2javaMaven插件创建Java接口。 在WADL中,我想使用XSD文件中定义的数据类型 以下是我的休息服务: @Path("/v1/order") public interface OrderResource { @PUT @Consumes(MediaType.APPLICATION_XML) public Response createOrder(Order order); @GET @Produces(MediaTy

我想创建一个WADL文件,从中可以使用ApacheCxf
wadl2java
Maven插件创建Java接口。 在WADL中,我想使用XSD文件中定义的数据类型

以下是我的休息服务:

@Path("/v1/order")
public interface OrderResource {

@PUT
@Consumes(MediaType.APPLICATION_XML)
public Response createOrder(Order order);

@GET
@Produces(MediaType.APPLICATION_XML)
public List<Order> getOrders(@QueryParam("orderId") List<Long> orderIds);
}
@Path(“/v1/order”)
公共接口OrderResource{
@放
@使用(MediaType.APPLICATION_XML)
公共响应命令(命令);
@得到
@生成(MediaType.APPLICATION\u XML)
公共列表getOrders(@QueryParam(“orderId”)列表orderId);
}
我的WADL:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<application xmlns="http://wadl.dev.java.net/2009/02" >
    <grammars>
        <include href="RestService_schema1.xsd" />
    </grammars>
    <resources base="http://localhost:9080/rest/">
        <resource path="v1/order/" id="OrderResource">
            <resource>
                <method name="PUT" id="createOrder">
                    <request>
                        <representation mediaType="application/xml"  />
                    </request>
                    <response status="200">
                    </response>
                </method>
            </resource>
        </resource>
            <resource>
                <method name="GET" id="getOrders">
                    <request>
                        <param name="orderId" style="query" type="xs:long" />
                    </request>
                    <response status="200">
                        <representation mediaType="application/xml" />
                    </response>
                </method>
        </resource>   
    </resources>
</application>

我的RestService_schema1.xsd:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="Order" type="Order" />
    <xs:complexType name="Order">
        <xs:attribute name="OrderId" type="orderid">
            <xs:annotation>
                <xs:documentation>...
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:sequence>
        .
        .
        .
        .
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="orderid">
        <xs:annotation>
            <xs:documentation> ....
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:long" />
    </xs:simpleType>
</xs:schema>

...
.
.
.
.
....
我想做什么:

  • 我想在WADL中指定createOrder服务的输入类型Order。我知道这可以通过元素属性来完成,但是我如何链接它呢?可能是
    -标记中的
    element=“Order”

  • getOrders()服务的查询参数应该是
    List
    (在带有orderid的WADL a列表中)和响应类型
    List
    。我如何在WADL中指定这一点