You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2017/09/12 19:09:50 UTC

svn commit: r1018074 [28/31] - in /websites/production/cxf/content: ./ 2008/04/28/ 2008/06/20/ 2008/10/23/ 2009/02/10/ 2009/08/04/ cache/ docs/

Modified: websites/production/cxf/content/dosgi-discovery-demo-page.html
==============================================================================
--- websites/production/cxf/content/dosgi-discovery-demo-page.html (original)
+++ websites/production/cxf/content/dosgi-discovery-demo-page.html Tue Sep 12 19:09:41 2017
@@ -32,6 +32,7 @@
 <link type="text/css" rel="stylesheet" href="/resources/highlighter/styles/shThemeCXF.css">
 
 <script src='/resources/highlighter/scripts/shCore.js'></script>
+<script src='/resources/highlighter/scripts/shBrushBash.js'></script>
 <script src='/resources/highlighter/scripts/shBrushJava.js'></script>
 <script>
   SyntaxHighlighter.defaults['toolbar'] = false;
@@ -124,7 +125,7 @@ Apache CXF -- DOSGi Discovery Demo page
 
 <p>The <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/discovery/interface/src/main/java/org/apache/cxf/dosgi/samples/discovery/DisplayService.java">Display Service interface</a> is as follows:</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;">public interface DisplayService {
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">public interface DisplayService {
     boolean displayText(String text);
     String getID();
 }</pre>
@@ -133,7 +134,7 @@ Apache CXF -- DOSGi Discovery Demo page
 <h2 id="DOSGiDiscoveryDemopage-TheDisplayController(serviceconsumer)">The Display Controller (service consumer)</h2>
 <p>Let's start with the controller, which is a consumer to the the DisplayService. It's simply using an OSGi ServiceTracker to consume all DisplayService services. It also uses a Scheduled Executor to periodically send test messages to all registered displays. Here's the <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/discovery/client/src/main/java/org/apache/cxf/dosgi/samples/discovery/consumer/Activator.java">Activator</a>:</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;">public class Activator implements BundleActivator {
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">public class Activator implements BundleActivator {
     private ServiceTracker tracker;
     private Map&lt;DisplayService, String&gt; displays = new ConcurrentHashMap&lt;DisplayService, String&gt;();
 
@@ -169,7 +170,7 @@ Apache CXF -- DOSGi Discovery Demo page
 
 <h3 id="DOSGiDiscoveryDemopage-Runningthecontroller">Running the controller</h3>
 <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;">
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
 -&gt; install http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-discovery-interface/1.2/cxf-dosgi-ri-samples-discovery-interface-1.2.jar
 -&gt; start http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-discovery-client/1.2/cxf-dosgi-ri-samples-discovery-client-1.2.jar
 
@@ -188,7 +189,7 @@ START LEVEL 1
 </div></div>
 <p>After a brief moment, you will see messages appearing on the controller side. These are the messages sent to all registered displays. Since there are none, they won't show up anywhere just yet.</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;">Sending text to displays: some text 1
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">Sending text to displays: some text 1
 Sending text to displays: some text 2
 Sending text to displays: some text 3
 ...</pre>
@@ -197,7 +198,7 @@ Sending text to displays: some text 3
 <h2 id="DOSGiDiscoveryDemopage-TheRemoteDisplays(serviceimplementation)">The Remote Displays (service implementation)</h2>
 <p>Every Display in the system registers a <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/discovery/impl/src/main/java/org/apache/cxf/dosgi/samples/discovery/impl/DisplayServiceImpl.java">Display Service implementation</a> in the local Service Registry. This happens in the <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/discovery/impl/src/main/java/org/apache/cxf/dosgi/samples/discovery/impl/Activator.java">Activator</a> of the service implementation bundle. It adds the properties to make the service available remotely as well:</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;">public class Activator implements BundleActivator {
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">public class Activator implements BundleActivator {
     private ServiceRegistration reg;
 
     public void start(BundleContext bc) throws Exception {        
@@ -223,7 +224,7 @@ Sending text to displays: some text 3
 
 <p>Once the provider side bundles are started:</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;">-&gt; install http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-discovery-interface/1.2/cxf-dosgi-ri-samples-discovery-interface-1.2.jar
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">-&gt; install http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-discovery-interface/1.2/cxf-dosgi-ri-samples-discovery-interface-1.2.jar
 -&gt; start http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-discovery-impl/1.2/cxf-dosgi-ri-samples-discovery-impl-1.2.jar
 
 -&gt; ps
@@ -241,7 +242,7 @@ START LEVEL 1
 </div></div>
 <p>You will start seeing the messages appear on the remote display:</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;">DisplayService [myhost:1816]: some text 145
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">DisplayService [myhost:1816]: some text 145
 DisplayService [myhost:1816]: some text 146
 ... </pre>
 </div></div>
@@ -251,7 +252,7 @@ DisplayService [myhost:1816]: some text
 
 <p>ZooKeeper comes with a client program (<code>zkCli</code>) that allows you to look in the ZooKeeper virtual filesystem. All of the OSGi-registered services are stored in a virtual directory under the node <code>/osgi/service_registry</code>. The virtual directory name is based on the fully qualified name of the interface that is implemented by the remote service. So in the case of the DisplayService the remote service metadata is stored under <code>/osgi/service_registry/org/apache/cxf/dosgi/samples/discovery/DisplayService</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;">
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
 $ bin/zkCli localhost:2181
 
 -&gt; ls /osgi/service_registry/org/apache/cxf/dosgi/samples/discovery/DisplayService
@@ -262,7 +263,7 @@ Processing ls
 <p>Every instance of a remote service that implements the org.apache.cxf.dosgi.samples.discovery.DisplayService interface will get a virtual file in this location. The virtual file is only there for the lifetime of the service. If you stop the service, or kill the OSGi container that hosts it, its associated file in this directory will disappear.<br clear="none">
 You can obtain the information stored in the node, to get an idea of the metadata that's being communicated using the Discovery system:</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;">-&gt; get /osgi/service_registry/org/apache/cxf/dosgi/samples/discovery/DisplayService/myhost#52807##display
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">-&gt; get /osgi/service_registry/org/apache/cxf/dosgi/samples/discovery/DisplayService/myhost#52807##display
 &lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;endpoint-descriptions xmlns="http://www.osgi.org/xmlns/rsa/v1.0.0"&gt;
   &lt;endpoint-description&gt;

Modified: websites/production/cxf/content/dosgi-discovery.html
==============================================================================
--- websites/production/cxf/content/dosgi-discovery.html (original)
+++ websites/production/cxf/content/dosgi-discovery.html Tue Sep 12 19:09:41 2017
@@ -32,6 +32,7 @@
 <link type="text/css" rel="stylesheet" href="/resources/highlighter/styles/shThemeCXF.css">
 
 <script src='/resources/highlighter/scripts/shCore.js'></script>
+<script src='/resources/highlighter/scripts/shBrushBash.js'></script>
 <script src='/resources/highlighter/scripts/shBrushJava.js'></script>
 <script>
   SyntaxHighlighter.defaults['toolbar'] = false;
@@ -122,7 +123,7 @@ Apache CXF -- DOSGi Discovery
 
 <p>Once you have ZooKeeper installed (the current version used is 3.2.1), run its server:</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;">$ bin/zkServer
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">$ bin/zkServer
 ... log messages ...
 2009-06-10 13:23:27,288 - INFO  [main:FileTxnSnapLog@198] - Snapshotting: 0
 </pre>
@@ -131,7 +132,7 @@ Apache CXF -- DOSGi Discovery
 
 <p>You can check that all is well by running the client program:</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;">$ bin/zkCli -server localhost:2181
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">$ bin/zkCli -server localhost:2181
 --&gt; ls /
 Processing ls
 [zookeeper]</pre>
@@ -144,7 +145,7 @@ Processing ls
 <h3 id="DOSGiDiscovery-SingleBundleDistribution">Single Bundle Distribution</h3>
 <p>When you are using the CXF-DOSGi Single-Bundle distro, you automatically get the Discovery functionality with that.</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;">
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
 -&gt; install http://repo1.maven.org/maven2/org/osgi/org.osgi.compendium/4.2.0/org.osgi.compendium-4.2.0.jar
 Bundle ID: 4
 -&gt; install http://www.apache.org/dist/cxf/dosgi/1.1/cxf-dosgi-ri-singlebundle-distribution-1.1.jar
@@ -178,7 +179,7 @@ START LEVEL 1
 
 <p>An easy way to set the configuration, it by placing a file called <code>org.apache.cxf.dosgi.discovery.zookeeper.cfg</code> in the load directory created by the FileInstall bundle with the following content:</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;">
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
 zookeeper.host = 127.0.0.1
 </pre>
 </div></div>
@@ -186,7 +187,7 @@ zookeeper.host = 127.0.0.1
 
 <p>You can always check the configuration of the ZooKeeper client by looking at the ManagedService registered by the CXF/Discovery bundle:</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;">-&gt; services 5
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">-&gt; services 5
 
 Distributed OSGi Zookeeper-Based Discovery Single-Bundle Distribution (6) provides:
 -----------------------------------------------------------------------------------

Modified: websites/production/cxf/content/dosgi-ds-demo-page.html
==============================================================================
--- websites/production/cxf/content/dosgi-ds-demo-page.html (original)
+++ websites/production/cxf/content/dosgi-ds-demo-page.html Tue Sep 12 19:09:41 2017
@@ -32,8 +32,9 @@
 <link type="text/css" rel="stylesheet" href="/resources/highlighter/styles/shThemeCXF.css">
 
 <script src='/resources/highlighter/scripts/shCore.js'></script>
-<script src='/resources/highlighter/scripts/shBrushJava.js'></script>
+<script src='/resources/highlighter/scripts/shBrushBash.js'></script>
 <script src='/resources/highlighter/scripts/shBrushXml.js'></script>
+<script src='/resources/highlighter/scripts/shBrushJava.js'></script>
 <script>
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -126,7 +127,7 @@ Declarative Services is similar to Sprin
 <span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="dosgi-ds-demo-page.data/dosgi_cxf_ds.png"></span><br clear="none">
 The <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/ds/interface/src/main/java/org/apache/cxf/dosgi/samples/ds/AdderService.java">Adder Service interface</a> is as follows:</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;">public interface AdderService {
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">public interface AdderService {
     int add(int a, int b);
 }</pre>
 </div></div>
@@ -137,7 +138,7 @@ The <a shape="rect" class="external-link
 
 <p>In the <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/ds/impl/src/main/resources/OSGI-INF/component.xml"><code>OSGI-INF/component.xml</code></a> file the AdderServiceImpl is instantiated and registered with the OSGi service registry with the distribution properties. These properties instruct. Distributed OSGi into making the service available on <a shape="rect" class="external-link" href="http://localhost:9090/adder" rel="nofollow">http://localhost:9090/adder</a>.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="DS Service Sample"&gt;
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">&lt;scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="DS Service Sample"&gt;
   &lt;implementation class="org.apache.cxf.dosgi.samples.ds.impl.AdderServiceImpl"/&gt;
 
   &lt;property name="service.exported.interfaces" value="*" /&gt;
@@ -151,7 +152,7 @@ The <a shape="rect" class="external-link
 </div></div>
 <p>Note that the <code>META-INF/MANIFEST.MF</code> file needs to contain a special DS header that tells the system where to find this file. In case of this demo, this header is added by the Maven build system. The header used by the demo is:</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;">  Service-Component: OSGI-INF/component.xml</pre>
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">  Service-Component: OSGI-INF/component.xml</pre>
 </div></div>
 
 <p>So let's install the server side in Equinox, together with the Equinox DS implementation. You can do this from the Equinox command line, but in this document I'll launch Equinox from within Eclipse (last tried with Eclipse 3.6).<br clear="none">
@@ -165,7 +166,7 @@ Next I'll create an OSGi Framework launc
 
 <p>Now run the OSGi container, you will get a setup like this:</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;">osgi&gt; ss
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">osgi&gt; ss
 
 Framework is launched.
 
@@ -178,7 +179,7 @@ id	State       Bundle
 </div></div>
 <p>Now I can install the DOSGi DS bundles in the OSGi container directly from the maven repository.</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;">osgi&gt; install http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-ds-interface/1.2/cxf-dosgi-ri-samples-ds-interface-1.2.jar
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">osgi&gt; install http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-ds-interface/1.2/cxf-dosgi-ri-samples-ds-interface-1.2.jar
 Bundle id is 5
 
 osgi&gt; install http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-ds-impl/1.2/cxf-dosgi-ri-samples-ds-impl-1.2.jar
@@ -195,7 +196,7 @@ osgi&gt; start 6
 
 <p>The service consumer is also created using DS. DS creates an AdderConsumer component which is injected with a reference to the remote AdderService. Like in Spring, the injection is done by DS, which makes the code nice and simple. When the injection is done, the start() method is called.</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;">public class AdderConsumer {
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">public class AdderConsumer {
     private AdderService adder;
 
     public void bindAdder(AdderService a) {
@@ -213,18 +214,18 @@ osgi&gt; start 6
 </div></div>
 <p>The client side bundle contains an <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/ds/client/src/main/resources/OSGI-INF/component.xml"><code>OSGI-INF/component.xml</code></a> which drives the component creation and injection:</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start"&gt;
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">&lt;scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start"&gt;
    &lt;implementation class="org.apache.cxf.dosgi.samples.ds.consumer.AdderConsumer"/&gt;
    &lt;reference interface="org.apache.cxf.dosgi.samples.ds.AdderService" name="AdderService" cardinality="1..1" policy="dynamic" bind="bindAdder" unbind="unbindAdder"/&gt;
 &lt;/scr:component&gt;</pre>
 </div></div>
 <p>As on the service provider side, the client side bundle needs to contain the DS header in the <code>META-INF/MANIFEST.MF</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;">  Service-Component: OSGI-INF/component.xml</pre>
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">  Service-Component: OSGI-INF/component.xml</pre>
 </div></div>
 <p>As in the Greeter demo, the client side needs to be configured to know where the remote service actually is. This is one in the <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/ds/client/src/main/resources/OSGI-INF/remote-service/remote-services.xml"><code>OSGI-INF/remote-service/remote-services.xml</code></a> file:</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;endpoint-descriptions xmlns="http://www.osgi.org/xmlns/rsa/v1.0.0"&gt;
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">&lt;endpoint-descriptions xmlns="http://www.osgi.org/xmlns/rsa/v1.0.0"&gt;
   &lt;endpoint-description&gt;
     &lt;property name="objectClass"&gt;
       &lt;array&gt;
@@ -240,7 +241,7 @@ osgi&gt; start 6
 
 
 <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;">osgi&gt; install http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-ds-interface/1.2/cxf-dosgi-ri-samples-ds-interface-1.2.jar
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">osgi&gt; install http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-ds-interface/1.2/cxf-dosgi-ri-samples-ds-interface-1.2.jar
 Bundle id is 5
 
 osgi&gt; install http://repo1.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-ds-client/1.2/cxf-dosgi-ri-samples-ds-client-1.2.jar
@@ -252,7 +253,7 @@ Using adder service: 1 + 1 = 2</pre>
 </div></div>
 <p>The remote adder service has now been invoked. You will see the following line on the server side Equinox window:</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;">Adder service invoked: 1 + 1 = 2</pre>
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">Adder service invoked: 1 + 1 = 2</pre>
 </div></div>
 
 <h3 id="DOSGiDSDemopage-ConsumerNote">Consumer Note</h3>

Modified: websites/production/cxf/content/dosgi-multi-bundle-distribution.html
==============================================================================
--- websites/production/cxf/content/dosgi-multi-bundle-distribution.html (original)
+++ websites/production/cxf/content/dosgi-multi-bundle-distribution.html Tue Sep 12 19:09:41 2017
@@ -32,6 +32,7 @@
 <link type="text/css" rel="stylesheet" href="/resources/highlighter/styles/shThemeCXF.css">
 
 <script src='/resources/highlighter/scripts/shCore.js'></script>
+<script src='/resources/highlighter/scripts/shBrushBash.js'></script>
 <script src='/resources/highlighter/scripts/shBrushJava.js'></script>
 <script>
   SyntaxHighlighter.defaults['toolbar'] = false;
@@ -116,7 +117,7 @@ Apache CXF -- DOSGi Multi Bundle Distrib
 <p>Change directory to the felix framework main dir. Unpack the cxf dosgi distro there. Append the felix config from the distro to the felix config.properties. Start felix.</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;">
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
 tar -xzvf cxf-dosgi-ri-multibundle-distribution-1.4-SNAPSHOT-dir.tar.gz
 cat apache-cxf-dosgi-ri-1.4-SNAPSHOT/conf/felix.config.properties.append &gt;&gt; conf/config.properties
 java -jar bin/felix.jar
@@ -133,14 +134,14 @@ java -jar bin/felix.jar
 
 <p>At the end the <code>dosgi_conf/config.ini</code> file looks like this:</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;">org.ops4j.pax.web.session.timeout=30
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">org.ops4j.pax.web.session.timeout=30
 osgi.bundles=org.eclipse.osgi.services@start, \
 c:/apache-cxf-dosgi-ri-1.3/dosgi_bundles/geronimo-annotation_1.0_spec-1.1.1.jar@start, c:/apache-cxf-dosgi-ri-1.3/dosgi_bundles/geronimo-activation_1.1_spec-1.0.2.jar@start, 
 ... and so on ...</pre>
 </div></div>
 <p>Now start Equinox and verify that all bundles are in state Active</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;">
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
 java -jar plugins/org.eclipse.osgi_3.6.2.R36x_v20110210.jar -console -configuration dosgi_conf
 osgi&gt; ss
 </pre>

Modified: websites/production/cxf/content/dosgi-spring-dm-demo-page.html
==============================================================================
--- websites/production/cxf/content/dosgi-spring-dm-demo-page.html (original)
+++ websites/production/cxf/content/dosgi-spring-dm-demo-page.html Tue Sep 12 19:09:41 2017
@@ -32,8 +32,9 @@
 <link type="text/css" rel="stylesheet" href="/resources/highlighter/styles/shThemeCXF.css">
 
 <script src='/resources/highlighter/scripts/shCore.js'></script>
-<script src='/resources/highlighter/scripts/shBrushJava.js'></script>
+<script src='/resources/highlighter/scripts/shBrushBash.js'></script>
 <script src='/resources/highlighter/scripts/shBrushXml.js'></script>
+<script src='/resources/highlighter/scripts/shBrushJava.js'></script>
 <script>
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -123,7 +124,7 @@ Apache CXF -- DOSGi Spring-DM Demo page
 
 <p>The <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/spring_dm/interface/src/main/java/org/apache/cxf/dosgi/samples/springdm/DinnerService.java">Dinner Service interface</a> is as follows:</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;">public interface DinnerService {
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">public interface DinnerService {
     List&lt;Restaurant&gt; findRestaurants(String searchQuery);
 }</pre>
 </div></div>
@@ -134,7 +135,7 @@ Apache CXF -- DOSGi Spring-DM Demo page
 
 <p>The interesting bit is in the <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/spring_dm/impl/src/main/resources/META-INF/spring/spring.xml"><code>META-INF/spring/spring.xml</code></a> file. This file creates the DinnerServiceImpl bean and registers it with the OSGi Service Registry. It also sets the <code>osgi.remote.interfaces</code> property on the service to mark is as suitable for remoting. Here are the important parts of the <code>spring.xml</code> file:</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
 &lt;beans xmlns:osgi="..."&gt;
   &lt;osgi:service interface="org.apache.cxf.dosgi.samples.springdm.DinnerService"&gt;
     &lt;osgi:service-properties&gt;
@@ -150,7 +151,7 @@ Apache CXF -- DOSGi Spring-DM Demo page
 
 <p>In this example, the bundles are installed in Felix.</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;">-&gt; start http://repo2.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-spring-dm-interface/1.2/cxf-dosgi-ri-samples-spring-dm-interface-1.2.jar
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">-&gt; start http://repo2.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-spring-dm-interface/1.2/cxf-dosgi-ri-samples-spring-dm-interface-1.2.jar
 -&gt; start http://repo2.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-spring-dm-impl/1.2/cxf-dosgi-ri-samples-spring-dm-impl-1.2.jar
 ... log messages may appear ...
 -&gt; ps
@@ -169,7 +170,7 @@ START LEVEL 32
 <h2 id="DOSGiSpring-DMDemopage-TheDinnerServiceConsumer">The Dinner Service Consumer</h2>
 <p>As on the remote service provider side, the service consumer is also created using spring. Spring creates a <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/spring_dm/client/src/main/java/org/apache/cxf/dosgi/samples/springdm/client/DinnerServiceConsumer.java">DinnerServiceConsumer</a> bean which is injected with the a proxy to the remote DinnerService. The injection is all done by Spring, which makes the code extremely simple. When Spring is done injecting, it calls the <code>start()</code> method where the remote service is used. </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;">public class DinnerServiceConsumer {
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">public class DinnerServiceConsumer {
     DinnerService dinnerService;
     
     public void setDinnerService(DinnerService ds) {
@@ -188,7 +189,7 @@ START LEVEL 32
 
 <p>The client side <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/spring_dm/client/src/main/resources/META-INF/spring/client-spring.xml"><code>META-INF/spring/spring.xml</code></a> file is also really simple. It simply declares a dependency on the OSGi DinnerService, which is injected into the DinnerServiceConsumer bean. </p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">
 &lt;beans&gt;
   &lt;osgi:reference id="dinnerServiceRef" interface="org.apache.cxf.dosgi.samples.springdm.DinnerService"/&gt;
   
@@ -201,7 +202,7 @@ START LEVEL 32
 </div></div>
 <p>Like in the Greeter demo, the client side needs to be configured to know where the remote service actually is. When using a Discovery system this configuration is provided dynamically via Discovery, see the <a shape="rect" href="dosgi-discovery-demo-page.html">DOSGi Discovery Demo page</a>. In this demo this information is provided statically in a <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/cxf/dosgi/trunk/samples/spring_dm/client/src/main/resources/OSGI-INF/remote-service/remote-services.xml"><code>OSGI-INF/remote-service/remote-services.xml</code></a> file. </p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;endpoint-descriptions xmlns="http://www.osgi.org/xmlns/rsa/v1.0.0"&gt;
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">&lt;endpoint-descriptions xmlns="http://www.osgi.org/xmlns/rsa/v1.0.0"&gt;
   &lt;endpoint-description&gt;
     &lt;property name="objectClass"&gt;
       &lt;array&gt;
@@ -215,7 +216,7 @@ START LEVEL 32
 </div></div>
 <p>Install and run the consumer side of the demo in a separate Felix instance:</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;">-&gt; start http://repo2.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-spring-dm-interface/1.2/cxf-dosgi-ri-samples-spring-dm-interface-1.2.jar
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">-&gt; start http://repo2.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-spring-dm-interface/1.2/cxf-dosgi-ri-samples-spring-dm-interface-1.2.jar
 -&gt; start http://repo2.maven.org/maven2/org/apache/cxf/dosgi/samples/cxf-dosgi-ri-samples-spring-dm-client/1.2/cxf-dosgi-ri-samples-spring-dm-client-1.2.jar
 ... log messages may appear, at some point the consumer will make an invocation on the remote service, you will see:
 Found the following restaurants:
@@ -225,7 +226,7 @@ Found the following restaurants:
 </div></div>
 <p>And on the service provider side, you can see that it has been invoked as the following message appears: </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;">-&gt; Hey! Someone's using the Dinner Service! Query: nice and not too expensive!</pre>
+<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">-&gt; Hey! Someone's using the Dinner Service! Query: nice and not too expensive!</pre>
 </div></div></div>
            </div>
            <!-- Content -->

Modified: websites/production/cxf/content/download.html
==============================================================================
--- websites/production/cxf/content/download.html (original)
+++ websites/production/cxf/content/download.html Tue Sep 12 19:09:41 2017
@@ -32,6 +32,7 @@
 <link type="text/css" rel="stylesheet" href="/resources/highlighter/styles/shThemeCXF.css">
 
 <script src='/resources/highlighter/scripts/shCore.js'></script>
+<script src='/resources/highlighter/scripts/shBrushBash.js'></script>
 <script src='/resources/highlighter/scripts/shBrushJava.js'></script>
 <script>
   SyntaxHighlighter.defaults['toolbar'] = false;
@@ -108,7 +109,7 @@ Apache CXF -- Download
          <td height="100%">
            <!-- Content -->
            <div class="wiki-content">
-<div id="ConfluenceContent"><h1 id="Download-Releases">Releases</h1><h2 id="Download-3.2.0">3.2.0</h2><p>The 3.2.0 release is our latest release representing a significant amount of work on new features, enhancements, code cleanups, etc... For a complete list of new features, API changes, etc... please see the <a shape="rect" href="http://cxf.apache.org/docs/32-migration-guide.html">migration guide</a>&#160;for more details.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="exter
 nal-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.2.0/apache-cxf-3.2.0-src.tar.gz">apache-cxf-3.2.0-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.tar.gz.md5">apache-cxf-3.2.0-src.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.tar.gz.sha1">apache-cxf-3.2.0-src.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.tar.gz.asc">apache-cxf-3.2.0-src.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.2.0/apache-cxf-
 3.2.0-src.zip">apache-cxf-3.2.0-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.zip.md5">apache-cxf-3.2.0-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.zip.sha1">apache-cxf-3.2.0-src.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.zip.asc">apache-cxf-3.2.0-src.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Binary distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.2.0/apache-cxf-3.2.0.tar.gz">apache-cxf-3.2.0.tar.gz</a></p></td><td colspan="1" rowspan="1" class="
 confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0.tar.gz.md5">apache-cxf-3.2.0.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0.tar.gz.sha1">apache-cxf-3.2.0.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0.tar.gz.asc">apache-cxf-3.2.0.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.2.0/apache-cxf-3.2.0.zip">apache-cxf-3.2.0.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.
 2.0.zip.md5">apache-cxf-3.2.0.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0.zip.sha1">apache-cxf-3.2.0.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0.zip.asc">apache-cxf-3.2.0.zip.asc</a></p></td></tr></tbody></table></div><h2 id="Download-3.1.13">3.1.13</h2><p>The 3.1.13 release is our latest patch release for 3.1.x. For a complete list of new features, API changes, etc... please see the <a shape="rect" href="cxf-3113-release-notes.html">release notes</a>&#160;and <a shape="rect" href="http://cxf.apache.org/docs/31-migration-guide.html">migration guide</a>.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="conflu
 enceTh"><p>File</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.1.13/apache-cxf-3.1.13-src.tar.gz">apache-cxf-3.1.13-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13-src.tar.gz.md5">apache-cxf-3.1.13-src.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13-src.tar.gz.sha1">apache-cxf-3.1.13-src.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceT
 d"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13-src.tar.gz.asc">apache-cxf-3.1.13-src.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.1.13/apache-cxf-3.1.13-src.zip">apache-cxf-3.1.13-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13-src.zip.md5">apache-cxf-3.1.13-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13-src.zip.sha1">apache-cxf-3.1.13-src.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cx
 f/3.1.13/apache-cxf-3.1.13-src.zip.asc">apache-cxf-3.1.13-src.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Binary distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.1.13/apache-cxf-3.1.13.tar.gz">apache-cxf-3.1.13.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.tar.gz.md5">apache-cxf-3.1.13.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.tar.gz.sha1">apache-cxf-3.1.13.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.tar.gz.asc">apache-cxf-3.1.13.tar.gz.asc</a></p></td
 ></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.1.13/apache-cxf-3.1.13.zip">apache-cxf-3.1.13.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.zip.md5">apache-cxf-3.1.13.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.zip.sha1">apache-cxf-3.1.13.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.zip.asc">apache-cxf-3.1.13.zip.asc</a></p></td></tr></tbody></table></div><h2 id="Download-3.0.15">3.0.15</h2><p>The 3.0.15 release is our latest patch release for 
 3.0.x. For a complete list of new features, API changes, etc... please see the <a shape="rect" href="cxf-3015-release-notes.html">release notes</a> and the <a shape="rect" href="http://cxf.apache.org/docs/30-migration-guide.html">migration guide</a>.</p><div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This is the last planned release of the 3.0.x versions of CXF. Users are strongly encouraged to migrate to 3.2.x as soon as possible.</p></div></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" class="
 confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.0.15/apache-cxf-3.0.15-src.tar.gz">apache-cxf-3.0.15-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.tar.gz.md5">apache-cxf-3.0.15-src.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.tar.gz.sha1">apache-cxf-3.0.15-src.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.tar.gz.asc">apache-cxf-3.0.15-src.tar.gz.asc</a></p></td></tr><tr><td colspan
 ="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.0.15/apache-cxf-3.0.15-src.zip">apache-cxf-3.0.15-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.zip.md5">apache-cxf-3.0.15-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.zip.sha1">apache-cxf-3.0.15-src.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.zip.asc">apache-cxf-3.0.15-src.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Binary distribution</p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.0.15/apache-cxf-3.0.15.tar.gz">apache-cxf-3.0.15.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.tar.gz.md5">apache-cxf-3.0.15.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.tar.gz.sha1">apache-cxf-3.0.15.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.tar.gz.asc">apache-cxf-3.0.15.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apac
 he.org/dyn/closer.lua/cxf/3.0.15/apache-cxf-3.0.15.zip">apache-cxf-3.0.15.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.zip.md5">apache-cxf-3.0.15.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.zip.sha1">apache-cxf-3.0.15.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.zip.asc">apache-cxf-3.0.15.zip.asc</a></p></td></tr></tbody></table></div><h2 id="Download-2.7.18">2.7.18</h2><p>The 2.7.18 release is our last patch release for 2.7.x. For a complete list if new features, API changes, etc... please see the <a shape="rect" href="cxf-2718-release-notes.html">release notes</a> and the <a shape="rect" href="http://cxf.a
 pache.org/docs/27-migration-guide.html">migration guide</a>.</p><div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This is the last planned release of the 2.7.x versions of CXF. Users are strongly encouraged to migrate to 3.1.x as soon as possible.</p></div></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" clas
 s="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/2.7.18/apache-cxf-2.7.18-src.tar.gz">apache-cxf-2.7.18-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.tar.gz.md5">apache-cxf-2.7.18-src.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.tar.gz.sha1">apache-cxf-2.7.18-src.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.tar.gz.asc">apache-cxf-2.7.18-src.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/c
 xf/2.7.18/apache-cxf-2.7.18-src.zip">apache-cxf-2.7.18-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.zip.md5">apache-cxf-2.7.18-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.zip.sha1">apache-cxf-2.7.18-src.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.zip.asc">apache-cxf-2.7.18-src.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Binary distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/2.7.18/apache-cxf-2.7.18.tar.gz">apache-cxf-2.7.18.tar.gz</a></p></td>
 <td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.tar.gz.md5">apache-cxf-2.7.18.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.tar.gz.sha1">apache-cxf-2.7.18.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.tar.gz.asc">apache-cxf-2.7.18.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/2.7.18/apache-cxf-2.7.18.zip">apache-cxf-2.7.18.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http
 s://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.zip.md5">apache-cxf-2.7.18.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.zip.sha1">apache-cxf-2.7.18.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.zip.asc">apache-cxf-2.7.18.zip.asc</a></p></td></tr></tbody></table></div><h2 id="Download-VerifyingReleases">Verifying Releases</h2><p>When downloading from a mirror please check the SHA1/MD5 checksums as well as verifying the OpenPGP compatible signature available from the main Apache site. The <a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/KEYS">KEYS</a> file contains the public keys used for signing the release. It is recommended that a web of trust is used to confirm the identity of these keys.</p><p>Yo
 u can check the OpenPGP signature with GnuPG via:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Verify Signature</b></div><div class="codeContent panelContent pdl">
+<div id="ConfluenceContent"><h1 id="Download-Releases">Releases</h1><h2 id="Download-3.2.0">3.2.0</h2><p>The 3.2.0 release is our latest release representing a significant amount of work on new features, enhancements, code cleanups, etc... For a complete list of new features, API changes, etc... please see the <a shape="rect" href="http://cxf.apache.org/docs/32-migration-guide.html">migration guide</a>&#160;for more details.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="exter
 nal-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.2.0/apache-cxf-3.2.0-src.tar.gz">apache-cxf-3.2.0-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.tar.gz.md5">apache-cxf-3.2.0-src.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.tar.gz.sha1">apache-cxf-3.2.0-src.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.tar.gz.asc">apache-cxf-3.2.0-src.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.2.0/apache-cxf-
 3.2.0-src.zip">apache-cxf-3.2.0-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.zip.md5">apache-cxf-3.2.0-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.zip.sha1">apache-cxf-3.2.0-src.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0-src.zip.asc">apache-cxf-3.2.0-src.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Binary distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.2.0/apache-cxf-3.2.0.tar.gz">apache-cxf-3.2.0.tar.gz</a></p></td><td colspan="1" rowspan="1" class="
 confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0.tar.gz.md5">apache-cxf-3.2.0.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0.tar.gz.sha1">apache-cxf-3.2.0.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0.tar.gz.asc">apache-cxf-3.2.0.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.2.0/apache-cxf-3.2.0.zip">apache-cxf-3.2.0.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.
 2.0.zip.md5">apache-cxf-3.2.0.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0.zip.sha1">apache-cxf-3.2.0.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.2.0/apache-cxf-3.2.0.zip.asc">apache-cxf-3.2.0.zip.asc</a></p></td></tr></tbody></table></div><h2 id="Download-3.1.13">3.1.13</h2><p>The 3.1.13 release is our latest patch release for 3.1.x. For a complete list of new features, API changes, etc... please see the <a shape="rect" href="cxf-3113-release-notes.html">release notes</a>&#160;and <a shape="rect" href="http://cxf.apache.org/docs/31-migration-guide.html">migration guide</a>.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="conflu
 enceTh"><p>File</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.1.13/apache-cxf-3.1.13-src.tar.gz">apache-cxf-3.1.13-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13-src.tar.gz.md5">apache-cxf-3.1.13-src.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13-src.tar.gz.sha1">apache-cxf-3.1.13-src.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceT
 d"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13-src.tar.gz.asc">apache-cxf-3.1.13-src.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.1.13/apache-cxf-3.1.13-src.zip">apache-cxf-3.1.13-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13-src.zip.md5">apache-cxf-3.1.13-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13-src.zip.sha1">apache-cxf-3.1.13-src.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cx
 f/3.1.13/apache-cxf-3.1.13-src.zip.asc">apache-cxf-3.1.13-src.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Binary distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.1.13/apache-cxf-3.1.13.tar.gz">apache-cxf-3.1.13.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.tar.gz.md5">apache-cxf-3.1.13.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.tar.gz.sha1">apache-cxf-3.1.13.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.tar.gz.asc">apache-cxf-3.1.13.tar.gz.asc</a></p></td
 ></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.1.13/apache-cxf-3.1.13.zip">apache-cxf-3.1.13.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.zip.md5">apache-cxf-3.1.13.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.zip.sha1">apache-cxf-3.1.13.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.1.13/apache-cxf-3.1.13.zip.asc">apache-cxf-3.1.13.zip.asc</a></p></td></tr></tbody></table></div><h2 id="Download-3.0.15">3.0.15</h2><p>The 3.0.15 release is our latest patch release for 
 3.0.x. For a complete list of new features, API changes, etc... please see the <a shape="rect" href="cxf-3015-release-notes.html">release notes</a> and the <a shape="rect" href="http://cxf.apache.org/docs/30-migration-guide.html">migration guide</a>.</p><div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This is the last planned release of the 3.0.x versions of CXF. Users are strongly encouraged to migrate to 3.2.x as soon as possible.</p></div></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" class="
 confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.0.15/apache-cxf-3.0.15-src.tar.gz">apache-cxf-3.0.15-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.tar.gz.md5">apache-cxf-3.0.15-src.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.tar.gz.sha1">apache-cxf-3.0.15-src.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.tar.gz.asc">apache-cxf-3.0.15-src.tar.gz.asc</a></p></td></tr><tr><td colspan
 ="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.0.15/apache-cxf-3.0.15-src.zip">apache-cxf-3.0.15-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.zip.md5">apache-cxf-3.0.15-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.zip.sha1">apache-cxf-3.0.15-src.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15-src.zip.asc">apache-cxf-3.0.15-src.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Binary distribution</p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/3.0.15/apache-cxf-3.0.15.tar.gz">apache-cxf-3.0.15.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.tar.gz.md5">apache-cxf-3.0.15.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.tar.gz.sha1">apache-cxf-3.0.15.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.tar.gz.asc">apache-cxf-3.0.15.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apac
 he.org/dyn/closer.lua/cxf/3.0.15/apache-cxf-3.0.15.zip">apache-cxf-3.0.15.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.zip.md5">apache-cxf-3.0.15.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.zip.sha1">apache-cxf-3.0.15.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/3.0.15/apache-cxf-3.0.15.zip.asc">apache-cxf-3.0.15.zip.asc</a></p></td></tr></tbody></table></div><h2 id="Download-2.7.18">2.7.18</h2><p>The 2.7.18 release is our last patch release for 2.7.x. For a complete list if new features, API changes, etc... please see the <a shape="rect" href="cxf-2718-release-notes.html">release notes</a> and the <a shape="rect" href="http://cxf.a
 pache.org/docs/27-migration-guide.html">migration guide</a>.</p><div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This is the last planned release of the 2.7.x versions of CXF. Users are strongly encouraged to migrate to 3.1.x as soon as possible.</p></div></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>File</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" clas
 s="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/2.7.18/apache-cxf-2.7.18-src.tar.gz">apache-cxf-2.7.18-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.tar.gz.md5">apache-cxf-2.7.18-src.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.tar.gz.sha1">apache-cxf-2.7.18-src.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.tar.gz.asc">apache-cxf-2.7.18-src.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/c
 xf/2.7.18/apache-cxf-2.7.18-src.zip">apache-cxf-2.7.18-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.zip.md5">apache-cxf-2.7.18-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.zip.sha1">apache-cxf-2.7.18-src.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18-src.zip.asc">apache-cxf-2.7.18-src.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Binary distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/2.7.18/apache-cxf-2.7.18.tar.gz">apache-cxf-2.7.18.tar.gz</a></p></td>
 <td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.tar.gz.md5">apache-cxf-2.7.18.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.tar.gz.sha1">apache-cxf-2.7.18.tar.gz.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.tar.gz.asc">apache-cxf-2.7.18.tar.gz.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua/cxf/2.7.18/apache-cxf-2.7.18.zip">apache-cxf-2.7.18.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http
 s://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.zip.md5">apache-cxf-2.7.18.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.zip.sha1">apache-cxf-2.7.18.zip.sha1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/2.7.18/apache-cxf-2.7.18.zip.asc">apache-cxf-2.7.18.zip.asc</a></p></td></tr></tbody></table></div><h2 id="Download-VerifyingReleases">Verifying Releases</h2><p>When downloading from a mirror please check the SHA1/MD5 checksums as well as verifying the OpenPGP compatible signature available from the main Apache site. The <a shape="rect" class="external-link" href="https://www.apache.org/dist/cxf/KEYS">KEYS</a> file contains the public keys used for signing the release. It is recommended that a web of trust is used to confirm the identity of these keys.</p><p>Yo
 u can check the OpenPGP signature with GnuPG via:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;">gpg --import KEYS
 gpg --verify apache-cxf-*.tar.gz.asc
 </pre>