Thanks for the quick response and guidance Ron.  Definitely made some great 
progress.  I'm now getting a swagger.json that looks like:

{"swagger":"2.0","info":{"version":"1.0","title":""},"host":"localhost:8080","basePath":"/rest/sample","schemes":["http"]}

Lacks the actual information about my service even though I have it 
annotated in my original code as visible in the snippet above.  Any 
thoughts on why that may be?  I modified my web.xml as follows:

  <display-name>swaggerRest</display-name>
  
  <context-param>
    <param-name>contextParam</param-name>
    <param-value>contextParamValue</param-value>
  </context-param>
  
  <servlet>
    <servlet-name>CXFServlet</servlet-name>
    <servlet-class>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet
</servlet-class>
    <init-param>
      <param-name>jaxrs.serviceClasses</param-name>
      <param-value>io.swagger.jaxrs.listing.ApiListingResource, 
swaggerRest.HelloService</param-value>
    </init-param>
    <init-param>
      <param-name>jaxrs.providers</param-name>
      <param-value>io.swagger.jaxrs.listing.SwaggerSerializers</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>


  <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>1.0</param-value>
    </init-param>
    <init-param>
      <param-name>swagger.api.basepath</param-name>
      <param-value>http://localhost:8080/rest/sample</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>


  <servlet-mapping>
    <servlet-name>CXFServlet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>


On Thursday, August 4, 2016 at 4:38:57 PM UTC-6, Ron wrote:
>
> So for CXF 2.7 I *think* swagger-core could work out of the box.
>
> To be honest, I don’t know exactly what the internal integration CXF has 
> with swagger-core provides, though I know they’ve worked on it to hook up 
> nicely with CXF so it should be easier.
>
>  
>
> For swagger-core we have a sample that shows how to integrate it with a 
> Spring-based CXF application - 
> https://github.com/swagger-api/swagger-samples/tree/master/java/java-jaxrs-cxf
>  
> but not one for Non-Spring one.
>
> Based on your knowledge of other frameworks, you can look at the 
> integrations with them and figure out what steps you need to take - 
> https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-JAX-RS-Project-Setup-1.5.X
> .
>
> In short, you need to:
>
> 1.       Add the dependencies (in your case, it would be swagger-jaxrs)
>
> 2.       Register these two classes as JAX-RS resources:
>
> a.       io.swagger.jaxrs.listing.ApiListingResource
>
> b.       io.swagger.jaxrs.listing.SwaggerSerializers
>
> 3.       Set up the basic configuration of Swagger-core based on one of 
> the methods described in the wiki linked above.
>
>  
>
> Following that you’d need to add the various annotations to produce the 
> documentation.
>
>  
>
> The second instruction (registering the resources) is enough to get at 
> least a basic swagger.json output. It won’t describe anything without the 
> annotations, but it should give you a sense that you hooked it up in your 
> app properly.
>
> Since it’s just a JAX-RS resource like the rest, it will be found at the 
> context root you use for any other resource in your app.
>
>  
>
> If you’re having trouble getting to that point, provide more details as to 
> what you’re trying to access.
>
>  
>
>  
>
>  
>
>  
>
> *From: *<[email protected] <javascript:>> on behalf of Jeff 
> Davis <[email protected] <javascript:>>
> *Reply-To: *"[email protected] <javascript:>" <
> [email protected] <javascript:>>
> *Date: *Thursday, 4 August 2016 at 14:15
> *To: *Swagger <[email protected] <javascript:>>
> *Subject: *Re: Can't Generate swagger.json With CXFNonSpringJaxrsServlet
>
>  
>
> Ron, 
>
>  
>
> I'm indifferent to what I'm using so long as I can generate the 
> swagger.json.  Is there something I can use other that Swagger2Feature?
>
> On Thursday, August 4, 2016 at 3:10:21 PM UTC-6, Ron wrote: 
>
> Hi Jeff,
>
>  
>
> Since you’re using the Swagger2Feature, you could get better support for 
> it in the CXF mailing list as that’s their implementation for it.
>
>  
>
>  
>
>  
>
> *From: *<[email protected]> on behalf of Jeff Davis <
> [email protected]>
> *Reply-To: *"[email protected]" <
> [email protected]>
> *Date: *Thursday, 4 August 2016 at 13:47
> *To: *Swagger <[email protected]>
> *Subject: *Can't Generate swagger.json With CXFNonSpringJaxrsServlet
>
>  
>
> I am attempting to integrate swagger with a legacy REST service 
> implemented using an older version of CXF.  I've attempted several 
> configurations but can't get the swagger.json to generate.  Guidance on 
> getting this resolved is greatly appreciated.  Please see project code 
> below: 
>
>  
>
> *HelloService.java*
>
>  
>
> package swaggerRest;
>
> import javax.ws.rs.*;
> import io.swagger.annotations.Api;
> import io.swagger.annotations.ApiOperation;
>
> @Path("/sample")
> @Api(value = "/sample", description = "Sample REST for Swagger Testing")
> public class HelloService {
>  @GET
>  @Path("hello")
>  @ApiOperation(value = "Get hello message", response = String.class)
>  public String sayHello(){
>  return "Hello World";
>  }
> }
>
>  
>
> *web.xml*
>
>  
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns="
> http://java.sun.com/xml/ns/javaee"; xsi:schemaLocation="
> http://java.sun.com/xml/ns/javaee 
> http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"; id="WebApp_ID" version=
> "3.0">
>
>   <display-name>swaggerRest</display-name>
>   
>   <context-param>
>     <param-name>contextParam</param-name>
>     <param-value>contextParamValue</param-value>
>   </context-param>
>   
>   <servlet>
>     <servlet-name>CXFServlet</servlet-name>
>     <servlet-class>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet
> </servlet-class>
>     <init-param>
>       <param-name>jaxrs.serviceClasses</param-name>
>       <param-value>swaggerRest.HelloService</param-value>
>     </init-param>
>     <init-param>
>       <param-name>jaxrs.features</param-name>
>       <param-value>org.apache.cxf.jaxrs.swagger.Swagger2Feature 
> (basePath=/rest)</param-value>
>     </init-param>
>   </servlet>
>
>   <servlet-mapping>
>     <servlet-name>CXFServlet</servlet-name>
>     <url-pattern>/rest/*</url-pattern>
>   </servlet-mapping>
> </web-app>
>
>  
>
> *pom.xml*
>
>  
>
> <project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
> http://maven.apache.org/POM/4.0.0 
> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
>   <modelVersion>4.0.0</modelVersion>
>   <groupId>com.test</groupId>
>   <artifactId>swaggerRest</artifactId>
>   <version>0.0.1-SNAPSHOT</version>
>   <packaging>war</packaging>
>   
>   <dependencies>
>     <!-- Apache CXF Dependencies -->
>     <dependency>
>          <groupId>org.apache.cxf</groupId>
>
>       <artifactId>cxf-rt-frontend-jaxrs</artifactId>
>       <version>2.7.14</version>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.cxf</groupId>
>       <artifactId>cxf-rt-transports-http</artifactId>
>       <version>2.7.14</version>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.cxf</groupId>
>       <artifactId>cxf-rt-rs-extension-providers</artifactId>
>       <version>2.7.14</version>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.cxf</groupId>
>       <artifactId>cxf-rt-rs-service-description</artifactId>
>       <version>3.1.7</version>
>     </dependency>
>     <dependency>
>       <groupId>org.codehaus.jackson</groupId>
>       <artifactId>jackson-jaxrs</artifactId>
>       <version>1.1.1</version>
>     </dependency>  
>   
>     <!-- SWAGGER -->
>     <dependency>
>         <groupId>io.swagger</groupId>
>         <artifactId>swagger-jaxrs</artifactId>
>         <version>1.5.8</version>
>     </dependency>
>     <dependency>
>       <groupId>io.swagger</groupId>
>       <artifactId>swagger-annotations</artifactId>
>       <version>1.5.9</version>
>     </dependency>
>     <dependency>
>         <groupId>org.webjars</groupId>
>         <artifactId>swagger-ui</artifactId>
>         <version>2.1.4</version>
>     </dependency>
>     <dependency>
>         <groupId>org.slf4j</groupId>
>         <artifactId>slf4j-api</artifactId>
>         <version>1.7.21</version>
>     </dependency>
>     <dependency>
>         <groupId>org.slf4j</groupId>
>         <artifactId>slf4j-simple</artifactId>
>         <version>1.7.21</version>
>     </dependency> 
>     <dependency>
>       <groupId>org.apache.cxf</groupId>
>       <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
>       <version>3.1.7</version>
>     </dependency> 
>   </dependencies>
>  
>   <build>
>     <sourceDirectory>src</sourceDirectory>
>     <plugins>
>       <plugin>
>         <artifactId>maven-compiler-plugin</artifactId>
>         <version>3.5.1</version>
>         <configuration>
>           <source>1.8</source>
>           <target>1.8</target>
>         </configuration>
>       </plugin>
>       <plugin>
>         <artifactId>maven-war-plugin</artifactId>
>         <version>2.6</version>
>         <configuration>
>           <warSourceDirectory>WebContent</warSourceDirectory>
>           <failOnMissingWebXml>false</failOnMissingWebXml>
>         </configuration>
>       </plugin>
>     </plugins>
>   </build>
> </project>
>
>  
>
> -- 
> 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.
>
> -- 
> 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] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>

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