You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Colm O hEigeartaigh (JIRA)" <ji...@apache.org> on 2018/06/15 12:02:00 UTC

[jira] [Commented] (CXF-7722) CXF Swagger2Feature does not show methods if context root is not empty.

    [ https://issues.apache.org/jira/browse/CXF-7722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16513726#comment-16513726 ] 

Colm O hEigeartaigh commented on CXF-7722:
------------------------------------------

This issue appears to be working correctly in CXF 3.2.5-SNAPSHOT, but it exists in CXF 3.1.16-SNAPSHOT. Is it an option to upgrade? CXF 3.1.x uses an older version of Swagger UI which might be causing the problem.

> CXF Swagger2Feature does not show methods if context root is not empty.
> -----------------------------------------------------------------------
>
>                 Key: CXF-7722
>                 URL: https://issues.apache.org/jira/browse/CXF-7722
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>         Environment: Eclipse Oxygen, Tomcat 8.0.32, CXF 3.1.11, Spring 4.3.9-RELEASE
>            Reporter: Dongfeng Lu
>            Priority: Major
>         Attachments: CxfSwaggerIssue_XML_Config.zip, Figure 1.png, Figure 2.png
>
>
> We are using CXF 3.1.11, the project is developed and deployed to Tomcat in Eclipse.
> We have been using CXF for a long time, and all of our REST services are configured via XML's <jaxrs:server>. We are trying to add Swagger2Feature to the project, and here is an example of a configuration file.
>  
> {code:java}
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans"
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>  xmlns:jaxrs="http://cxf.apache.org/jaxrs" xmlns:p="http://www.springframework.org/schema/p"
>  xmlns:c="http://www.springframework.org/schema/c" xmlns:context="http://www.springframework.org/schema/context"
>  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
>  http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
>  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
> <!-- Service beans -->
>  <bean id="restServiceOneServer" class="com.example.api.serverOne.impl.OneServerImpl" />
> <!-- Authentication wrappers -->
>  <bean id="restServiceOneServerAuth"
>  class="org.apache.cxf.interceptor.security.SecureAnnotationsInterceptor"
>  p:securedObject-ref="restServiceOneServer" />
> <!-- CXF Swagger2Feature -->
>  <bean id="swagger2Feature_oneServer" class="org.apache.cxf.jaxrs.swagger.Swagger2Feature" >
>  <property name="title" value="One Server" />
>  <property name="usePathBasedConfig" value="true"/>
>  </bean>
> <!-- REST server -->
>  <jaxrs:server
>  address="/oneServer" id="oneServerServiceREST">
>  <jaxrs:serviceBeans>
>  <ref bean="restServiceOneServer" />
>  </jaxrs:serviceBeans>
>  <jaxrs:features>
>  <ref bean="swagger2Feature_oneServer" />
>  </jaxrs:features>
>  <jaxrs:providers>
>  <ref bean="jsonProvider" />
>  <ref bean="wadlProvider" />
>  <bean class="org.apache.cxf.jaxrs.security.SimpleAuthorizingFilter"
>  p:interceptor-ref="restServiceOneServerAuth" />
>  </jaxrs:providers>
>  </jaxrs:server>
> </beans>
> {code}
>  
> We deployed it to Tomcat in Eclipse under the context root "/example". Figure 1 shows the screenshot, which does not display any method.
> If we deploy it with an empty context root "", we see methods as shown in "Figure 2". This is a good, however, we do need use a non-empty context root, as we are building a WAR file, and that WAR file is supposed to work under any context root. How should we do that?
> The attached project has the code to reproduce the above finding. It is an ANT + Ivy project.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)