2017-12-13 2 views
0

Wir verwenden ServiceMix 7.0.0.M3 und verwenden den CXF WADL-Generator. Nun scheint das generierte WADL kein 'id' Attribut in den resource> method Tags zu haben. Zum Beispiel hat die vierte Zeile in der folgenden WADL kein 'ID' Attribut.Fehlendes Methoden-ID-Attribut in generiertem WADL mit ServiceMix 7 M3 und CXF

<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> 

Wenn ich die WADL mit Jersey erzeugt habe, würde ich eine ‚id‘ Eigenschaft erhalten, den Namen der entsprechenden Java-Methode enthält.

<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> 

Eines unserer Frontend-Entwicklungstools erwartet, dass das Attribut 'id' vorhanden ist.

Kann der CXF-WADL-Generator so konfiguriert werden, dass er das Method-ID-Attribut enthält?

Antwort

0

Ich habe es gefunden. Die IDs werden beim Hinzufügen der WadlGenerator-Konfigurationseigenschaft 'addResourceAndMethodIds' zur CXF Blueprint-Datei generiert:

<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> 
Verwandte Themen