Author: buildbot
Date: Mon May 15 11:47:39 2017
New Revision: 1012255

Log:
Production update by buildbot for cxf

Modified:
    websites/production/cxf/content/cache/docs.pageCache
    websites/production/cxf/content/docs/jax-rs-jose.html
    websites/production/cxf/content/docs/swagger2feature.html

Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/cxf/content/docs/jax-rs-jose.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs-jose.html (original)
+++ websites/production/cxf/content/docs/jax-rs-jose.html Mon May 15 11:47:39 
2017
@@ -119,11 +119,11 @@ Apache CXF -- JAX-RS JOSE
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><p>&#160;</p><p>&#160;</p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1494593227750 {padding: 0px;}
-div.rbtoc1494593227750 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1494593227750 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1494848822919 {padding: 0px;}
+div.rbtoc1494848822919 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1494848822919 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1494593227750">
+/*]]>*/</style></p><div class="toc-macro rbtoc1494848822919">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#JAX-RSJOSE-Introduction">Introduction</a></li><li><a shape="rect" 
href="#JAX-RSJOSE-MavenDependencies">Maven Dependencies</a></li><li><a 
shape="rect" href="#JAX-RSJOSE-JavaandJCEPolicy">Java and JCE 
Policy&#160;</a></li><li><a shape="rect" 
href="#JAX-RSJOSE-JOSEOverviewandImplementation">JOSE Overview and 
Implementation</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#JAX-RSJOSE-JWAAlgorithms">JWA Algorithms</a></li><li><a shape="rect" 
href="#JAX-RSJOSE-JWKKeys">JWK Keys</a></li><li><a shape="rect" 
href="#JAX-RSJOSE-JWSSignature">JWS Signature</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#JAX-RSJOSE-SignatureandVerificationProviders">Signature and Verification 
Providers</a></li><li><a shape="rect" href="#JAX-RSJOSE-JWSCompact">JWS 
Compact</a></li><li><a shape="rect" href="#JAX-RSJOSE-JWSJSON">JWS 
JSON</a></li><li><a shape="rect" href="#JAX-RSJOSE-JWSwithDetachedContent">JWS 
with Detached Content</a></li><li><a shape="rect" 
href="#JAX-RSJOSE-JWSwithUnencodedPayload">JWS with Unencoded 
Payload</a></li></ul>
@@ -492,7 +492,7 @@ Payload:
       }
    ]
 }</pre>
-</div></div><p>The client code and server configuration is nearly identical to 
a code/configuration needed to set up JWS Compact filters as shown above, 
simply replace JwsWriterInterceptor/JwsClientResponseFilter with 
JwsJsonWriterInterceptor/JwsJsonClientResponseFilter in the client code, and 
JwsContainerRequestFilter/JwsContainerResponseFilter with 
JwsJsonContainerRequestFilter/JwsJsonContainerResponseFilter</p><h2 
id="JAX-RSJOSE-SigningandVerificationofHTTPAttachments">Signing and 
Verification of HTTP Attachments</h2><p>The signing and verification of HTTP 
request and response attachments is supported starting from CXF 
3.1.12.</p><p>This feature does not buffer the request and response attachment 
data and is completely streaming-'friendly'.</p><p>It depends on&#160;<a 
shape="rect" class="external-link" 
href="https://tools.ietf.org/html/rfc7515#appendix-F"; rel="nofollow">JWS with 
Detached Content</a> and&#160; <a shape="rect" class="external-link" 
href="https://tools.ietf.org/html
 /rfc7797" rel="nofollow">JWS with Unencoded Payload</a> options as well as on 
the newly introduced CXF <a shape="rect" 
href="http://cxf.apache.org/docs/jax-rs-multiparts.html#JAX-RSMultiparts-MultipartFilters";>multipart
 filters</a> and works as follows.</p><p>When request or response attachment 
parts are about to be submitted to the Multipart serialization provider, JWS 
Multipart Output Filter initializes a <a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsSignature.java";
 rel="nofollow">JWSSignature</a> object. Next every parts's output stream is 
replaced with the filtering output stream which updates the signature object on 
every write operation. Finally this multipart filter adds one more attachment 
part to the list of the attachments to be written - this part holds a reference 
to JWS Signature. When this last part is written, JWSSignature produces the 
signature
  bytes which are encoded using either JWS Compact or JWS JSON format, with the 
detached and unencoded content already being pushed to the output 
stream.</p><p>When the attachment parts are about to be read by the Multipart 
deserialization provider, their signature carried over in the last part will 
need to be verified. Just before the parts are about to be read in order to be 
made available to the application code, JWS Multipart Input Filter checks the 
last part and initializes a <a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsVerificationSignature.java";
 rel="nofollow">JWSVerificationSignature</a> object. Next for every attachment 
but the last one it replaces the input stream with the filtering input stream 
which updates the signature verification object on every read operation. Once 
all the data have been read it compares the calculated signature with the recei
 ved signature.</p><p>Note all of the multipart attachments parts can be 
secured this way but by default, unless filters set a 'supportSinglePartOnly' 
property to 'false', the attachments with more than one data part will be 
rejected. This is done to avoid some possible security side-effects when the 
receiving side starts processing the parts as soon as they become available, 
before all of the multipart payload has been read.</p><p>Here is the example 
showing how a Book object (represented as an XML attachment on the wire) can be 
secured.</p><p>Given this client code:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The client code and server configuration is nearly identical to 
a code/configuration needed to set up JWS Compact filters as shown above, 
simply replace JwsWriterInterceptor/JwsClientResponseFilter with 
JwsJsonWriterInterceptor/JwsJsonClientResponseFilter in the client code, and 
JwsContainerRequestFilter/JwsContainerResponseFilter with 
JwsJsonContainerRequestFilter/JwsJsonContainerResponseFilter</p><h2 
id="JAX-RSJOSE-SigningandVerificationofHTTPAttachments">Signing and 
Verification of HTTP Attachments</h2><p>The signing and verification of HTTP 
request and response attachments is supported starting from CXF 
3.1.12.</p><p>This feature does not buffer the request and response attachment 
data and is completely streaming-'friendly'.</p><p>It depends on&#160;<a 
shape="rect" class="external-link" 
href="https://tools.ietf.org/html/rfc7515#appendix-F"; rel="nofollow">JWS with 
Detached Content</a> and&#160; <a shape="rect" class="external-link" 
href="https://tools.ietf.org/html
 /rfc7797" rel="nofollow">JWS with Unencoded Payload</a> options as well as on 
the newly introduced CXF <a shape="rect" 
href="http://cxf.apache.org/docs/jax-rs-multiparts.html#JAX-RSMultiparts-MultipartFilters";>multipart
 filters</a> and works as follows.</p><p>When request or response attachment 
parts are about to be submitted to the Multipart serialization provider, JWS 
Multipart Output Filter (<a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/rs/security/jose-parent/jose-jaxrs/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/multipart/JwsMultipartClientRequestFilter.java";
 rel="nofollow">JwsMultipartClientRequestFilter</a> and/or <a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/rs/security/jose-parent/jose-jaxrs/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/multipart/JwsMultipartContainerResponseFilter.java";
 rel="nofollow">JwsMultipartContainerResponseFilter</a>) initializes a <a 
shape="rect" cla
 ss="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsSignature.java";
 rel="nofollow">JWSSignature</a> object. Next every parts's output stream is 
replaced with the filtering output stream which updates the signature object on 
every write operation. Finally this multipart filter adds one more attachment 
part to the list of the attachments to be written - this part holds a reference 
to JWS Signature. When this last part is written, JWSSignature produces the 
signature bytes which are encoded using either JWS Compact or JWS JSON format, 
with the detached and unencoded content already being pushed to the output 
stream.</p><p>When the attachment parts are about to be read by the Multipart 
deserialization provider, their signature carried over in the last part will 
need to be verified. Just before the parts are about to be read in order to be 
made available to the application code, JWS Multipa
 rt Input Filter (<a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/rs/security/jose-parent/jose-jaxrs/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/multipart/JwsMultipartContainerRequestFilter.java";
 rel="nofollow">JwsMultipartContainerRequestFilter</a> and/or <a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/rs/security/jose-parent/jose-jaxrs/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/multipart/JwsMultipartClientResponseFilter.java";
 rel="nofollow">JwsMultipartClientResponseFilter</a>) checks the last part and 
initializes a <a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsVerificationSignature.java";
 rel="nofollow">JWSVerificationSignature</a> object. Next for every attachment 
but the last one it replaces the input stream with the filtering input stream 
which updates the si
 gnature verification object on every read operation. Once all the data have 
been read it compares the calculated signature with the received 
signature.</p><p>Note when the attachments are accessed by the receiving 
application code, the read process will fail to complete if the validation 
fails. For example, if the application code copies a given part's InputStream 
to the disk then this copy operation will fail.</p><p>However, if the receiver 
starts acting immediately on the attachment's InputStream, for example, the 
attachment data returned from the service to the client are streamed to a UI 
display which can activate a script then it is important that a 
'<strong>bufferPayload</strong>' property is enabled on either <a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/rs/security/jose-parent/jose-jaxrs/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/multipart/JwsMultipartContainerRequestFilter.java";
 rel="nofollow">JwsMultipartContainerRequestF
 ilter</a> or <a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/blob/master/rt/rs/security/jose-parent/jose-jaxrs/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/multipart/JwsMultipartClientResponseFilter.java";
 rel="nofollow">JwsMultipartClientResponseFilter</a>. It will ensure that the 
data streams are validated first before the application gets an access to 
them.&#160;</p><p>Here is the example showing how a Book object (represented as 
an XML attachment on the wire) can be secured.</p><p>Given this client 
code:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">@Test
 public void testJwsJwkBookHMacMultipart() throws Exception {
     String address = "https://localhost:"; + PORT + "/jwsjwkhmacSinglePart";

Modified: websites/production/cxf/content/docs/swagger2feature.html
==============================================================================
--- websites/production/cxf/content/docs/swagger2feature.html (original)
+++ websites/production/cxf/content/docs/swagger2feature.html Mon May 15 
11:47:39 2017
@@ -118,11 +118,11 @@ Apache CXF -- Swagger2Feature
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><h1 
id="Swagger2Feature-Swagger2Feature">Swagger2Feature</h1><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1478879222735 {padding: 0px;}
-div.rbtoc1478879222735 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1478879222735 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1494848821953 {padding: 0px;}
+div.rbtoc1494848821953 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1494848821953 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1478879222735">
+/*]]>*/</style></p><div class="toc-macro rbtoc1494848821953">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Swagger2Feature-Swagger2Feature">Swagger2Feature</a></li><li><a 
shape="rect" href="#Swagger2Feature-Setup">Setup</a></li><li><a shape="rect" 
href="#Swagger2Feature-Properties">Properties</a></li><li><a shape="rect" 
href="#Swagger2Feature-ConfiguringProgramatically">Configuring 
Programatically</a></li><li><a shape="rect" 
href="#Swagger2Feature-ConfiguringinSpring">Configuring in 
Spring</a></li><li><a shape="rect" 
href="#Swagger2Feature-ConfiguringinBlueprint">Configuring in 
Blueprint</a></li><li><a shape="rect" 
href="#Swagger2Feature-ConfiguringinCXFNonSpringJaxrsServlet">Configuring in 
CXFNonSpringJaxrsServlet</a></li><li><a shape="rect" 
href="#Swagger2Feature-EnablinginSpringBoot">Enabling in Spring 
Boot</a></li><li><a shape="rect" 
href="#Swagger2Feature-AccessingSwaggerDocuments">Accessing Swagger 
Documents</a></li><li><a shape="rect" 
href="#Swagger2Feature-EnablingSwaggerUI">Enabling Swagger UI</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#Swagger2Feature-AutomaticUIActivation">Automatic UI 
Activation</a></li><li><a shape="rect" 
href="#Swagger2Feature-UnpackingSwaggerUIresources">Unpacking Swagger UI 
resources</a></li></ul>
 </li><li><a shape="rect" href="#Swagger2Feature-Samples">Samples</a></li></ul>
@@ -130,7 +130,7 @@ div.rbtoc1478879222735 li {margin-left:
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;
     &lt;artifactId&gt;cxf-rt-rs-service-description-swagger&lt;/artifactId&gt;
-    &lt;version&gt;3.1.7&lt;/version&gt;
+    &lt;version&gt;3.1.11&lt;/version&gt;
 &lt;/dependency&gt;
 
 </pre>
@@ -252,15 +252,15 @@ import org.apache.cxf.jaxrs.swagger.Swag
     &lt;/servlet-mapping&gt;
     
 &lt;/web-app&gt;</pre>
-</div></div><h1 id="Swagger2Feature-EnablinginSpringBoot">Enabling in Spring 
Boot</h1><p>See <a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/spring_boot";
 rel="nofollow">samples/jax_rs/spring_boot</a> and on how to create 
Swagger2Feature in a @Bean method and&#160;<a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/spring_boot_scan";
 rel="nofollow">samples/jax_rs/spring_boot_scan</a> on how to auto-enable 
it.</p><p>&#160;</p><h1 
id="Swagger2Feature-AccessingSwaggerDocuments">Accessing Swagger 
Documents</h1><p>When Swagger is enabled by Swagger feature, the Swagger 
documents will be available at the location URL constructed of the service 
endpoint location followed by /swagger.json or /swagger.yaml.</p><p>For 
example, lets assume a JAX-RS endpoint is published at 
'http://host:port/context/services/' where 'context' is a web ap
 plication context,&#160; "/services" is a servlet URL. In this case its 
Swagger documents are available at 
'http://host:port/context/services/swagger.json' and 
'http://host:port/context/services/swagger.yaml'.</p><p>Starting from CXF 3.1.7 
the CXF Services page will link to Swagger documents if Swagger2Feature is 
active.&#160;</p><p>In the above example, go 
to&#160;'<span>http://host:port/context/services/</span>services' and follow a 
Swagger link which will return a Swagger JSON document.</p><h1 
id="Swagger2Feature-EnablingSwaggerUI">Enabling Swagger UI</h1><p>First one 
needs to add the following</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><h1 id="Swagger2Feature-EnablinginSpringBoot">Enabling in Spring 
Boot</h1><p>See <a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/spring_boot";
 rel="nofollow">samples/jax_rs/spring_boot</a> and on how to create 
Swagger2Feature in a @Bean method and&#160;<a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/spring_boot_scan";
 rel="nofollow">samples/jax_rs/spring_boot_scan</a> on how to auto-enable 
it.</p><p>&#160;</p><h1 
id="Swagger2Feature-AccessingSwaggerDocuments">Accessing Swagger 
Documents</h1><p>When Swagger is enabled by Swagger feature, the Swagger 
documents will be available at the location URL constructed of the service 
endpoint location followed by /swagger.json or /swagger.yaml.</p><p>For 
example, lets assume a JAX-RS endpoint is published at 
'http://host:port/context/services/' where 'context' is a web ap
 plication context,&#160; "/services" is a servlet URL. In this case its 
Swagger documents are available at 
'http://host:port/context/services/swagger.json' and 
'http://host:port/context/services/swagger.yaml'.</p><p>Starting from CXF 3.1.7 
the CXF Services page will link to Swagger documents if Swagger2Feature is 
active.&#160;</p><p>In the above example, go 
to&#160;'<span>http://host:port/context/services/</span>services' and follow a 
Swagger link which will return a Swagger JSON document.</p><p>If <a 
shape="rect" class="external-link" 
href="https://github.com/swagger-api/swagger-ui/blob/master/README.md#cors-support";
 rel="nofollow">CORS support</a> is needed to access the definition from a 
Swagger UI on another host, the <a shape="rect" 
href="jax-rs-cors.html">CrossOriginResourceSharingFilter from 
cxf-rt-rs-security-cors</a> can be added.</p><h1 
id="Swagger2Feature-EnablingSwaggerUI">Enabling Swagger UI</h1><p>First one 
needs to add the following</p><div class="code panel pdl" styl
 e="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;dependency&gt;
     &lt;groupId&gt;org.webjars&lt;/groupId&gt;
     &lt;artifactId&gt;swagger-ui&lt;/artifactId&gt;
-    &lt;version&gt;2.1.8-M1&lt;/version&gt;
+    &lt;version&gt;2.2.10-1&lt;/version&gt;
 &lt;/dependency&gt;
 
 </pre>
-</div></div><h2 id="Swagger2Feature-AutomaticUIActivation">Automatic UI 
Activation</h2><p>This feature is available starting from CXF 3.1.7: Adding a 
Swagger UI Maven dependency is all what is needed to start accessing Swagger 
documents with the help of Swagger UI.</p><p>For example, lets assume a JAX-RS 
endpoint is published at 
'<span>http://host:port/context/services/</span>'.</p><p>Open the browser and 
go to 
'<span>http://host:port/context/services/</span>api-docs?/url=/swagger.json' 
which will return a Swagger UI page.</p><p>CXF Services page will also link to 
Swagger UI. Go 
to&#160;'<span>http://host:port/context/services/</span>services' and follow a 
Swagger link which will return a Swagger UI page.</p><p>See <a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2";
 rel="nofollow">samples/jax_rs/description_swagger2</a>,&#160;<a shape="rect" 
class="external-link" href="https://github
 
.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2_web"
 rel="nofollow">samples/jax_rs/description_swagger2_web</a>, <a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/spring_boot";
 rel="nofollow">samples/jax_rs/spring_boot</a> and <a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/spring_boot_scan";
 rel="nofollow">samples/jax_rs/spring_boot_scan</a>&#160;</p><p>Note that CXF 
OSGI endpoints can only depend on this feature starting from CXF 3.1.8.</p><h2 
id="Swagger2Feature-UnpackingSwaggerUIresources">Unpacking Swagger UI 
resources</h2><p>Up until CXF 3.1.7 unpacking Swagger UI resources into the 
local folder was the only option. It is demoed in <a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_
 swagger2_spring" rel="nofollow">samples/jax_rs/description_swagger2_spring</a> 
and <a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2_osgi";
 rel="nofollow">samples/jax_rs/description_swagger2_osgi</a>.</p><p>In CXF 
3.1.8: set Swagger2Feature 'supportSwaggerUi' property to 'false' to disable 
the automatic UI activation described in the previous section</p><h1 
id="Swagger2Feature-Samples">Samples</h1><p><span>CXF's distribution contains 
the following samples.</span></p><ul><li><a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger";
 rel="nofollow">samples/jax_rs/description_swagger</a>: Swagger 1.2 sample 
using SwaggerFeature programatically</li><li><a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swa
 gger2" rel="nofollow">samples/jax_rs/description_swagger2</a>:&#160;Swagger 
2.0 standalone sample using Swagger2Feature programatically</li><li><a 
shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2_spring";
 rel="nofollow">samples/jax_rs/description_swagger2_spring</a>:&#160;Swagger 
2.0 standalone sample using Swagger2Feature using Spring</li><li><a 
shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2_web";
 rel="nofollow">samples/jax_rs/description_swagger2_web</a>:&#160;Swagger 2.0 
web application sample using Swagger2Feature using Spring</li><li><a 
shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2_osgi";
 rel="nofollow">samples/jax_rs/description_swagger2_osgi</a>:&#160;Swagger 2.0 
OSGi application
  sample using Swagger2Feature using Blueprint<br clear="none"><br 
clear="none"></li></ul><p>&#160;</p></div>
+</div></div><p>The newest version 3.x of swagger-ui can also be used.</p><h2 
id="Swagger2Feature-AutomaticUIActivation">Automatic UI Activation</h2><p>This 
feature is available starting from CXF 3.1.7: Adding a Swagger UI Maven 
dependency is all what is needed to start accessing Swagger documents with the 
help of Swagger UI.</p><p>For example, lets assume a JAX-RS endpoint is 
published at '<span>http://host:port/context/services/</span>'.</p><p>Open the 
browser and go to 
'<span>http://host:port/context/services/</span>api-docs?/url=/swagger.json' 
which will return a Swagger UI page.</p><p>CXF Services page will also link to 
Swagger UI. Go 
to&#160;'<span>http://host:port/context/services/</span>services' and follow a 
Swagger link which will return a Swagger UI page.</p><p>See <a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2";
 rel="nofollow">samples/jax_rs/description_swagger2</a>,&#1
 60;<a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2_web";
 rel="nofollow">samples/jax_rs/description_swagger2_web</a>, <a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/spring_boot";
 rel="nofollow">samples/jax_rs/spring_boot</a> and <a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/spring_boot_scan";
 rel="nofollow">samples/jax_rs/spring_boot_scan</a>&#160;</p><p>Note that CXF 
OSGI endpoints can only depend on this feature starting from CXF 3.1.8.</p><h2 
id="Swagger2Feature-UnpackingSwaggerUIresources">Unpacking Swagger UI 
resources</h2><p>Up until CXF 3.1.7 unpacking Swagger UI resources into the 
local folder was the only option. It is demoed in <a shape="rect" 
class="external-link" href="https://github.com/apache/cxf/tree/mas
 ter/distribution/src/main/release/samples/jax_rs/description_swagger2_spring" 
rel="nofollow">samples/jax_rs/description_swagger2_spring</a> and <a 
shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2_osgi";
 rel="nofollow">samples/jax_rs/description_swagger2_osgi</a>.</p><p>In CXF 
3.1.8: set Swagger2Feature 'supportSwaggerUi' property to 'false' to disable 
the automatic UI activation described in the previous section</p><h1 
id="Swagger2Feature-Samples">Samples</h1><p><span>CXF's distribution contains 
the following samples.</span></p><ul><li><a shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger";
 rel="nofollow">samples/jax_rs/description_swagger</a>: Swagger 1.2 sample 
using SwaggerFeature programatically</li><li><a shape="rect" 
class="external-link" href="https://github.com/apache/cxf/tree/master
 /distribution/src/main/release/samples/jax_rs/description_swagger2" 
rel="nofollow">samples/jax_rs/description_swagger2</a>:&#160;Swagger 2.0 
standalone sample using Swagger2Feature programatically</li><li><a shape="rect" 
class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2_spring";
 rel="nofollow">samples/jax_rs/description_swagger2_spring</a>:&#160;Swagger 
2.0 standalone sample using Swagger2Feature using Spring</li><li><a 
shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2_web";
 rel="nofollow">samples/jax_rs/description_swagger2_web</a>:&#160;Swagger 2.0 
web application sample using Swagger2Feature using Spring</li><li><a 
shape="rect" class="external-link" 
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_swagger2_osgi";
 rel="nofollow">samples/jax_rs/des
 cription_swagger2_osgi</a>:&#160;Swagger 2.0 OSGi application sample using 
Swagger2Feature using Blueprint<br clear="none"><br 
clear="none"></li></ul><p>&#160;</p></div>
            </div>
            <!-- Content -->
          </td>


Reply via email to