wadl 的自动生成(cxf版本2.7.6)

参考文档

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

获取项目

git@github.com:witaste/cxf-2.7.6-server-client-wadl.git

说明:

2.7.6 生成了简单的wadl, 不能生成所需的bean?可以。关键点在@XmlRootElement

注意不适用于3.1.1

package cn.zno.pojo;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class News {
    
    private String title;
    
    private String content;

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
    
}

指定服务器可以处理的类型

    @POST
    @Path("/requestNews")
    @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
    @Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
    public News requestNews(Param param);

具体发送接收类型需要客户端自己指定

        // 创建客户端
        WebClient client = WebClient
                .create("http://localhost:8080/wadl/news/requestNews", provider)
                .accept("application/json")
                .type("application/json");

provider 有 json 和 xml 两种

        <jaxrs:providers>
            <bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
            <bean class="org.apache.cxf.jaxrs.provider.JAXBElementProvider" />
        </jaxrs:providers>

通过wadl生成bean。在client文件夹下执行wadl2java.bat 参数是wadl地址

E:client>%CXF_HOME%inwadl2java http://localhost:8080/wadl?_wadl
原文地址:https://www.cnblogs.com/zno2/p/4747716.html