java - Extended Jersey Generated WADL: do not see jaxb classes -
i struggling couple of days following problem. created simple jersey 2 project. here mine jerseyconfig
public class jerseyconfig extends resourceconfig { public jerseyconfig() { property(serverproperties.wadl_generator_config, "com.platform.config.jersey.epwadlgeneratorconfig"); register(projectpolicycounterwebservice.class); } }
also have generator config:
public class epwadlgeneratorconfig extends wadlgeneratorconfig { @override public list<wadlgeneratordescription> configure() { return generator(wadlgeneratorapplicationdoc.class) .prop("applicationdocsstream", "ws/wadl/application-doc.xml") .generator(wadlgeneratorresourcedocsupport.class) .prop("resourcedocstream", "resourcedoc.xml") .generator(wadlgeneratorgrammarssupport.class) .prop("grammarsstream", "ws/wadl/application-grammars.xml") .prop("overridegrammars", true) .generator(wadlgeneratorresourcedocsupport.class) .prop("resourcedocstream", "ws/wadl/resourcedoc.xml") .descriptions(); } }
i created appropriate resourcedoc.xml, application-grammars.xml, application-doc.xml. wadl controller
@get @produces({mediatype.application_xml}) @path("type") public numberresponsetype type() { numberresponsetype type = new numberresponsetype (); type.setnumbersfreeamount(23423l); type.setdateresponse(new xmlgregoriancalendarimpl()); type.seterrorlist(new errorlisttype()); return type; }
do not contain element in response type
<ns2:application xmlns:ns2="http://wadl.dev.java.net/2009/02"> <ns2:doc title="a message in wadl" xml:lang="en"> added start of generated application.wadl </ns2:doc> <ns2:doc xmlns:jersey="http://jersey.java.net/" jersey:generatedby="jersey: 2.19 2015-06-29 13:02:58"/> <ns2:doc xmlns:jersey="http://jersey.java.net/" jersey:hint="this simplified wadl user , core resources only. full wadl extended resources use query parameter detail. link: http://localhost:9000/api/application.wadl?detail=true"/> <ns2:grammars> <ns2:include href="/ws/xsd/numberresponsetype.xsd"/> </ns2:grammars> <ns2:resources base="http://localhost:9000/api/"> <ns2:resource path="/"> <ns2:resource path="type"> <ns2:method id="type" name="get"> <ns2:response> <ns2:representation mediatype="application/xml"/> </ns2:response> </ns2:method> </ns2:resource> </ns2:resource> </ns2:resources> </ns2:application>
what do wrong?
Comments
Post a Comment