2016-08-19 115 views
0

我有一个CXF服务CXF WADL丢失细节(2.5.2),其消耗JSON对象,并产生JSON对象像下面用于复杂对象

@POST 
@Produces({"application/json"}) 
@Consumes({"application/json"}) 
public AResponseObject register(@PathParam("param1") String param1, User user) { 
// 
} 

WADL通过CXF为上述服务生成是如下:

<application xmlns="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
<script id="tinyhippos-injected"/> 
<grammars/> 

<resources base="http://host/..."> 

<resource path="/register/{param1}"> 
<param name="param1" style="template" type="xs:string"/> 
<method name="POST" id="register"> 
<request> 
<representation mediaType="application/json"/> 
</request> 
<response> 
<representation mediaType="application/json"/> 
</response> 
</method> 
</resource> 

</resources> 
</application> 

以上WADL文件: -

  1. 没有给出什么样的用户对象的任何细节是语法小号挠度

  2. 资源没有指定方法需要请求 有效载荷

如何这些丢失的东西添加到WADL文件的用户对象?

谢谢。

回答

0

您需要的CXF WadlGenerator添加为供应商在你蓝图的文件:

<bean id="wadlGenerator" class="org.apache.cxf.jaxrs.model.wadl.WadlGenerator"> 
    <property name="linkJsonToXmlSchema" value="true" /> 
</bean> 

<jaxrs:server id="someRestService" address="/my/endpoint"> 
    <jaxrs:serviceBeans> 
     <ref component-id="someRestServiceBean" /> 
    </jaxrs:serviceBeans> 
    <jaxrs:providers> 
     <ref component-id="wadlGenerator" /> 
     <ref component-id="jsonProvider" /> 
    </jaxrs:providers> 
</jaxrs:server>