Hi all,
I have an existing set of resource that we use to expose as API. we are
exploring using Swagger to document the API. I am following the guide from
https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-Jersey-1.X-Project-Setup-1.5#configure-and-initialize-swagger
to generate the Swagger definition.
The servlet I configure failed to be initialised due to the error '
com.sun.jersey.api.container.ContainerException:Method, public
javax.ws.rs.core.Response
io.swagger.jaxrs.listing.AcceptHeaderApiListingResource.getListingYaml(javax.ws.rs.core.Application,javax.servlet.ServletConfig,javax.ws.rs.core.HttpHeaders,javax.ws.rs.core.UriInfo),
annotated with GET of resource, class
io.swagger.jaxrs.listing.AcceptHeaderApiListingResource, is not recognized
as valid Java method annotated with @HttpMethod.'
Can I know what could be the issue? I have included my servlet
configuration as well (see the last section). thanks!
*Full stack trace*
weblogic.application.ModuleException: [HTTP:101216]Servlet:
"swaggerTesting" failed to preload on startup in Web application: "Online".
com.sun.jersey.api.container.ContainerException: Method, public
javax.ws.rs.core.Response
io.swagger.jaxrs.listing.AcceptHeaderApiListingResource.getListingYaml(javax.ws.rs.core.Application,javax.servlet.ServletConfig,javax.ws.rs.core.HttpHeaders,javax.ws.rs.core.UriInfo),
annotated with GET of resource, class
io.swagger.jaxrs.listing.AcceptHeaderApiListingResource, is not recognized
as valid Java method annotated with @HttpMethod.
at com.sun.jersey.server.impl.model.method.ResourceHttpMethod.<init>(
ResourceHttpMethod.java:92)
at com.sun.jersey.server.impl.model.method.ResourceHttpMethod.<init>(
ResourceHttpMethod.java:69)
at com.sun.jersey.server.impl.model.method.ResourceHttpMethod.<init>(
ResourceHttpMethod.java:61)
at com.sun.jersey.server.impl.model.ResourceClass.processMethods(
ResourceClass.java:311)
at com.sun.jersey.server.impl.model.ResourceClass.<init>(
ResourceClass.java:133)
at
com.sun.jersey.server.impl.application.WebApplicationImpl.newResourceClass(
WebApplicationImpl.java:554)
at
com.sun.jersey.server.impl.application.WebApplicationImpl.getResourceClass(
WebApplicationImpl.java:517)
at
com.sun.jersey.server.impl.application.WebApplicationImpl.processRootResources(
WebApplicationImpl.java:1147)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(
WebApplicationImpl.java:912)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(
WebApplicationImpl.java:589)
at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(
ServletContainer.java:403)
at
com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(
ServletContainer.java:252)
at com.sun.jersey.spi.container.servlet.WebComponent.load(
WebComponent.java:550)
at com.sun.jersey.spi.container.servlet.WebComponent.init(
WebComponent.java:201)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(
ServletContainer.java:307)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(
ServletContainer.java:470)
at javax.servlet.GenericServlet.init(GenericServlet.java:240)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(
StubSecurityHelper.java:299)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(
StubSecurityHelper.java:250)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(
AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.StubSecurityHelper.initServletInstance(
StubSecurityHelper.java:94)
at weblogic.servlet.internal.StubSecurityHelper.createServlet(
StubSecurityHelper.java:82)
at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(
StubLifecycleHelper.java:74)
at weblogic.servlet.internal.StubLifecycleHelper.<init>(
StubLifecycleHelper.java:60)
at weblogic.servlet.internal.StubLifecycleHelper.<init>(
StubLifecycleHelper.java:34)
at weblogic.servlet.internal.ServletStubImpl.initStubLifecycleHelper(
ServletStubImpl.java:624)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(
ServletStubImpl.java:565)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(
WebAppServletContext.java:1874)
at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(
WebAppServletContext.java:1848)
com.sun.jersey.api.container.ContainerException:Method, public
javax.ws.rs.core.Response
io.swagger.jaxrs.listing.AcceptHeaderApiListingResource.getListingYaml(javax.ws.rs.core.Application,javax.servlet.ServletConfig,javax.ws.rs.core.HttpHeaders,javax.ws.rs.core.UriInfo),
annotated with GET of resource, class
io.swagger.jaxrs.listing.AcceptHeaderApiListingResource, is not recognized
as valid Java method annotated with @HttpMethod.
at com.sun.jersey.server.impl.model.method.ResourceHttpMethod.<init>(
ResourceHttpMethod.java:92)
at com.sun.jersey.server.impl.model.method.ResourceHttpMethod.<init>(
ResourceHttpMethod.java:69)
at com.sun.jersey.server.impl.model.method.ResourceHttpMethod.<init>(
ResourceHttpMethod.java:61)
at com.sun.jersey.server.impl.model.ResourceClass.processMethods(
ResourceClass.java:311)
at com.sun.jersey.server.impl.model.ResourceClass.<init>(
ResourceClass.java:133)
Truncated. see log file for complete stack trace
*Web.xml configuration*
<servlet>
<servlet-name>swaggerTesting</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>
com.fapi.online.resources;com.fapi.online.provider;org.codehaus.jackson.jaxrs;io.swagger.jaxrs.json;io.swagger.jaxrs.listing
</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name
>
<param-value>
com.sun.jersey.api.container.filter.GZIPContentEncodingFilter;com.starhub.fapi.online.security.CustomRequestFilter
</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerResponseFilters</
param-name>
<param-value>
com.sun.jersey.api.container.filter.GZIPContentEncodingFilter;com.starhub.fapi.online.security.CrossDomainFilter
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>swaggerTesting</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Jersey2Config</servlet-name>
<servlet-class>io.swagger.jaxrs.config.DefaultJaxrsConfig</
servlet-class>
<init-param>
<param-name>api.version</param-name>
<param-value>15.0.0</param-value>
</init-param>
<init-param>
<param-name>swagger.api.title</param-name>
<param-value>Online</param-value>
</init-param>
<init-param>
<param-name>swagger.api.basepath</param-name>
<param-value>http://localhost:7001/Online/api</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
--
You received this message because you are subscribed to the Google Groups
"Swagger" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.