Я использую JAX-RS для создания файла WADL. Основная проблема заключается в том, что при использовании сложного типа (Ergebnis) в сгенерированном файле WADL детали запроса отсутствуют. Когда я изменяю сложные типы Ergebnis и Anfrage в простых типах, таких как String, результат получается ожидаемым. Мой код можно увидеть ниже.
Мне пришлось значительно сократить мой код, чтобы описать мою проблему в сжатой форме. Надеюсь, я не испортил и не напечатал несколько ошибок. Я надеюсь, что кто-то может мне помочь.
@POST
@Path("/testpfad")
@Produces(MT_JSON)
@Consumes(MT_JSON)
@Descriptions({ @Description(value = "Testbeschreibung", target = DocTarget.METHOD) })
Ergebnis testMethod(@NotNull Anfrage anfrage)
@XmlRootElement
@Doc(value = "Beschreibung")
public class Ergebnis {
@Doc("Beschreibung")
private boolean test
public boolean isTest() {
return test
}
public void setTest(final boolean test) {
this.test = test
}
}
Anfrage похож на Ergebnis.
Созданный WADL-файл:
<application>
<grammars>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified">
<xs:element name="Anfrage" type="Anfrage"/>
<xs:element name="Ergebnis" type="Ergebnis"/>
<xs:complexType abstract="true" name="Anfrage">
<xs:sequence>
<xs:element name="test" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType abstract="true" name="Ergebnis">
<xs:sequence>
<xs:element name="test" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</grammars>
<resources base="http://localhost:8080/test">
<resource path="/">
<resource path="testpfad">
<method name="POST">
<doc>Beschreibung</doc>
<request>
<representation mediaType="application/json"/>
</request>
<response>
<representation mediaType="application/json"/>
</response>
</method>
</resource>
</resource>
</resources>
</application>