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.

Reply via email to