Author: buildbot
Date: Mon Mar 27 17:47:50 2017
New Revision: 1009163

Log:
Production update by buildbot for cxf

Modified:
    websites/production/cxf/content/cache/docs.pageCache
    websites/production/cxf/content/docs/cxf-architecture.html
    
websites/production/cxf/content/docs/maven-cxf-codegen-plugin-wsdl-to-java.html

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

Modified: websites/production/cxf/content/docs/cxf-architecture.html
==============================================================================
--- websites/production/cxf/content/docs/cxf-architecture.html (original)
+++ websites/production/cxf/content/docs/cxf-architecture.html Mon Mar 27 
17:47:50 2017
@@ -116,17 +116,12 @@ Apache CXF -- CXF Architecture
          <td height="100%">
            <!-- Content -->
            <div class="wiki-content">
-<div id="ConfluenceContent"><h1 
id="CXFArchitecture-ApacheCXFSoftwareArchitectureGuide">Apache CXF Software 
Architecture Guide</h1>
+<div id="ConfluenceContent"><h1 
id="CXFArchitecture-ApacheCXFSoftwareArchitectureGuide">Apache CXF Software 
Architecture Guide</h1><p>This document provides an architectural overview of 
the Apache CXF services framework.</p><h2 
id="CXFArchitecture-TableofContents">Table of Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1490636832619 {padding: 0px;}
+div.rbtoc1490636832619 ul {list-style: outline;margin-left: 0px;}
+div.rbtoc1490636832619 li {margin-left: 0px;padding-left: 0px;}
 
-<p>This document provides an architectural overview of the Apache CXF services 
framework.</p>
-
-<h2 id="CXFArchitecture-TableofContents">Table of Contents</h2>
-<style type="text/css">/*<![CDATA[*/
-div.rbtoc1435780173236 {padding: 0px;}
-div.rbtoc1435780173236 ul {list-style: outline;margin-left: 0px;}
-div.rbtoc1435780173236 li {margin-left: 0px;padding-left: 0px;}
-
-/*]]>*/</style><div class="toc-macro rbtoc1435780173236">
+/*]]>*/</style></p><div class="toc-macro rbtoc1490636832619">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#CXFArchitecture-ApacheCXFSoftwareArchitectureGuide">Apache CXF Software 
Architecture Guide</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#CXFArchitecture-TableofContents">Table of Contents</a></li><li><a 
shape="rect" 
href="#CXFArchitecture-ArchitecturalGoalsandConstraints">Architectural Goals 
and Constraints</a></li><li><a shape="rect" 
href="#CXFArchitecture-CXF-API">CXF-API</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#CXFArchitecture-Bus">Bus</a></li><li><a shape="rect" 
href="#CXFArchitecture-Howservicecallsareprocessed">How service calls are 
processed</a></li><li><a shape="rect" 
href="#CXFArchitecture-Front-ends">Front-ends</a></li><li><a shape="rect" 
href="#CXFArchitecture-Messaging&amp;Interceptors">Messaging &amp; 
Interceptors</a></li><li><a shape="rect" 
href="#CXFArchitecture-TheServiceModel">The Service Model</a></li><li><a 
shape="rect" href="#CXFArchitecture-DataBindings">Data Bindings</a></li><li><a 
shape="rect" href="#CXFArchitecture-ProtocolBindings">Protocol 
Bindings</a></li><li><a shape="rect" 
href="#CXFArchitecture-Transports">Transports</a></li><li><a shape="rect" 
href="#CXFArchitecture-AJAX-WSexample">A JAX-WS example</a></li></ul>
@@ -134,112 +129,38 @@ div.rbtoc1435780173236 li {margin-left:
 <ul class="toc-indentation"><li><a shape="rect" 
href="#CXFArchitecture-References">References</a></li></ul>
 </li></ul>
 </li></ul>
-</div>
-
-<h2 id="CXFArchitecture-ArchitecturalGoalsandConstraints">Architectural Goals 
and Constraints</h2>
-<p>The Apache CXF services framework seeks to build the necessary 
infrastructure components for services. Goals for CXF are many and include:</p>
-<ul><li>Embeddable</li><li>High performance</li><li>Easy 
configuration</li><li>Intuitive and easy to use</li><li>Clean separation of 
front-ends from the core code</li><li>Data formats support</li><li>Data 
bindings support</li><li>Protocol bindings support</li><li>Multiple transports 
support</li><li>Multiple Programming Languages Support</li><li>WS-* and related 
specifications support</li><li>Tools for code generation and WSDL 
validation</li><li>Flexible deployment</li></ul>
-
-
-<h2 id="CXFArchitecture-CXF-API">CXF-API</h2>
-
-<p>The overall CXF architecture is primarily made up of the following 
parts:</p>
-<ol><li>Bus: Contains a registry of extensions, interceptors and 
Properties</li><li>Front-end: Front-ends provide a programming model to create 
services.</li><li>Messaging &amp; Interceptors: These provide the low level 
message and pipeline layer upon which most functionality is 
built.</li><li>Service Model: Services host a Service model which is a 
WSDL-like model that describes the service.</li><li>Pluggable Data Bindings: 
...</li><li>Protocol Bindings: Bindings provide the functionality to interpret 
the protocol.</li><li>Transports: Transportfactory creates Destinations 
(Receiving) and Conduits (Sending)</li></ol>
-
-
-<p>In the upcoming sections, we'll take a look at each layer in turn and 
examine how they work together.  </p>
-
-<p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-thumbnail" 
src="cxf-architecture.data/cxf_architecture.png"></span></p>
+</div><h2 id="CXFArchitecture-ArchitecturalGoalsandConstraints">Architectural 
Goals and Constraints</h2><p>The Apache CXF services framework seeks to build 
the necessary infrastructure components for services. Goals for CXF are many 
and include:</p><ul><li>Embeddable</li><li>High performance</li><li>Easy 
configuration</li><li>Intuitive and easy to use</li><li>Clean separation of 
front-ends from the core code</li><li>Data formats support</li><li>Data 
bindings support</li><li>Protocol bindings support</li><li>Multiple transports 
support</li><li>Multiple Programming Languages Support</li><li>WS-* and related 
specifications support</li><li>Tools for code generation and WSDL 
validation</li><li>Flexible deployment</li></ul><h2 
id="CXFArchitecture-CXF-API">CXF-API</h2><p>The overall CXF architecture is 
primarily made up of the following parts:</p><ol><li>Bus: Contains a registry 
of extensions, interceptors and Properties</li><li>Front-end: Front-ends 
provide a programming model to create s
 ervices.</li><li>Messaging &amp; Interceptors: These provide the low level 
message and pipeline layer upon which most functionality is 
built.</li><li>Service Model: Services host a Service model which is a 
WSDL-like model that describes the service.</li><li>Pluggable Data Bindings: 
...</li><li>Protocol Bindings: Bindings provide the functionality to interpret 
the protocol.</li><li>Transports: Transportfactory creates Destinations 
(Receiving) and Conduits (Sending)</li></ol><p>In the upcoming sections, we'll 
take a look at each layer in turn and examine how they work 
together.</p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-thumbnail" 
src="cxf-architecture.data/cxf_architecture.png"></span></p><h3 
id="CXFArchitecture-Bus">Bus</h3><p>The bus, being CXF's backbone, is a 
provider of shared resources to the CXF runtime. Examples for such shared 
resources include WSDL managers and binding factory managers. The bus can 
easily be extende
 d to include your own custom resources or services, or you can replace default 
resources like the HTTP destination factory (based on Jetty) with your own 
(possibly based on another web container such as Apache Tomcat).</p><p>This 
extensibility is made possible by dependency injection; the default bus 
implemenation is based on <a shape="rect" class="external-link" 
href="http://www.springsource.com/developer/spring"; rel="nofollow">Spring 
Framework</a>, which wires the runtime components together for you.</p><p>The 
<code>SpringBusFactory</code> searches for all bean configuration files in the 
<code>META-INF/cxf</code> directories on your classpath, and builds an 
application context from them. The bean configuration files included in the 
application context construction 
are:</p><ul><li><code>META-INF/cxf/cxf.xml</code> (e.g., in 
<code>cxf-rt-core</code> 
only)</li><li><code>META-INF/cxf/cxf-extension.xml</code> (e.g. in 
<code>cxf-rt-bindings-soap</code>)</li><li><code>META-INF/cxf/cxf-pr
 operty-editors.xml</code> (e.g. in 
<code>cxf-rt-transports-http</code>)</li></ul><p>See <a shape="rect" 
href="configuration-of-the-bus.html">Configuration of the Bus</a> for an 
example of how to customize the bus by supplying your own bean configuration 
file and <a shape="rect" 
href="configuration-of-runtime-constructed-objects.html">Configuration of 
Runtime Constructed Objects</a> for more information on the special case of 
injecting into objects created by the runtime (as opposed to objects created by 
the IoC container itself).</p><h3 
id="CXFArchitecture-Howservicecallsareprocessed">How service calls are 
processed</h3><p>    
 
-<h3 id="CXFArchitecture-Bus">Bus</h3>
-<p>The bus, being CXF's backbone, is a provider of shared resources to the CXF 
runtime. Examples for such shared resources include WSDL managers and binding 
factory managers. The bus can easily be extended to include your own custom 
resources or services, or you can replace default resources like the HTTP 
destination factory (based on Jetty) with your own (possibly based on another 
web container such as Apache Tomcat).</p>
 
-<p>This extensibility is made possible by dependency injection; the default 
bus implemenation is based on <a shape="rect" class="external-link" 
href="http://www.springsource.com/developer/spring"; rel="nofollow">Spring 
Framework</a>, which wires the runtime components together for you.</p>
 
-<p>The <code>SpringBusFactory</code> searches for all bean configuration files 
in the <code>META-INF/cxf</code> directories on your classpath, and builds an 
application context from them. The bean configuration files included in the 
application context construction are:</p>
-<ul><li><code>META-INF/cxf/cxf.xml</code> (e.g., in <code>cxf-rt-core</code> 
only)</li><li><code>META-INF/cxf/cxf-extension.xml</code> (e.g. in 
<code>cxf-rt-bindings-soap</code>)</li><li><code>META-INF/cxf/cxf-property-editors.xml</code>
 (e.g. in <code>cxf-rt-transports-http</code>)</li></ul>
 
+<span class="gliffy-container" id="gliffy-container-25591945-3414" 
data-fullwidth="1269" data-ceoid="44806" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" 
data-filename="MessageFlowOnClientSide">
 
-<p>See <a shape="rect" href="configuration-of-the-bus.html">Configuration of 
the Bus</a> for an example of how to customize the bus by supplying your own 
bean configuration file and <a shape="rect" 
href="configuration-of-runtime-constructed-objects.html">Configuration of 
Runtime Constructed Objects</a> for more information on the special case of 
injecting into objects created by the runtime (as opposed to objects created by 
the IoC container itself).</p>
+    <map id="gliffy-map-25591945-9767" name="gliffy-map-25591945-9767"></map>
 
-<h3 id="CXFArchitecture-Howservicecallsareprocessed">How service calls are 
processed</h3>
+    <img class="gliffy-image" id="gliffy-image-25591945-3414" width="600" 
height="274" data-full-width="1269" data-full-height="580" 
src="https://cwiki.apache.org/confluence/download/attachments/44806/MessageFlowOnClientSide.png?version=4&amp;modificationDate=1298215366000&amp;api=v2";
 alt="MessageFlowOnClientSide" usemap="#gliffy-map-25591945-9767">
 
-    
-
-
-
-
-<span class="gliffy-container" id="gliffy-container-25591945-9785" 
data-fullwidth="1269" data-ceoid="44806" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" 
data-filename="MessageFlowOnClientSide">
-
-    <map id="gliffy-map-25591945-1830" name="gliffy-map-25591945-1830"></map>
-
-    <img class="gliffy-image" id="gliffy-image-25591945-9785" width="1269" 
height="580" data-full-width="1269" data-full-height="580" 
src="https://cwiki.apache.org/confluence/download/attachments/44806/MessageFlowOnClientSide.png?version=4&amp;modificationDate=1298215366000&amp;api=v2";
 alt="MessageFlowOnClientSide" usemap="#gliffy-map-25591945-1830">
-
-    <map class="gliffy-dynamic" id="gliffy-dynamic-map-25591945-9785" 
name="gliffy-dynamic-map-25591945-9785"></map>
+    <map class="gliffy-dynamic" id="gliffy-dynamic-map-25591945-3414" 
name="gliffy-dynamic-map-25591945-3414"></map>
 </span>
 
 
+</p><p>Client Side</p><p>    
 
-<p>Client Side</p>
-
-    
 
 
 
+<span class="gliffy-container" id="gliffy-container-25591953-5605" 
data-fullwidth="1222" data-ceoid="44806" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" 
data-filename="MessageFlowOnServerSide">
 
-<span class="gliffy-container" id="gliffy-container-25591953-3020" 
data-fullwidth="1222" data-ceoid="44806" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" 
data-filename="MessageFlowOnServerSide">
+    <map id="gliffy-map-25591953-8767" name="gliffy-map-25591953-8767"></map>
 
-    <map id="gliffy-map-25591953-8227" name="gliffy-map-25591953-8227"></map>
+    <img class="gliffy-image" id="gliffy-image-25591953-5605" width="600" 
height="295" data-full-width="1222" data-full-height="600" 
src="https://cwiki.apache.org/confluence/download/attachments/44806/MessageFlowOnServerSide.png?version=4&amp;modificationDate=1298310696000&amp;api=v2";
 alt="MessageFlowOnServerSide" usemap="#gliffy-map-25591953-8767">
 
-    <img class="gliffy-image" id="gliffy-image-25591953-3020" width="1222" 
height="600" data-full-width="1222" data-full-height="600" 
src="https://cwiki.apache.org/confluence/download/attachments/44806/MessageFlowOnServerSide.png?version=4&amp;modificationDate=1298310696000&amp;api=v2";
 alt="MessageFlowOnServerSide" usemap="#gliffy-map-25591953-8227">
-
-    <map class="gliffy-dynamic" id="gliffy-dynamic-map-25591953-3020" 
name="gliffy-dynamic-map-25591953-3020"></map>
+    <map class="gliffy-dynamic" id="gliffy-dynamic-map-25591953-5605" 
name="gliffy-dynamic-map-25591953-5605"></map>
 </span>
 
 
-
-<p>Server Side</p>
-
-<h3 id="CXFArchitecture-Front-ends">Front-ends</h3>
-
-<p>Front-ends provide a programming model to interact with CXF. JAX-WS, 
JAX-RS, Simple and Javascript front-end APIs are provided by CXF . Each 
implementation is cleanly separated from the rest of CXF, just like the 
bindings and the core. Front-ends provide functionality through interceptors 
that are added to Services and Endpoints. See also <a shape="rect" 
href="frontends.html">Front-ends</a></p>
-
-<h3 id="CXFArchitecture-Messaging&amp;Interceptors">Messaging &amp; 
Interceptors</h3>
-
-<p>CXF is built on a generic messaging layer comprised of Messages, 
Interceptors, and InterceptorChains. Interceptors are the fundamental unit of 
functionality. By dividing up how messages are processed and sent, this gives 
CXF a very flexible architecture. It can be reconfigured at any point in the 
processing. This also gives CXF the ability to pause &amp; resume interceptor 
chains.</p>
-
-<p>Interceptors have a method, <code>handleMessage</code>, which allows them 
to act on the Message.These Interceptors can then be built up into chains of 
interceptors, straightforwardly called InterceptorChains. Some examples 
include:</p>
-<ul><li>An interceptor which parses just the headers of a SOAP message into 
DOM elements</li><li>A WS-Security interceptor which decrypts or authenticates 
an incoming message.</li><li>An outgoing data binding interceptor which 
serializes the result</li></ul>
-
-
-<p>Interceptors are uni-directional and are inherently unaware of whether they 
are dealing with a request, response, or fault.</p>
-
-<h4 id="CXFArchitecture-PhaseInterceptors">Phase Interceptors</h4>
-
-<p>CXF provides an <code>InterceptorChain</code> implementation called the 
<code>PhaseInterceptorChain</code>. When Interceptors are added to the chain, 
they are grouped into ordered phases.&#160; A <code>PhaseInterceptor</code> may 
provide guidance as to how it is to be ordered within the phase.</p>
-
-<p>Let us take a hypothetical simplified example (NOTE: these phases and 
interceptors don't necessarily exist in CXF). Let us say we are parsing a SOAP 
message. We may want to have two phases. First, a dispatch phase which parses 
the soap headers and determines which service to route the Message to. Second, 
an unmarshal phase which binds the SOAP body to JAXB objects. In the first 
dispatch phase we could implement this via two interceptors, first a 
ReadHeadersInterceptor which parses the headers and second a 
WS-AddressingInInterceptor which determines which service we're invoking from 
the WS-Addressing header. In the second unmarshal phase, we have just a single 
JAXBUnmarshallerIntercptor. Both the <code>ReadHeadersInterceptor</code> and 
<code>AddressingInInterceptor</code> would tell the 
<code>PhaseInterceptorChain</code> they are in the "dispatch" phase by 
returning "dispatch" when <code>getPhase()</code> is called. Additionally, the 
<code>ReadHeadersInterceptor</code> could speci
 fy that it wants to run before the <code>AddressingInInterceptor</code> by 
returning the interceptor id when <code>Interceptor.getBefore()</code> is 
called.</p>
-
-<p>Before it was mentioned how chains were very dynamic and flexible. In our 
above example, we could add interceptors specific to that service once it is 
resolved. Or we could pause the chain once while we wait for some external 
chain, like an asynchronous service response.</p>
-
-<h4 id="CXFArchitecture-FaultHandling">Fault Handling</h4>
-
-<p>At any point during processing, an interceptor may throw a Fault, or a 
derivative of a Fault like the <code>SoapFault</code>. This will cause the 
chain to stop invoking and unwind it. Unwinding consists of calling handleFault 
on each interceptor that was invoked in reverse order.</p>
-
-<p>InterceptorChains have the concept of a fault observer. Once the chain is 
unwound, the fault interceptor is invoked with the message that caused the 
fault. The fault observer may trigger a new chain which then invokes a 
specified set of interceptors meant to handle faults.</p>
-
-<h4 id="CXFArchitecture-Exchanges">Exchanges</h4>
-
-<p>In addition to the concept of a Message, there is the concept of the 
<code>Exchange</code>. The exchange class holds a references to  the in, out 
and fault messages for the current message exchange.</p>
-
-<p>It also holds properties specific to the exchange, and not just the 
message. For instance the <code>Exchange</code> holds the <code>Service</code> 
that is current being invoked in it.</p>
-
-<h4 id="CXFArchitecture-ReentrantInterceptorChains">Reentrant 
InterceptorChains</h4>
-
-<p>An interesting feature of the <code>PhaseInterceptorChain</code> is that it 
is reentrant. This can be powerful and slightly dangerous. This feature is only 
used in CXF during the sending of an outgoing message, The 
<code>SoapOutInterceptor</code> is the best example:</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 void handleMessage(Message m) {
+</p><p>Server Side</p><h3 
id="CXFArchitecture-Front-ends">Front-ends</h3><p>Front-ends provide a 
programming model to interact with CXF. JAX-WS, JAX-RS, Simple and Javascript 
front-end APIs are provided by CXF . Each implementation is cleanly separated 
from the rest of CXF, just like the bindings and the core. Front-ends provide 
functionality through interceptors that are added to Services and Endpoints. 
See also <a shape="rect" href="frontends.html">Front-ends</a></p><h3 
id="CXFArchitecture-Messaging&amp;Interceptors">Messaging &amp; 
Interceptors</h3><p>CXF is built on a generic messaging layer comprised of 
Messages, Interceptors, and InterceptorChains. Interceptors are the fundamental 
unit of functionality. By dividing up how messages are processed and sent, this 
gives CXF a very flexible architecture. It can be reconfigured at any point in 
the processing. This also gives CXF the ability to pause &amp; resume 
interceptor chains.</p><p>Interceptors have a method, <code>handleMessag
 e</code>, which allows them to act on the Message.These Interceptors can then 
be built up into chains of interceptors, straightforwardly called 
InterceptorChains. Some examples include:</p><ul><li>An interceptor which 
parses just the headers of a SOAP message into DOM elements</li><li>A 
WS-Security interceptor which decrypts or authenticates an incoming 
message.</li><li>An outgoing data binding interceptor which serializes the 
result</li></ul><p>Interceptors are uni-directional and are inherently unaware 
of whether they are dealing with a request, response, or fault.</p><h4 
id="CXFArchitecture-PhaseInterceptors">Phase Interceptors</h4><p>CXF provides 
an <code>InterceptorChain</code> implementation called the 
<code>PhaseInterceptorChain</code>. When Interceptors are added to the chain, 
they are grouped into ordered phases.&#160; A <code>PhaseInterceptor</code> may 
provide guidance as to how it is to be ordered within the phase.</p><p>Let us 
take a hypothetical simplified example (NOT
 E: these phases and interceptors don't necessarily exist in CXF). Let us say 
we are parsing a SOAP message. We may want to have two phases. First, a 
dispatch phase which parses the soap headers and determines which service to 
route the Message to. Second, an unmarshal phase which binds the SOAP body to 
JAXB objects. In the first dispatch phase we could implement this via two 
interceptors, first a ReadHeadersInterceptor which parses the headers and 
second a WS-AddressingInInterceptor which determines which service we're 
invoking from the WS-Addressing header. In the second unmarshal phase, we have 
just a single JAXBUnmarshallerIntercptor. Both the 
<code>ReadHeadersInterceptor</code> and <code>AddressingInInterceptor</code> 
would tell the <code>PhaseInterceptorChain</code> they are in the "dispatch" 
phase by returning "dispatch" when <code>getPhase()</code> is called. 
Additionally, the <code>ReadHeadersInterceptor</code> could specify that it 
wants to run before the <code>AddressingIn
 Interceptor</code> by returning the interceptor id when 
<code>Interceptor.getBefore()</code> is called.</p><p>Before it was mentioned 
how chains were very dynamic and flexible. In our above example, we could add 
interceptors specific to that service once it is resolved. Or we could pause 
the chain once while we wait for some external chain, like an asynchronous 
service response.</p><h4 id="CXFArchitecture-FaultHandling">Fault 
Handling</h4><p>At any point during processing, an interceptor may throw a 
Fault, or a derivative of a Fault like the <code>SoapFault</code>. This will 
cause the chain to stop invoking and unwind it. Unwinding consists of calling 
handleFault on each interceptor that was invoked in reverse 
order.</p><p>InterceptorChains have the concept of a fault observer. Once the 
chain is unwound, the fault interceptor is invoked with the message that caused 
the fault. The fault observer may trigger a new chain which then invokes a 
specified set of interceptors meant to handl
 e faults.</p><h4 id="CXFArchitecture-Exchanges">Exchanges</h4><p>In addition 
to the concept of a Message, there is the concept of the <code>Exchange</code>. 
The exchange class holds a references to the in, out and fault messages for the 
current message exchange.</p><p>It also holds properties specific to the 
exchange, and not just the message. For instance the <code>Exchange</code> 
holds the <code>Service</code> that is current being invoked in it.</p><h4 
id="CXFArchitecture-ReentrantInterceptorChains">Reentrant 
InterceptorChains</h4><p>An interesting feature of the 
<code>PhaseInterceptorChain</code> is that it is reentrant. This can be 
powerful and slightly dangerous. This feature is only used in CXF during the 
sending of an outgoing message, The <code>SoapOutInterceptor</code> is the best 
example:</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 void handleMessage(Message m) {
   writeSoapEnvelopeStart();
   writeSoapBodyStart();
 
@@ -250,65 +171,12 @@ public void handleMessage(Message m) {
   writeSoapEnvelopeEnd();
 }
 </pre>
-</div></div>
-
-<h3 id="CXFArchitecture-TheServiceModel">The Service Model</h3>
-
-<p>The Service model is the representation of a service within CXF. It is made 
up of two parts. First there is the <code>ServiceInfo</code> which contains a 
WSDL-like model of the service and its operations, bindings, endpoints and 
schema. Second, there is the Service itself, which contains the 
<code>ServiceInfo</code>, data-binding information, service interceptors, 
service properties and more.</p>
-
-<p>A service can be constructed from many different sources including classes 
and WSDLs (1.1 or 2.0). Typically front-ends are responsible for creating a 
service via service factories. Factory components such as 
<code>ServerFactoryBean</code> and <code>ClientProxyFactoryBean</code> can used 
with the front-end to create, publish and consume web services. The factory 
classes build up the service model and configure the service interceptors, data 
bindings and more.</p>
-
-<p>The Service model itself is contained in the <code>ServiceInfo</code> 
class. The following image depicts a subset of the Service Model's packaged 
API:</p>
-
-<p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-thumbnail" 
src="cxf-architecture.data/service_model.png"></span></p>
-
-<h3 id="CXFArchitecture-DataBindings">Data Bindings</h3>
-
-<p>Data bindings implement the mapping between XML elements and Java objects. 
Data bindings convert data to and from XML, produce XML schema, and provide 
support for wsdl2java code generation. Not all data bindings support all of 
this functionality. At very least, a data binding must provide the data 
conversion. See <a shape="rect" href="data-binding-architecture.html">Data 
Binding Architecture</a> for details. Currently supported data bindings include 
JAXB 2.x (default), Aegis, Apache XMLBeans, Service Data Objects (SDO) and JiBX 
(under development).</p>
-
-<h3 id="CXFArchitecture-ProtocolBindings">Protocol Bindings</h3>
-
-<p>Bindings provide ways to map concrete formats and protocols on top of 
transports. A binding contains two main parts, a <code>BindingFactory</code> 
and a <code>Binding</code>. A <code>BindingFactory</code> builds a 
<code>Binding</code> from the service model's <code>BindingInfo</code>. The 
binding contains interceptors specific to the binding and also implements the 
<code>createMessage()</code> method, which creates a <code>Message</code> 
implementation specific for that binding.  </p>
-
-<p>CXF currently supported the following bindings protocols: SOAP 1.1, SOAP 
1.2, REST/HTTP, pure XML and CORBA.</p>
-
-<h4 id="CXFArchitecture-TheSoapBinding">The Soap Binding</h4>
-
-<p>The prototypical binding is SOAP.  It has its own <code>Message</code> 
class called the <code>SoapMessage</code>. It adds the ability to hold the 
current <code>SoapVersion</code> and the headers for the message.</p>
-
-<p>The <code>Soap</code> binding also adds a special type of interceptor 
called the <code>SoapInterceptor</code>. The <code>SoapInterceptor</code> adds 
two methods to the <code>Interceptor</code> class:</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;">
-Set&lt;URI&gt; getRoles();
+</div></div><h3 id="CXFArchitecture-TheServiceModel">The Service 
Model</h3><p>The Service model is the representation of a service within CXF. 
It is made up of two parts. First there is the <code>ServiceInfo</code> which 
contains a WSDL-like model of the service and its operations, bindings, 
endpoints and schema. Second, there is the Service itself, which contains the 
<code>ServiceInfo</code>, data-binding information, service interceptors, 
service properties and more.</p><p>A service can be constructed from many 
different sources including classes and WSDLs (1.1 or 2.0). Typically 
front-ends are responsible for creating a service via service factories. 
Factory components such as <code>ServerFactoryBean</code> and 
<code>ClientProxyFactoryBean</code> can used with the front-end to create, 
publish and consume web services. The factory classes build up the service 
model and configure the service interceptors, data bindings and more.</p><p>The 
Service model itself is contained in the <c
 ode>ServiceInfo</code> class. The following image depicts a subset of the 
Service Model's packaged API:</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-thumbnail" 
src="cxf-architecture.data/service_model.png"></span></p><h3 
id="CXFArchitecture-DataBindings">Data Bindings</h3><p>Data bindings implement 
the mapping between XML elements and Java objects. Data bindings convert data 
to and from XML, produce XML schema, and provide support for wsdl2java code 
generation. Not all data bindings support all of this functionality. At very 
least, a data binding must provide the data conversion. See <a shape="rect" 
href="data-binding-architecture.html">Data Binding Architecture</a> for 
details. Currently supported data bindings include JAXB 2.x (default), Aegis, 
Apache XMLBeans, Service Data Objects (SDO) and JiBX (under 
development).</p><h3 id="CXFArchitecture-ProtocolBindings">Protocol 
Bindings</h3><p>Bindings provide ways to map concrete f
 ormats and protocols on top of transports. A binding contains two main parts, 
a <code>BindingFactory</code> and a <code>Binding</code>. A 
<code>BindingFactory</code> builds a <code>Binding</code> from the service 
model's <code>BindingInfo</code>. The binding contains interceptors specific to 
the binding and also implements the <code>createMessage()</code> method, which 
creates a <code>Message</code> implementation specific for that 
binding.</p><p>CXF currently supported the following bindings protocols: SOAP 
1.1, SOAP 1.2, REST/HTTP, pure XML and CORBA.</p><h4 
id="CXFArchitecture-TheSoapBinding">The Soap Binding</h4><p>The prototypical 
binding is SOAP. It has its own <code>Message</code> class called the 
<code>SoapMessage</code>. It adds the ability to hold the current 
<code>SoapVersion</code> and the headers for the message.</p><p>The 
<code>Soap</code> binding also adds a special type of interceptor called the 
<code>SoapInterceptor</code>. The <code>SoapInterceptor</code> adds two 
 methods to the <code>Interceptor</code> class:</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;">Set&lt;URI&gt; getRoles();
 Set&lt;QName&gt; getUnderstoodHeaders();
 </pre>
-</div></div>
-<p>These inform the SOAP interceptors as to what headers and roles the 
particular SOAP interceptor understands.</p>
-
-<p>It has many interceptors designed to handle SOAP messages:</p>
-<ol><li><code>StaxInInterceptor</code>: Creates an 
<code>XMLStreamReader</code> from an incoming 
<code>InputStream</code></li><li><code>ReadHeadersInterceptor</code>: Reads the 
headers into the 
<code>SoapMessage</code></li><li><code>MustUnderstandInterceptor</code>: Checks 
the <code>MustUnderstand</code> attributes of all the headers against all the 
<code>SoapInterceptor</code>'s <code>getUnderstoodHeaders</code> 
method.</li><li><code>SoapOutInterceptor</code>:</li></ol>
-
-
-<h4 id="CXFArchitecture-AdditionalBindings">Additional Bindings</h4>
-<p>Other bindings include REST/HTTP binding, pure XML binding, and the CORBA 
binding.</p>
-
-<h3 id="CXFArchitecture-Transports">Transports</h3>
-
-<p>CXF includes its own transport abstraction layer to hide transport specific 
details from the binding and front end layers. Currently supported transports 
include: HTTP, HTTPs, HTTP-Jetty, HTTP-OSGI, Servlet, local, JMS, In-VM and 
many others via the Camel transport for CXF such as SMTP/POP3, TCP and Jabber. 
Learn more about transports <a shape="rect" 
href="http://cxf.apache.org/docs/transports.html";>here</a>.</p>
-
-<h4 id="CXFArchitecture-Conduits">Conduits</h4>
-
-<p>Conduits provide the basis for outgoing message sending. A 
<code>Conduit</code> is created from a <code>ConduitInitiator</code>. Sending a 
message is a multistep pocess:</p>
-<ol><li>Call conduit.prepare(message): this starts the message sending. At 
this point a <code>Conduit</code> may initiate a connection and set the 
OutputStream for the outgoing message.</li><li>Writing of the actual message to 
the <code>OutputStream</code></li><li>Call to 
<code>conduit.close(message)</code>: this closes and disposes of any existing  
resources for the message sending.<br clear="none">
-A message sender may also register a <code>MessageObserver</code> with the 
Conduit. If the <code>Conduit</code> is synchronous, the 
<code>MessageObserver</code> will be notified once a response has been 
received.</li></ol>
-
-
-<h4 id="CXFArchitecture-Destinations">Destinations</h4>
-
-<p>Destinations are the basis for receiving incoming messages. A destination 
is created from a <code>DestinationFactory</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;">
-DestinationFactoryManager dfManager = 
bus.getExtension(DestinationFactoryManager.class);
+</div></div><p>These inform the SOAP interceptors as to what headers and roles 
the particular SOAP interceptor understands.</p><p>It has many interceptors 
designed to handle SOAP messages:</p><ol><li><code>StaxInInterceptor</code>: 
Creates an <code>XMLStreamReader</code> from an incoming 
<code>InputStream</code></li><li><code>ReadHeadersInterceptor</code>: Reads the 
headers into the 
<code>SoapMessage</code></li><li><code>MustUnderstandInterceptor</code>: Checks 
the <code>MustUnderstand</code> attributes of all the headers against all the 
<code>SoapInterceptor</code>'s <code>getUnderstoodHeaders</code> 
method.</li><li><code>SoapOutInterceptor</code>:</li></ol><h4 
id="CXFArchitecture-AdditionalBindings">Additional Bindings</h4><p>Other 
bindings include REST/HTTP binding, pure XML binding, and the CORBA 
binding.</p><h3 id="CXFArchitecture-Transports">Transports</h3><p>CXF includes 
its own transport abstraction layer to hide transport specific details from the 
binding and front end laye
 rs. Currently supported transports include: HTTP, HTTPs, HTTP-Jetty, 
HTTP-OSGI, Servlet, local, JMS, In-VM and many others via the Camel transport 
for CXF such as SMTP/POP3, TCP and Jabber. Learn more about transports <a 
shape="rect" href="http://cxf.apache.org/docs/transports.html";>here</a>.</p><h4 
id="CXFArchitecture-Conduits">Conduits</h4><p>Conduits provide the basis for 
outgoing message sending. A <code>Conduit</code> is created from a 
<code>ConduitInitiator</code>. Sending a message is a multistep 
pocess:</p><ol><li>Call conduit.prepare(message): this starts the message 
sending. At this point a <code>Conduit</code> may initiate a connection and set 
the OutputStream for the outgoing message.</li><li>Writing of the actual 
message to the <code>OutputStream</code></li><li>Call to 
<code>conduit.close(message)</code>: this closes and disposes of any existing 
resources for the message sending.<br clear="none"> A message sender may also 
register a <code>MessageObserver</code> with the
  Conduit. If the <code>Conduit</code> is synchronous, the 
<code>MessageObserver</code> will be notified once a response has been 
received.</li></ol><h4 
id="CXFArchitecture-Destinations">Destinations</h4><p>Destinations are the 
basis for receiving incoming messages. A destination is created from a 
<code>DestinationFactory</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;">DestinationFactoryManager dfManager = 
bus.getExtension(DestinationFactoryManager.class);
 
 // Find a DestinationFactory for the SOAP HTTP transport
 DestinationFactory df = 
dfManager.getDestinationFactory("http://schemas.xmlsoap.org/wsdl/soap/http";);
@@ -317,30 +185,11 @@ DestinationFactory df = dfManager.getDes
 EndpointInfo endpointInfo = ...;
 Destination destination = df.getDestination(endpointInfo);
 </pre>
-</div></div>
-<p>MessageObservers can then be registered with Destinations. These listen for 
incoming messages:</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;">
-MessageObserver myObserver = ...;
+</div></div><p>MessageObservers can then be registered with Destinations. 
These listen for incoming messages:</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;">MessageObserver myObserver = ...;
 destination.setMessageObserver(myObserver);
 </pre>
-</div></div>
-<p>The most common <code>MessageObserver</code> used in CXF is the 
<code>ChainInitiationObserver</code>. This takes the incoming message, creates 
a message Exchange &amp; <code>PhaseInterceptorChain</code>, then starts the 
chain.</p>
-
-<h3 id="CXFArchitecture-AJAX-WSexample">A JAX-WS example</h3>
-
-<p>Here's a small example of what might happen when we publish a service via 
the JAX-WS <code>Endpoint.publish()</code> method.</p>
-<ol><li>Call to <code>Endpoint.publish("http://localhost/service";, 
myService)</code></li><li>The <code>EndpointImpl</code> creates a Service from 
the <code>myService</code> object using the 
<code>JaxWsServiceFactoryBean</code> using the class and/or WSDL</li><li>An 
<code>EndpointInfo</code> is created for the <code>Endpoint.publish</code> 
URL</li><li>A <code>JaxWsEndpointImpl</code> is created from the 
<code>EndpointInfo</code>. This contains the JAX-WS endpoint specific 
interceptors</li><li>The <code>JaxWsEndpointImpl</code> creates a 
<code>Binding</code> and <code>Destination</code> to listen on.</li></ol>
-
-
-<h2 id="CXFArchitecture-Dependencies">Dependencies</h2>
-<p><a shape="rect" 
href="http://cxf.apache.org/docs/cxf-dependency-graphs.html";>CXF's 
dependencies</a></p>
-
-<h2 id="CXFArchitecture-Quality">Quality </h2>
-<p>CXF's Software Quality approach is detailed <a shape="rect" 
href="http://cxf.apache.org/coding-guidelines.html";>here</a>.</p>
-
-<h3 id="CXFArchitecture-References">References</h3>
-<ul><li><a shape="rect" class="external-link" 
href="http://en.wikipedia.org/wiki/Software_architecture"; 
rel="nofollow">Software Architecture</a>, <em>Wikipedia</em></li><li><a 
shape="rect" class="external-link" 
href="http://www.ecs.csun.edu/~rlingard/COMP684/Example2SoftArch.htm#Logical%20View";
 rel="nofollow">Sample S/W Architecture Document</a>, <em>Rational Software 
Corporation</em></li><li><a shape="rect" class="external-link" 
href="http://www.oreillynet.com/xml/blog/2006/03/documenting_your_software_arch.html";
 rel="nofollow">Documenting your Software Architecture</a>, <em>by Jim 
Alateras</em> (March 2006)</li></ul></div>
+</div></div><p>The most common <code>MessageObserver</code> used in CXF is the 
<code>ChainInitiationObserver</code>. This takes the incoming message, creates 
a message Exchange &amp; <code>PhaseInterceptorChain</code>, then starts the 
chain.</p><h3 id="CXFArchitecture-AJAX-WSexample">A JAX-WS 
example</h3><p>Here's a small example of what might happen when we publish a 
service via the JAX-WS <code>Endpoint.publish()</code> method.</p><ol><li>Call 
to <code>Endpoint.publish("http://localhost/service";, 
myService)</code></li><li>The <code>EndpointImpl</code> creates a Service from 
the <code>myService</code> object using the 
<code>JaxWsServiceFactoryBean</code> using the class and/or WSDL</li><li>An 
<code>EndpointInfo</code> is created for the <code>Endpoint.publish</code> 
URL</li><li>A <code>JaxWsEndpointImpl</code> is created from the 
<code>EndpointInfo</code>. This contains the JAX-WS endpoint specific 
interceptors</li><li>The <code>JaxWsEndpointImpl</code> creates a 
<code>Binding</cod
 e> and <code>Destination</code> to listen on.</li></ol><h2 
id="CXFArchitecture-Dependencies">Dependencies</h2><p><a shape="rect" 
href="http://cxf.apache.org/docs/cxf-dependency-graphs.html";>CXF's 
dependencies</a></p><h2 id="CXFArchitecture-Quality">Quality</h2><p>CXF's 
Software Quality approach is detailed <a shape="rect" 
href="http://cxf.apache.org/coding-guidelines.html";>here</a>.</p><h3 
id="CXFArchitecture-References">References</h3><ul><li><a shape="rect" 
class="external-link" href="http://en.wikipedia.org/wiki/Software_architecture"; 
rel="nofollow">Software Architecture</a>, <em>Wikipedia</em></li><li><a 
shape="rect" class="external-link" 
href="http://www.ecs.csun.edu/~rlingard/COMP684/Example2SoftArch.htm#Logical%20View";
 rel="nofollow">Sample S/W Architecture Document</a>, <em>Rational Software 
Corporation</em></li><li><a shape="rect" class="external-link" 
href="http://www.oreillynet.com/xml/blog/2006/03/documenting_your_software_arch.html";
 rel="nofollow">Documenting your Softw
 are Architecture</a>, <em>by Jim Alateras</em> (March 2006)</li></ul></div>
            </div>
            <!-- Content -->
          </td>

Modified: 
websites/production/cxf/content/docs/maven-cxf-codegen-plugin-wsdl-to-java.html
==============================================================================
--- 
websites/production/cxf/content/docs/maven-cxf-codegen-plugin-wsdl-to-java.html 
(original)
+++ 
websites/production/cxf/content/docs/maven-cxf-codegen-plugin-wsdl-to-java.html 
Mon Mar 27 17:47:50 2017
@@ -226,7 +226,7 @@ Apache CXF -- Maven cxf-codegen-plugin (
   &lt;/includes&gt;
 &lt;/configuration&gt;
 </pre>
-</div></div><p>wsdlRoot default value is <code>src/main/resources/wsdl</code> 
so you may omit this declaration.</p><h3 
id="Mavencxf-codegen-plugin(WSDLtoJava)-Example6:Loadingawsdlfromthemavenrepository">Example
 6: Loading a wsdl from the maven repository</h3><p>For CXF 2.3 and latter 
there is a new config element &lt;wsdlArtifact&gt; which can be used to load a 
wsdl file from the maven repository.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>wsdlRoot default value is <code>src/main/resources/wsdl</code> 
so you may omit this declaration.</p><h3 
id="Mavencxf-codegen-plugin(WSDLtoJava)-Example6:Loadingawsdlfromthemavenrepository">Example
 6: Loading a wsdl from the maven repository</h3><p>There is a 
&lt;wsdlArtifact&gt; wsdlOption configuration which can be used to load a wsdl 
file from the maven repository.</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;configuration&gt;
      &lt;wsdlOptions&gt;
       &lt;wsdlOption&gt;
@@ -342,18 +342,18 @@ Apache CXF -- Maven cxf-codegen-plugin (
         &lt;dependency&gt;
            &lt;groupId&gt;com.sun.xml.bind&lt;/groupId&gt;
            &lt;artifactId&gt;jaxb-impl&lt;/artifactId&gt;
-           &lt;version&gt;2.2&lt;/version&gt;
+           &lt;version&gt;2.2.11&lt;/version&gt;
         &lt;/dependency&gt;
         &lt;dependency&gt;
            &lt;groupId&gt;com.sun.xml.bind&lt;/groupId&gt;
            &lt;artifactId&gt;jaxb-xjc&lt;/artifactId&gt;
-           &lt;version&gt;2.2&lt;/version&gt;
+           &lt;version&gt;2.2.11&lt;/version&gt;
         &lt;/dependency&gt;
      &lt;/dependencies&gt;
 &lt;/plugin&gt;
 
 </pre>
-</div></div><h3 
id="Mavencxf-codegen-plugin(WSDLtoJava)-Otherconfigurationoptions">Other 
configuration options</h3><p>The cxf-codegen-plugin has some additional 
configuration options that may be useful:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&lt;fork&gt;false/always/once&lt;/fork&gt;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Forks a separate JVM for the 
code generation</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&lt;additionalJvmArgs&gt;....</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Additional JVM args set on the forked 
process if fork is not false</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&lt;encoding&gt;UTF-8&lt;/encoding&gt;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>(new in 2.6.1, requires 
configuring plugin to use very latest JAXB 2.2 impl 
jars)</p></td></tr></tbody></table></div></div>
+</div></div><h3 
id="Mavencxf-codegen-plugin(WSDLtoJava)-Otherconfigurationoptions">Other 
configuration options</h3><p>The cxf-codegen-plugin has some additional 
configuration options that may be useful:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&lt;fork&gt;false/always/once&lt;/fork&gt;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Forks a separate JVM for the 
code generation</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&lt;additionalJvmArgs&gt;....</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Additional JVM args set on the forked 
process if fork is not false</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&lt;encoding&gt;UTF-8&lt;/encoding&gt;</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>(new in 2.6.1, requires 
configuring plugin to use very latest JAXB 2.2.11 impl 
jars)</p></td></tr></tbody></table></div></div>
            </div>
            <!-- Content -->
          </td>


Reply via email to