使用ServiceMix 7 M3和CXF生成的WADL中缺少方法id属性

时间:2017-12-13 06:24:11

标签: cxf wadl apache-servicemix

我们正在使用ServiceMix 7.0.0.M3并使用CXF WADL生成器。 现在生成的WADL似乎没有' id'资源>方法标记中的属性。例如,以下WADL中的第4行没有' id'属性。

<resources base="http://localhost:8181/api/rest/box">
   <resource path="/">
      <resource path="boxes">
         <method name="GET">
            <request>
               <param name="language" style="header" type="xs:string"/>
               <param name="includeInactive" style="query" type="xs:boolean"/>
            </request>
            <response>
               <representation mediaType="application/json;charset=utf-8" element="prefix1:BoxRestResponse"/>
            </response>
         </method>
      </resource>

如果我想用泽西岛生成WADL,我会得到一个&#39; id&#39; property,包含相应Java方法的名称。

<resources base="http://localhost:8181/api/rest/box">
   <resource path="/">
      <resource path="boxes">
         <method name="GET" id="getBoxes">
            <request>
               <param name="language" style="header" type="xs:string"/>
               <param name="includeInactive" style="query" type="xs:boolean"/>
            </request>
            <response>
               <representation mediaType="application/json;charset=utf-8" element="prefix1:BoxRestResponse"/>
            </response>
         </method>
      </resource>

我们的一个前端开发工具需要&#39; id&#39;属性存在。

是否可以将CXF WADL生成器配置为包含方法id属性?

1 个答案:

答案 0 :(得分:0)

我找到了。将WadlGenerator配置属性“addResourceAndMethodIds”添加到CXF Blueprint文件时会生成id:

   <bean id="wadlGenerator" class="org.apache.cxf.jaxrs.model.wadl.WadlGenerator">
        <!-- properties: Method Summaries @ https://cxf.apache.org/javadoc/latest/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.html -->
        <property name="linkJsonToXmlSchema" value="true" />
        <property name="useJaxbContextForQnames" value="true" />
        <property name="addResourceAndMethodIds" value="true" />
    </bean>