cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r906502 [6/7] - in /websites/production/cxf/content: cache/ docs/
Date Tue, 22 Apr 2014 12:47:36 GMT
Modified: websites/production/cxf/content/docs/soap-over-jms-10-support.html
==============================================================================
--- websites/production/cxf/content/docs/soap-over-jms-10-support.html (original)
+++ websites/production/cxf/content/docs/soap-over-jms-10-support.html Tue Apr 22 12:47:36 2014
@@ -118,75 +118,30 @@ Apache CXF -- SOAP over JMS 1.0 support
          <td height="100%">
            <!-- Content -->
            <div class="wiki-content">
-<div id="ConfluenceContent"><p>The <a shape="rect" href="jms-transport.html">JMS Transport</a> offers an alternative messaging mechanism to SOAP over HTTP. SOAP over JMS offers more reliable and scalable messaging support than SOAP over HTTP.  The <a shape="rect" class="external-link" href="http://www.w3.org/TR/soapjms/" rel="nofollow">SOAP over JMS specification</a> is aimed at a set of standards for the transport of SOAP messages over JMS. Its main purpose is to ensure interoperability between the implementations of different Web services vendors. CXF supports and is compliant with this specification.</p>
-
-<h2 id="SOAPoverJMS1.0support-SOAPoverJMSNamespace">SOAP over JMS Namespace</h2>
-
-<h3 id="SOAPoverJMS1.0support-WSDLNamespace">WSDL Namespace</h3>
-<p>The WSDL extensions for defining a JMS endpoint use a special namespace.  In order to use the JMS WSDL extensions you will need to add the namespace definition shown below to the definitions element of your contract.</p>
-
-<h3 id="SOAPoverJMS1.0support-JMSExtensionNamespace">JMS Extension Namespace</h3>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-xmlns:soapjms=&quot;http://www.w3.org/2010/soapjms/&quot;
-]]></script>
-</div></div>
-
-<h2 id="SOAPoverJMS1.0support-JMSURI">JMS URI</h2>
-
-<p>JMS endpoints need to know the address information for establishing connections to the proper destination. SOAP over JMS implements the <a shape="rect" class="external-link" href="http://tools.ietf.org/id/draft-merrick-jms-uri-06.txt" rel="nofollow">URI Scheme for Java Message Service 1.0</a>. </p>
-
-<p>This URI scheme starts with "jms:jndi:" plus a JNDI name for a Destination. Since interaction with some resources may require JNDI contextual information or JMS header fields and properties to be specified as well, the "jndi" variant of the "jms" URI scheme includes support for supplying this additional JNDI information as query parameters.</p>
-
-<p>CXF supports three variants, "<strong>jndi</strong>", "<strong>queue</strong>", and "<strong>topic</strong>".<br clear="none">
-For example:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-jms:jndi:SomeJndiNameForDestination?jndiInitialContextFactory=com.example.jndi.JndiFactory&amp;priority=3
+<div id="ConfluenceContent"><p>The <a shape="rect" href="jms-transport.html">JMS Transport</a> offers an alternative messaging mechanism to SOAP over HTTP. SOAP over JMS offers more reliable and scalable messaging support than SOAP over HTTP. The <a shape="rect" class="external-link" href="http://www.w3.org/TR/soapjms/" rel="nofollow">SOAP over JMS specification</a> is aimed at a set of standards for the transport of SOAP messages over JMS. Its main purpose is to ensure interoperability between the implementations of different Web services vendors. CXF supports and is compliant with this specification.</p><h2 id="SOAPoverJMS1.0support-SOAPoverJMSNamespace">SOAP over JMS Namespace</h2><h3 id="SOAPoverJMS1.0support-JMSURI">JMS URI</h3><p>JMS endpoints need to know the address information for establishing connections to the proper destination. SOAP over JMS implements the <a shape="rect" class="external-link" href="http://tools.ietf.org/id/draft-merrick-jms-uri-06.txt" rel="nofollow">U
 RI Scheme for Java Message Service 1.0</a>.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>JMS URI Scheme</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: text; gutter: false" type="syntaxhighlighter"><![CDATA[jms:&lt;variant&gt;:&lt;destination name&gt;?param1=value1&amp;param2=value2]]></script>
+</div></div><h3 id="SOAPoverJMS1.0support-Variants">Variants</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Prefix</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><strong>jndi</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Destination name is a jndi queue name</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><strong>jndi-topic</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Destination name is a jndi topic name</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><strong>queue</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Destination is a queue name resolved using JMS</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><strong>topic</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Destination is a topic name resolved using JMS</td></tr></tbody></
 table></div><p>Further parameters can be added as query parameters in the URI.</p><p>For example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[jms:jndi:SomeJndiNameForDestination?jndiInitialContextFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;jndiURL=tcp://localhost:61616&amp;priority=3
 jms:queue:ExampleQueueName?timeToLive=1000
 ]]></script>
-</div></div>
-
-<p>Properties are as follows:</p>
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>DefaultValue</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deliveryMode</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> PERSISTENT </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> NON_PERSISTENT  messages will kept only in memory <br clear="none">
-PERSISTENT messages will be saved to disk </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiConnectionFactoryName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the JNDI name bound to the JMS connection factory to use when connecting to the JMS destination.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiInitialContextFactory</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the fully qualified Java class name of the "InitialContextFactory" implementation class to use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiURL</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the JNDI provider URL</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenc
 eTd"><p>replyToName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Specifies the JNDI name bound to the JMS destinations where replies are sent. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>priority</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 4 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Priority for the messages. See your JMS provider documentation for details</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>timeToLive</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Time (in ms) after which the message will be discarded by the jms provider</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Additional JNDI Parameters</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluen
 ceTd"><p>Additional parameters for a JNDI provider.  A custom parameter name must start with the prefix "jndi-".</p></td></tr></tbody></table></div>
-
-
-<p>For more details about these attributes, please check out the <a shape="rect" class="external-link" href="http://tools.ietf.org/id/draft-merrick-jms-uri-06.txt" rel="nofollow">JMS URI specification</a>.</p>
-
-<h2 id="SOAPoverJMS1.0support-WSDLExtension">WSDL Extension</h2>
-
-<p>Various JMS properties may be set in three places in the WSDL &#8212; the binding, the service, and the port. Values specified at the service will propagate to all ports. Values specified at the binding will propagate to all ports using that binding. <br clear="none">
-For example, if the <strong>jndiInitialContextFactory</strong> is indicated for a service, it will be used for all of the port elements it contains.</p>
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Field</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>DefaultValue</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deliveryMode</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> PERSISTENT </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>NON_PERSISTENT messages will only be kept in memory <br clear="none">
-PERSISTENT messages will be saved to disk </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiConnectionFactoryName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the JNDI name bound to the JMS connection factory to use when connecting to the JMS destination.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiInitialContextFactory</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the fully qualified Java class name of the "InitialContextFactory" implementation class to use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiURL</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the JNDI provider URL</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenc
 eTd"><p>replyToName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the JNDI name bound to the JMS destinations where replies are sent. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>priority</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 4 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Priority for the messages. See your JMS provider doc for details</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>timeToLive</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Time (in ms) after which the message will be discarded by the jms provider</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiContextParameter</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Additio
 nal parameters for a JNDI provider.</p></td></tr></tbody></table></div>
-
-
-<p>Here is an example:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;wsdl11:binding name=&quot;exampleBinding&quot;&gt;
+</div></div><h3 id="SOAPoverJMS1.0support-JMSparameters">JMS parameters</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Query Parameter</p></th><th colspan="1" rowspan="1" class="confluenceTh">From <br clear="none">Version</th><th colspan="1" rowspan="1" class="confluenceTh"><p>DefaultValue</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">conduitIdSelectorPrefix</td><td colspan="1" rowspan="1" class="confluenceTd">3.0.0</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">If set then this string will be the prefix for all correlation ids the conduit creates and also be used in the selector for listening to replies</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deliveryMode</p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p>PERSISTENT</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>NON_PERSISTENT messages will kept only in memory <br clear="none"> PERSISTENT messages will be saved to disk</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">durableSubscriptionName</td><td colspan="1" rowspan="1" class="confluenceTd">3.0.0</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiConnectionFactoryName</p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p>ConnectionFactory</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the JNDI name bound to the JMS connection factory to use when connecting to the JMS destination.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiInitialContextFactory</p></td><td
  colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the fully qualified Java class name of the "InitialContextFactory" implementation class to use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">jndiTransactionManagerName</td><td colspan="1" rowspan="1" class="confluenceTd">3.0.0</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p>Name of the JTA TransactionManager. Will be searched in spring, blueprint and jndi.<br clear="none"> If a transaction manager is found then JTA transactions will be enabled. See details below.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiURL</p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="conflue
 nceTd"><p>Specifies the JNDI provider URL</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">jndi-*</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Additional parameters for a JNDI provider</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageType</td><td colspan="1" rowspan="1" class="confluenceTd">3.0.0</td><td colspan="1" rowspan="1" class="confluenceTd">byte</td><td colspan="1" rowspan="1" class="confluenceTd">JMS message type used by CXF (byte, text or binary)</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">password</td><td colspan="1" rowspan="1" class="confluenceTd">3.0.0</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Password for creating the connection. Using this in the URI is discouraged</td></tr><tr><td colspan="1" rowspan="1" class="confl
 uenceTd">priority</td><td colspan="1" rowspan="1" class="confluenceTd">3.0.0</td><td colspan="1" rowspan="1" class="confluenceTd">4</td><td colspan="1" rowspan="1" class="confluenceTd">Priority for the messages. See your JMS provider documentation for details. Values range from 0 to 9 where 0 is lowest priority</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>replyToName</p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the JNDI name bound to the JMS destinations where replies are sent</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">receiveTimeout</td><td colspan="1" rowspan="1" class="confluenceTd">3.0.0</td><td colspan="1" rowspan="1" class="confluenceTd">60000</td><td colspan="1" rowspan="1" class="confluenceTd">Timeout in milliseconds the client waits for a reply in case of request / repy exchanges</t
 d></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">reconnectOnException</td><td colspan="1" rowspan="1" class="confluenceTd"><p>deprecated</p><p>in 3.0.0</p></td><td colspan="1" rowspan="1" class="confluenceTd">true</td><td colspan="1" rowspan="1" class="confluenceTd">Should the transport reconnect in case of exceptions. From version 3.0.0 on the transport will always reconnect in case of exceptions</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">sessionTransacted</td><td colspan="1" rowspan="1" class="confluenceTd">3.0.0</td><td colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" class="confluenceTd">Set to true for resource local transactions. Do not set if you use JTA</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">targetService</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></t
 r><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>timeToLive</p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><p>0</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Time (in ms) after which the message will be discarded by the jms provider</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">topicReplyToName</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Reply to messages on a topic with this name. Depending on the variant this is either&#160; a jndi or jms name.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">useConduitIdSelector</td><td colspan="1" rowspan="1" class="confluenceTd">3.0.0</td><td colspan="1" rowspan="1" class="confluenceTd">true</td><td colspan="1" rowspan="1" class="confluenceTd"><p>Each conduit is assigned with a UUID. If set to 
 true this conduit id will be the prefix for all correlation ids. This allows several endpoints to</p><p>share a JMS queue or topic</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>username</p></td><td colspan="1" rowspan="1" class="confluenceTd">3.0.0</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Username for creating the connection</p></td></tr></tbody></table></div><p>Some of these attributes are specified in the <a shape="rect" class="external-link" href="http://tools.ietf.org/id/draft-merrick-jms-uri-06.txt" rel="nofollow">JMS URI specification</a>.</p><h2 id="SOAPoverJMS1.0support-WSDLExtension">WSDL Extension</h2><p>The WSDL extensions for defining a JMS endpoint use a special namespace. In order to use the JMS WSDL extensions you will need to add the namespace definition shown below to the definitions element of your contract.</p><div class="code panel pdl" style="border-width: 1p
 x;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[xmlns:soapjms=&quot;http://www.w3.org/2010/soapjms/&quot;
+]]></script>
+</div></div><p>Various JMS properties may be set in three places in the WSDL &#8212; the binding, the service, and the port. Values specified at the service will propagate to all ports. Values specified at the binding will propagate to all ports using that binding. <br clear="none"> For example, if the <strong>jndiInitialContextFactory</strong> is indicated for a service, it will be used for all of the port elements it contains.</p><p>JMS Properties. For details refer to the URI query parameters with the same name:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>deliveryMode</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiConnectionFactoryName</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiInitialContextFactory</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiURL</
 p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>replyToName</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>priority</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>timeToLive</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>jndiContextParameter</p></td></tr></tbody></table></div><p>Here is an example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Ways to define a Service with JMS transport</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;wsdl11:binding name=&quot;exampleBinding&quot;&gt;
   &lt;soapjms:jndiContextParameter name=&quot;name&quot; value=&quot;value&quot; /&gt;
-  &lt;soapjms:jndiConnectionFactoryName&gt;ConnectionFactory
-  &lt;/soapjms:jndiConnectionFactoryName&gt;
-  &lt;soapjms:jndiInitialContextFactory&gt;
-    org.apache.activemq.jndi.ActiveMQInitialContextFactory
-  &lt;/soapjms:jndiInitialContextFactory&gt;
-  &lt;soapjms:jndiURL&gt;tcp://localhost:61616
-  &lt;/soapjms:jndiURL&gt;
+  &lt;soapjms:jndiConnectionFactoryName&gt;ConnectionFactory&lt;/soapjms:jndiConnectionFactoryName&gt;
+  &lt;soapjms:jndiInitialContextFactory&gt;org.apache.activemq.jndi.ActiveMQInitialContextFactory&lt;/soapjms:jndiInitialContextFactory&gt;
+  &lt;soapjms:jndiURL&gt;tcp://localhost:61616&lt;/soapjms:jndiURL&gt;
   &lt;soapjms:deliveryMode&gt;PERSISTENT&lt;/soapjms:deliveryMode&gt;
   &lt;soapjms:priority&gt;5&lt;/soapjms:priority&gt;
   &lt;soapjms:timeToLive&gt;200&lt;/soapjms:timeToLive&gt;
 &lt;/wsdl11:binding&gt;
 
 &lt;wsdl11:service name=&quot;exampleService&quot;&gt;
-  &lt;soapjms:jndiInitialContextFactory&gt;
-    com.example.jndi.InitialContextFactory
-  &lt;/soapjms:jndiInitialContextFactory&gt;
+  &lt;soapjms:jndiInitialContextFactory&gt;com.example.jndi.InitialContextFactory&lt;/soapjms:jndiInitialContextFactory&gt;
   &lt;soapjms:timeTolive&gt;100&lt;/soapjms:timeToLive&gt;
-  ...
   &lt;wsdl11:port name=&quot;quickPort&quot; binding=&quot;tns:exampleBinding&quot;&gt;
-    ...
     &lt;soapjms:timeToLive&gt;10&lt;/soapjms:timeToLive&gt;
   &lt;/wsdl11:port&gt;
   &lt;wsdl11:port name=&quot;slowPort&quot; binding=&quot;tns:exampleBinding&quot;&gt;
@@ -194,27 +149,19 @@ PERSISTENT messages will be saved to dis
   &lt;/wsdl11:port&gt;
 &lt;/wsdl11:service&gt;
 ]]></script>
-</div></div>
-
-<p>If a property is specified at multiple levels, the setting at the most granular level takes precedence (port first, then service, then binding). In the above example, notice the timeToLive property &#8212; for the quickPort port, the value will be 10ms (specified at the port level). For the slowPort port, the value will be 100ms (specified at the service level). In this example, the setting in the binding will always be overridden.</p>
-
-<h2 id="SOAPoverJMS1.0support-WSDLUsage">WSDL Usage</h2>
-<p>For this example:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;wsdl:definitions name=&quot;JMSGreeterService&quot;
+</div></div><p>If a property is specified at multiple levels, the setting at the most granular level takes precedence (port first, then service, then binding). In the above example, notice the timeToLive property &#8212; for the quickPort port, the value will be 10ms (specified at the port level). For the slowPort port, the value will be 100ms (specified at the service level). In this example, the setting in the binding will always be overridden.</p><h2 id="SOAPoverJMS1.0support-WSDLUsage">WSDL Usage</h2><p>For this example:</p><div class="code panel pdl" style="border-width: 1px;">
+ <div class="codeHeader panelHeader pdl hide-border-bottom" style="border-bottom-width: 1px;">
+  <b class="code-title">Greeter Service with JMS transaport</b>
+  <span class="collapse-source expand-control"><span class="expand-control-icon icon">&#160;</span><span class="expand-control-text">Expand source</span></span>
+ </div>
+ <div class="codeContent panelContent pdl hide-toolbar"> 
+  <script class="theme: Default; brush: xml; collapse: true; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;wsdl:definitions name=&quot;JMSGreeterService&quot;
 	&lt;wsdl:binding name=&quot;JMSGreeterPortBinding&quot; type=&quot;tns:JMSGreeterPortType&quot;&gt;
-		&lt;soap:binding style=&quot;document&quot;
-			transport=&quot;http://www.w3.org/2010/soapjms/&quot; /&gt;
-		&lt;soapjms:jndiContextParameter name=&quot;name&quot;
-			value=&quot;value&quot; /&gt;
-		&lt;soapjms:jndiConnectionFactoryName&gt;ConnectionFactory
-		&lt;/soapjms:jndiConnectionFactoryName&gt;
-		&lt;soapjms:jndiInitialContextFactory&gt;
-			org.apache.activemq.jndi.ActiveMQInitialContextFactory
-		&lt;/soapjms:jndiInitialContextFactory&gt;
-		&lt;soapjms:jndiURL&gt;tcp://localhost:61616
-		&lt;/soapjms:jndiURL&gt;
+		&lt;soap:binding style=&quot;document&quot; transport=&quot;http://www.w3.org/2010/soapjms/&quot; /&gt;
+		&lt;soapjms:jndiContextParameter name=&quot;name&quot; value=&quot;value&quot; /&gt;
+		&lt;soapjms:jndiConnectionFactoryName&gt;ConnectionFactory&lt;/soapjms:jndiConnectionFactoryName&gt;
+		&lt;soapjms:jndiInitialContextFactory&gt;org.apache.activemq.jndi.ActiveMQInitialContextFactory&lt;/soapjms:jndiInitialContextFactory&gt;
+		&lt;soapjms:jndiURL&gt;tcp://localhost:61616&lt;/soapjms:jndiURL&gt;
 		&lt;soapjms:deliveryMode&gt;PERSISTENT&lt;/soapjms:deliveryMode&gt;
 		&lt;soapjms:priority&gt;5&lt;/soapjms:priority&gt;
 		&lt;soapjms:timeToLive&gt;1000&lt;/soapjms:timeToLive&gt;
@@ -229,28 +176,34 @@ PERSISTENT messages will be saved to dis
 		&lt;/wsdl:operation&gt;
 	&lt;/wsdl:binding&gt;
         &lt;wsdl:service name=&quot;JMSGreeterService&quot;&gt;
-		&lt;soapjms:jndiConnectionFactoryName&gt;ConnectionFactory
-		&lt;/soapjms:jndiConnectionFactoryName&gt;
-		&lt;soapjms:jndiInitialContextFactory&gt;
-			org.apache.activemq.jndi.ActiveMQInitialContextFactory
-		&lt;/soapjms:jndiInitialContextFactory&gt;
+		&lt;soapjms:jndiConnectionFactoryName&gt;ConnectionFactory&lt;/soapjms:jndiConnectionFactoryName&gt;
+		&lt;soapjms:jndiInitialContextFactory&gt;org.apache.activemq.jndi.ActiveMQInitialContextFactory&lt;/soapjms:jndiInitialContextFactory&gt;
 		&lt;wsdl:port binding=&quot;tns:JMSGreeterPortBinding&quot; name=&quot;GreeterPort&quot;&gt;
 			&lt;soap:address location=&quot;jms:jndi:dynamicQueues/test.cxf.jmstransport.queue&quot; /&gt;
 		&lt;/wsdl:port&gt;
 	&lt;/wsdl:service&gt;
 &lt;/wsdl:definitions&gt;
-]]></script>
-</div></div>
-
-<ul><li>The transport URI (<a shape="rect" class="external-link" href="http://www.w3.org/2010/soapjms/" rel="nofollow">http://www.w3.org/2010/soapjms/</a>) is defined in the &lt;soap:binding&gt;.</li><li>The jms: URI is defined in the &lt;soap:address&gt;</li><li>The extension properties are in the &lt;soap:binding&gt;</li></ul>
-
-
-<h2 id="SOAPoverJMS1.0support-PublishinganservicewiththeJAVAAPI">Publishing an service with the JAVA API</h2>
-<p>Developers who don't wish to modify the WSDL file can also publish the endpoint information using Java code.  For CXF's SOAP over JMS implementation you can write the following:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-  // You just need to set the address with JMS URI
+]]>
+  </script> 
+ </div>
+</div><ul><li>The transport URI (<a shape="rect" class="external-link" href="http://www.w3.org/2010/soapjms/" rel="nofollow">http://www.w3.org/2010/soapjms/</a>) is defined in the &lt;soap:binding&gt;.</li><li>The jms: URI is defined in the &lt;soap:address&gt;</li><li>The extension properties are in the &lt;soap:binding&gt;</li></ul><h2 id="SOAPoverJMS1.0support-Defineserviceendpointorproxyinspringorblueprint">Define service endpoint or proxy in spring or blueprint</h2><p>The JAXWS endpoint or proxy can be defined like in the SOAP/HTTP case. Just use a jms: uri like described above.</p><p>In CXF 3 it is possible to omit the jndi settings. Just specify an endpoint like this:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Endpoint in spring</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;bean id=&quot;ConnectionFactory&quot; class=&quot;org.apache.activemq.ActiveMQConnectionFactory&quot;&gt;
+  &lt;property name=&quot;brokerURL&quot; value=&quot;tcp://localhost:61616&quot;/&gt;
+&lt;/bean&gt;
+&lt;jaxws:endpoint id=&quot;CustomerService&quot;
+  address=&quot;jms:queue:test.cxf.jmstransport.queue?timeToLive=1000&quot;
+  implementor=&quot;com.example.customerservice.impl.CustomerServiceImpl&quot;&gt;
+&lt;/jaxws:endpoint&gt;]]></script>
+</div></div><p>or a Client like this:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Proxy in spring</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;bean id=&quot;ConnectionFactory&quot; class=&quot;org.apache.activemq.ActiveMQConnectionFactory&quot;&gt;
+  &lt;property name=&quot;brokerURL&quot; value=&quot;tcp://localhost:61616&quot;/&gt;
+&lt;/bean&gt;
+&lt;jaxws:client id=&quot;CustomerService&quot;
+  address=&quot;jms:queue:test.cxf.jmstransport.queue?timeToLive=1000&quot;
+  serviceClass=&quot;com.example.customerservice.CustomerService&quot;&gt;
+&lt;/jaxws:client&gt;]]></script>
+</div></div><p>The connection factory will be looked up as a bean in the context. By default the name "ConnectionFactory" is assumed but it can be configured using the jndiConnectionFactoryName uri parameter.</p><p>Alternatively the connection factory can be set using the ConnectionFactoryFeature.</p><h2 id="SOAPoverJMS1.0support-PublishingaservicewiththeJAVAAPI">Publishing a service with the JAVA API</h2><p>Developers who don't wish to modify the WSDL file can also publish the endpoint information using Java code. For CXF's SOAP over JMS implementation you can write the following:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[  // You just need to set the address with JMS URI
   String address = &quot;jms:jndi:dynamicQueues/test.cxf.jmstransport.queue3&quot;
       + &quot;?jndiInitialContextFactory&quot;
       + &quot;=org.apache.activemq.jndi.ActiveMQInitialContextFactory&quot;
@@ -263,11 +216,13 @@ PERSISTENT messages will be saved to dis
   svrFactory.setTransportId(JMSSpecConstants.SOAP_JMS_SPECIFICATION_TRANSPORTID);
   svrFactory.setServiceBean(implementor);
   svrFactory.create();
-]]></script>
-</div></div>
 
-<p>NOTE: Before you start the server, you need to make sure the JMS broker is stared,  you can find some useful code of starting the JMS broker here.</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+  // Alternatively using JAXWS Endpoint.create and avoiding JNDI
+  ConnectionFactory cf = new ActiveMQConnectionFactory(&quot;tcp://localhost:61500&quot;);
+  EndpointImpl ep = (EndpointImpl)Endpoint.create(impl);
+  ep.getFeatures().add(new ConnectionFactoryFeature(cf));
+  ep.publish(&quot;jms:queue:test.cxf.jmstransport.queue?timeToLive=1000&quot;);]]></script>
+</div></div><p>NOTE: For tests it can be useful to create an embedded broker like this:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 public final void run() {
     try {             
@@ -286,20 +241,13 @@ public final void run() {
     }
 }
 ]]></script>
-</div></div>
-
-<h2 id="SOAPoverJMS1.0support-ConsumetheservicewiththeAPI">Consume the service with the API</h2>
-
-<p>Sample code to consume a SOAP-over-JMS service is as follows:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-    public void invoke() throws Exception {
+</div></div><h2 id="SOAPoverJMS1.0support-ConsumetheservicewiththeAPI">Consume the service with the API</h2><p>Sample code to consume a SOAP-over-JMS service is as follows:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[    public void invoke() throws Exception {
         // You just need to set the address with JMS URI
         String address = &quot;jms:jndi:dynamicQueues/test.cxf.jmstransport.queue3&quot;
-            + &quot;?jndiInitialContextFactory&quot;
-            + &quot;=org.apache.activemq.jndi.ActiveMQInitialContextFactory&quot;
-            + &quot;&amp;jndiConnectionFactoryName=ConnectionFactory&amp;jndiURL=&quot;
-            + &quot;tcp://localhost:61500&quot;;
+            + &quot;?jndiInitialContextFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactory&quot;
+            + &quot;&amp;jndiConnectionFactoryName=ConnectionFactory&quot;
+            + &quot;&amp;jndiURL=tcp://localhost:61500&quot;;
         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
         // And specify the transport ID with SOAP over JMS specification
         factory.setTransportId(JMSSpecConstants.SOAP_JMS_SPECIFICIATION_TRANSPORTID);
@@ -309,19 +257,17 @@ public final void run() {
         String reply = client.sayHi(&quot; HI&quot;);
         System.out.println(reply);
     }
-]]></script>
-</div></div>
-
-<p>Even if you want to use the 'queue' or 'topic' variants and avoid dealing with JNDI directly, you still have to specify the two factory parameters in the address:</p>
 
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-svrFactory.setAddress(&quot;jms:queue:test.cxf.jmstransport.queue?timeToLive=1000&quot;
-                              + &quot;&amp;jndiConnectionFactoryName=ConnectionFactory&quot;
-                              + &quot;&amp;jndiInitialContextFactory&quot;
-                              + &quot;=org.apache.activemq.jndi.ActiveMQInitialContextFactory&quot;);
-]]></script>
-</div></div></div>
+  // Alternatively using the JAXWS API with jms details defined in WSDL while avoiding JNDI
+  SOAPService2 service = new SOAPService2(wsdl, serviceName); // Using the generated service
+  ConnectionFactory cf = new ActiveMQConnectionFactory(&quot;tcp://localhost:61500&quot;);
+  ConnectionFactoryFeature cff = new ConnectionFactoryFeature(cf);
+  Greeter greeter = service.getPort(portName, Greeter.class, cff); // Connection Factory can be set as a feature in CXF &gt;= 3.0.0 ]]></script>
+</div></div><p>If you specify queue or topic as variant and use cxf &gt;= 3.0.0 then the jndi settings are not necessary.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[svrFactory.setAddress(&quot;jms:queue:test.cxf.jmstransport.queue?timeToLive=1000&quot;);
+// For CXF &gt;= 3.0.0
+svrFactory.setFeatures(Collections.singletonList(new ConnectionFactoryFeature(cf)));]]></script>
+</div></div><p>In this case case the connection factory is supplied using a feature. For CXF 2.x the connection factory can only be supplied using jndi.</p><p>&#160;</p></div>
            </div>
            <!-- Content -->
          </td>

Modified: websites/production/cxf/content/docs/transports.html
==============================================================================
--- websites/production/cxf/content/docs/transports.html (original)
+++ websites/production/cxf/content/docs/transports.html Tue Apr 22 12:47:36 2014
@@ -110,7 +110,7 @@ Apache CXF -- Transports
 <div id="ConfluenceContent"><h1 id="Transports-Transports">Transports</h1>
 <p>CXF include support for several transport protocols including HTTP, Servlet, JMS, UDP, In-VM and many others via the Camel transport for CXF such as SMTP/POP3, TCP and Jabber. CXF transport implementation is also flexible and provides the possibility to add own custom transport.</p>
 
-<ul class="childpages-macro"><li><a shape="rect" href="http-transport.html">HTTP Transport</a><ul class="childpages-macro"><li><a shape="rect" href="asynchronous-client-http-transport.html">Asynchronous Client HTTP Transport</a></li><li><a shape="rect" href="client-http-transport-including-ssl-support.html">Client HTTP Transport (including SSL support)</a></li><li><a shape="rect" href="jetty-configuration.html">Jetty Configuration</a></li><li><a shape="rect" href="server-http-transport.html">Server HTTP Transport</a></li><li><a shape="rect" href="servlet-transport.html">Servlet Transport</a></li><li><a shape="rect" href="standalone-http-transport.html">Standalone HTTP Transport</a></li></ul></li><li><a shape="rect" href="jms-transport.html">JMS Transport</a><ul class="childpages-macro"><li><a shape="rect" href="soap-over-jms-10-support.html">SOAP over JMS 1.0 support</a></li><li><a shape="rect" href="using-the-jmsconfigfeature.html">Using the JMSConfigFeature</a></li></ul></li><li><
 a shape="rect" href="local-transport.html">Local Transport</a></li><li><a shape="rect" href="udp-transport.html">UDP Transport</a><ul class="childpages-macro"><li><a shape="rect" href="soap-over-udp.html">SOAP over UDP</a></li></ul></li><li><a shape="rect" href="custom-transport.html">Custom Transport</a></li><li><a shape="rect" href="coloc-feature.html">Coloc Feature</a></li><li><a shape="rect" href="apache-camel-transport.html">Apache Camel Transport</a></li><li><a shape="rect" href="websocket.html">WebSocket</a></li></ul></div>
+<ul class="childpages-macro"><li><a shape="rect" href="http-transport.html">HTTP Transport</a><ul class="childpages-macro"><li><a shape="rect" href="asynchronous-client-http-transport.html">Asynchronous Client HTTP Transport</a></li><li><a shape="rect" href="client-http-transport-including-ssl-support.html">Client HTTP Transport (including SSL support)</a></li><li><a shape="rect" href="jetty-configuration.html">Jetty Configuration</a></li><li><a shape="rect" href="server-http-transport.html">Server HTTP Transport</a></li><li><a shape="rect" href="servlet-transport.html">Servlet Transport</a></li><li><a shape="rect" href="standalone-http-transport.html">Standalone HTTP Transport</a></li></ul></li><li><a shape="rect" href="jms-transport.html">JMS Transport</a><ul class="childpages-macro"><li><a shape="rect" href="cxf-2x-jms-configuration-removed-in-cxf-3.html">CXF 2.x JMS configuration (removed in CXF 3)</a></li><li><a shape="rect" href="jms-performance-and-pooling.html">JMS performan
 ce and pooling</a></li><li><a shape="rect" href="jms-transactions.html">JMS transactions</a></li><li><a shape="rect" href="soap-over-jms-10-support.html">SOAP over JMS 1.0 support</a></li><li><a shape="rect" href="using-the-jmsconfigfeature.html">Using the JMSConfigFeature</a></li></ul></li><li><a shape="rect" href="local-transport.html">Local Transport</a></li><li><a shape="rect" href="udp-transport.html">UDP Transport</a><ul class="childpages-macro"><li><a shape="rect" href="soap-over-udp.html">SOAP over UDP</a></li></ul></li><li><a shape="rect" href="custom-transport.html">Custom Transport</a></li><li><a shape="rect" href="coloc-feature.html">Coloc Feature</a></li><li><a shape="rect" href="apache-camel-transport.html">Apache Camel Transport</a></li><li><a shape="rect" href="websocket.html">WebSocket</a></li></ul></div>
            </div>
            <!-- Content -->
          </td>

Added: websites/production/cxf/content/docs/using-cxf-and-cdi-11-jsr-346.html
==============================================================================
--- websites/production/cxf/content/docs/using-cxf-and-cdi-11-jsr-346.html (added)
+++ websites/production/cxf/content/docs/using-cxf-and-cdi-11-jsr-346.html Tue Apr 22 12:47:36 2014
@@ -0,0 +1,302 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+  <head>
+
+<link type="text/css" rel="stylesheet" href="/resources/site.css">
+<script src='/resources/space.js'></script>
+
+<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
+<meta name="keywords" content="business integration, EAI, SOA, Service Oriented Architecture, web services, SOAP, JBI, JMS, WSDL, XML, EDI, Electronic Data Interchange, standards support, integration standards, application integration, middleware, software, solutions, services, CXF, open source">
+<meta name="description" content="Apache CXF, Services Framework - Using CXF and CDI 1.1 (JSR-346)">
+
+
+<link type="text/css" rel="stylesheet" href="/resources/highlighter/styles/shCoreCXF.css">
+<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/shBrushXml.js'></script>
+<script>
+  SyntaxHighlighter.defaults['toolbar'] = false;
+  SyntaxHighlighter.all();
+</script>
+
+
+    <title>
+Apache CXF -- Using CXF and CDI 1.1 (JSR-346)
+    </title>
+  </head>
+<body onload="init()">
+
+
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr>
+    <td id="cell-0-0" colspan="2">&nbsp;</td>
+    <td id="cell-0-1">&nbsp;</td>
+    <td id="cell-0-2" colspan="2">&nbsp;</td>
+  </tr>
+  <tr>
+    <td id="cell-1-0">&nbsp;</td>
+    <td id="cell-1-1">&nbsp;</td>
+    <td id="cell-1-2">
+      <!-- Banner -->
+<div class="banner" id="banner"><div><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td align="left" colspan="1" nowrap>
+<a shape="rect" href="http://cxf.apache.org/" title="Apache CXF"><span style="font-weight: bold; font-size: 170%; color: white">Apache CXF</span></a>
+</td><td align="right" colspan="1" nowrap>
+<a shape="rect" href="http://www.apache.org/" title="The Apache Sofware Foundation"><img border="0" alt="ASF Logo" src="http://cxf.apache.org/images/asf-logo.png"></a>
+</td></tr></table></div></div>
+      <!-- Banner -->
+      <div id="top-menu">
+        <table border="0" cellpadding="1" cellspacing="0" width="100%">
+          <tr>
+            <td>
+              <div align="left">
+                <!-- Breadcrumbs -->
+<a href="index.html">Index</a>&nbsp;&gt;&nbsp;<a href="deployment.html">Deployment</a>&nbsp;&gt;&nbsp;<a href="using-cxf-and-cdi-11-jsr-346.html">Using CXF and CDI 1.1 (JSR-346)</a>
+                <!-- Breadcrumbs -->
+              </div>
+            </td>
+            <td>
+              <div align="right">
+                <!-- Quicklinks -->
+<div id="quicklinks"><p><a shape="rect" href="http://cxf.apache.org/download.html">Download</a> | <a shape="rect" href="http://cxf.apache.org/docs/index.html">Documentation</a></p></div>
+                <!-- Quicklinks -->
+              </div>
+            </td>
+          </tr>
+        </table>
+      </div>
+    </td>
+    <td id="cell-1-3">&nbsp;</td>
+    <td id="cell-1-4">&nbsp;</td>
+  </tr>
+  <tr>
+    <td id="cell-2-0" colspan="2">&nbsp;</td>
+    <td id="cell-2-1">
+      <table>
+        <tr valign="top">
+          <td height="100%">
+            <div id="wrapper-menu-page-right">
+              <div id="wrapper-menu-page-top">
+                <div id="wrapper-menu-page-bottom">
+                  <div id="menu-page">
+                    <!-- NavigationBar -->
+<div id="navigation"><ul class="alternate"><li><a shape="rect" href="overview.html">Overview</a></li><li><a shape="rect" href="how-tos.html">How-Tos</a></li><li><a shape="rect" href="frontends.html">Frontends</a></li><li><a shape="rect" href="databindings.html">DataBindings</a></li><li><a shape="rect" href="transports.html">Transports</a></li><li><a shape="rect" href="configuration.html">Configuration</a></li><li><a shape="rect" href="debugging-and-logging.html">Debugging and Logging</a></li><li><a shape="rect" href="tools.html">Tools</a></li><li><a shape="rect" href="restful-services.html">RESTful Services</a></li><li><a shape="rect" href="wsdl-bindings.html">WSDL Bindings</a></li><li><a shape="rect" href="service-routing.html">Service Routing</a></li><li><a shape="rect" href="dynamic-languages.html">Dynamic Languages</a></li><li><a shape="rect" href="ws-support.html">WS-* Support</a></li><li><a shape="rect" href="advanced-integration.html">Advanced Integration</a></li><li><a shape
 ="rect" href="deployment.html">Deployment</a></li><li><a shape="rect" href="schemas-and-namespaces.html">Use of Schemas and Namespaces</a></li></ul><hr><ul class="alternate"><li><p>Search</p></li></ul><form enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box" action="http://www.google.com/cse">
+  <div>
+    <input type="hidden" name="cx" value="002890367768291051730:o99qiwa09y4">
+    <input type="hidden" name="ie" value="UTF-8">
+    <input type="text" name="q" size="21">
+    <input type="submit" name="sa" value="Search">
+  </div>
+</form>
+<script type="text/javascript" src="http://www.google.com/cse/brand?form=cse-search-box&amp;lang=en"></script><hr><ul class="alternate"><li><a shape="rect" href="http://cxf.apache.org/javadoc/latest/">API 2.x (Javadoc)</a></li><li><a shape="rect" href="http://cxf.apache.org/javadoc/latest-3.0.x/">API 3.x (Javadoc)</a></li><li><a shape="rect" href="http://cxf.apache.org/">CXF Website</a></li></ul></div>
+                    <!-- NavigationBar -->
+                  </div>
+              </div>
+            </div>
+          </div>
+         </td>
+         <td height="100%">
+           <!-- Content -->
+           <div class="wiki-content">
+<div id="ConfluenceContent"><h1 id="UsingCXFandCDI1.1(JSR-346)-Introduction">Introduction&#160;</h1><p>The JAX-RS 2.0 specification (JSR-339) mandates the support of CDI 1.1 (JSR-346) and Apache CXF starting from the version 3.0 introduces the initial support of this feature. As the starting point, the emphasis has been done on supporting embedded Jety 8/9 and Tomcat 7/8 containers as primary deployment (though other application servers will be supported in the future).&#160;</p><h1 id="UsingCXFandCDI1.1(JSR-346)-Architectureanddesign">Architecture and design&#160;</h1><p>At the moment, the integration of Apache CXF and CDI revolves around two key components, which reside in the new module called <strong>cxf-integration-cdi</strong></p><ul><li><strong>CXFCdiServlet</strong> servlet</li><li><strong>JAXRSCdiResourceExtension</strong> portable CDI extension</li></ul><p>The fact of including <strong>cxf-integration-cdi</strong> as a dependency allows&#160; <strong>JAXRSCdiResourceExtens
 ion</strong>&#160;&#160;portable CDI extension to be discovered by CDI container. The&#160; <strong>JAXRSCdiResourceExtension</strong> creates the instance of the <strong>Bus</strong>&#160;and registers&#160;it with <strong>BeanManager</strong>. From this point, the&#160; <strong>Bus</strong> instance is a regular CDI bean (with <span><strong>@</strong><span><strong>Application</strong> scope)</span></span> available for injection.&#160;This instance of the&#160; <strong>Bus</strong> is being injected into&#160;<strong>CXFCdiServlet</strong> servlet once it is initialized by servlet container.</p><p>Depending on the design, <strong>JAXRSCdiResourceExtension</strong> may use zero-based configuration approach or rely on particular JAX-RS <strong>Application</strong> instances. The&#160;<strong>org.apache.cxf.cdi.CXFCdiServlet</strong> should be configured as well (more examples for programmatic and WAR scenarios below).</p><h1 id="UsingCXFandCDI1.1(JSR-346)-Zero-basedConfiguration">Ze
 ro-based Configuration</h1><p>If the Apache CXF application contains only one single instance of JAX-RS <strong>Application</strong> (annotated with <strong>@ApplicationPath</strong>) with no singletons and classes defined, the following rules are being applied by <strong>JAXRSCdiResourceExtension</strong> in order to configure and publish the configured JAX-RS resources:</p><ul><li>the instance of the JAX-RS <strong>Application</strong> (annotated with <strong>@ApplicationPath</strong>) is being created and registered with <strong>BeanManager</strong></li><li>all instances of the discovered JAX-RS <strong>providers </strong>(annotated with <strong>@Provider</strong>) are being created and registered with <strong>BeanManager</strong></li><li>all instances of the discovered JAX-RS <strong>resources</strong> (annotated with <strong>@Path</strong>) are being created and registered with <strong>BeanManager</strong></li></ul><p>Lastly, the instance of the <strong>JAXRSServerFactoryBean</
 strong> is being created and configured with all service beans and providers discovered before. Additionally, the providers are enriched with the services for <strong>javax.ws.rs.ext.MessageBodyReader</strong> and <strong>javax.ws.rs.ext.MessageBodyWriter</strong>, loaded via <strong>ServiceLoader</strong>. From this moment, Apache CXF application is ready to serve the requests. The quick example is shown below.</p><p>The empty JAX-RS <strong>Application</strong>:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[@ApplicationPath(&quot;/api&quot;)
+public class BookStoreApplication extends Application {
+}]]></script>
+</div></div><p>And one JAX-RS resource:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[@Path(&quot;/bookstore/&quot;)
+public class BookStore {
+    @Inject private BookStoreService service;
+    
+    @GET
+    @Path(&quot;/books/{bookId}&quot;)
+    @Produces(MediaType.APPLICATION_JSON)
+    public Book getBook(@PathParam(&quot;bookId&quot;) String id) {
+        return service.get(id);
+    }
+}]]></script>
+</div></div><h1 id="UsingCXFandCDI1.1(JSR-346)-CustomizedConfiguration">Customized Configuration</h1><p>If the Apache CXF application contains one or more instances of JAX-RS <strong>Application</strong> (annotated with <strong>@ApplicationPath</strong>) with singletons or classes defined, the following rules are being applied by <strong>JAXRSCdiResourceExtension</strong> in order to configure and publish the configured JAX-RS resources:</p><ul><li>the instance of each JAX-RS <strong>Application</strong> (annotated with <strong>@ApplicationPath</strong>) is being created and registered with <strong>BeanManager</strong></li><li>for each JAX-RS <strong>Application</strong> instance created before, the instance of the <strong>JAXRSServerFactoryBean</strong> is being created and configured in a way that application's singletons/classes are being splitted to providers&#160;(annotated with <strong>@Provider</strong>), service beans (annotated with <strong>@Path</strong>) and features (imp
 lementation of <strong>org.apache.cxf.feature.Feature</strong>)<strong> </strong></li></ul><p>From this moment, Apache CXF application is ready to serve the requests. The quick example is shown below.</p><p>The configured JAX-RS <strong>Application</strong>:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[@ApplicationPath(&quot;/custom&quot;)
+public class BookStoreCustomApplication extends Application {
+    @Inject private BookStore bookStore;
+    
+    @Override
+    public Set&lt; Object &gt; getSingletons() {
+        return Sets.&lt; Object &gt;newHashSet(
+            bookStore, 
+            new JacksonJsonProvider(),
+            new ValidationExceptionMapper(),
+            new JAXRSBeanValidationFeature());
+    }
+}]]></script>
+</div></div><p>And one JAX-RS resource:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[@Path(&quot;/bookstore/&quot;)
+public class BookStore {
+    @Inject private BookStoreService service;
+    
+    @GET
+    @Path(&quot;/books/{bookId}&quot;)
+    @Produces(MediaType.APPLICATION_JSON)
+    public Book getBook(@PathParam(&quot;bookId&quot;) String id) {
+        return service.get(id);
+    }
+}]]></script>
+</div></div><h1 id="UsingCXFandCDI1.1(JSR-346)-DeployingwithembeddedJetty8/9(programmaticconfiguration)">Deploying with embedded Jetty 8/9 (programmatic configuration)</h1><p>With <strong>Jetty 8/9</strong> it possible to create fully embeddable REST / JAX-RS servers without <strong>web.xml</strong> or <strong>WAR</strong>&#160;files involved. For Apache CXF applications which are using CDI 1.1, the&#160;<strong>CXFCdiServlet</strong>&#160;servlet should be used as a starting point. Following example demonstrates the necessary configuration points in order to create embedded <strong>Jetty 8/9</strong> instance. As a CDI 1.1 implementation, <strong>JBoss Weld 2.0</strong> is being used.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[System.setProperty(&quot;java.naming.factory.url&quot;, &quot;org.eclipse.jetty.jndi&quot;);
+System.setProperty(&quot;java.naming.factory.initial&quot;, &quot;org.eclipse.jetty.jndi.InitialContextFactory&quot;);
+
+// Register and map the dispatcher servlet
+final Server server = new Server(&lt;port&gt;);
+final ServletHolder servletHolder = new ServletHolder(new CXFCdiServlet());
+final ServletContextHandler context = new ServletContextHandler();         
+context.setContextPath(&lt;context path&gt;);          
+context.addEventListener(new Listener());         
+context.addEventListener(new BeanManagerResourceBindingListener());
+context.addServlet(servletHolder, &quot;/rest/*&quot;);
+server.setHandler(context);
+server.start();]]></script>
+</div></div><p>This code snippet is enough to trigger the CDI portable extension discovery, to perform the configuration (depending on JAX-RS <strong>Applications</strong> present) and to wire up all defined dependencies together.</p><h1 id="UsingCXFandCDI1.1(JSR-346)-DeployingwithembeddedJetty8/9(WAR-baseddeployment)">Deploying with embedded Jetty 8/9 (WAR-based deployment)&#160;</h1><p>Another option to deploy Apache CXF application with CDI 1.1 support and embedded <strong>Jetty 8/9</strong> is by using <strong>web.xml</strong> descriptor and WAR-like deployment structure. In this case, the Apache CXF application needs to declare <strong>CXFCdiServlet</strong>&#160;servlet (and its mappings) and, if required, CDI-specific listeners (in the example below the <strong>JBoss Weld 2.0</strong> is being used as CDI 1.1 container).</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;web-app version=&quot;3.0&quot; xmlns=&quot;http://java.sun.com/xml/ns/javaee&quot;
+    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&gt;
+
+    &lt;listener&gt;
+        &lt;listener-class&gt;org.jboss.weld.environment.servlet.Listener&lt;/listener-class&gt;
+    &lt;/listener&gt;
+
+    &lt;servlet&gt;
+        &lt;servlet-name&gt;CXFServlet&lt;/servlet-name&gt;
+        &lt;display-name&gt;CXF Servlet&lt;/display-name&gt;
+        &lt;servlet-class&gt;org.apache.cxf.cdi.CXFCdiServlet&lt;/servlet-class&gt;    
+        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
+    &lt;/servlet&gt;
+
+    &lt;servlet-mapping&gt;
+        &lt;servlet-name&gt;CXFServlet&lt;/servlet-name&gt;
+        &lt;url-pattern&gt;/rest/*&lt;/url-pattern&gt;
+    &lt;/servlet-mapping&gt;
+
+    &lt;resource-env-ref&gt;
+        &lt;resource-env-ref-name&gt;BeanManager&lt;/resource-env-ref-name&gt;
+        &lt;resource-env-ref-type&gt;javax.enterprise.inject.spi.BeanManager
+        &lt;/resource-env-ref-type&gt;
+    &lt;/resource-env-ref&gt;
+&lt;/web-app&gt;]]></script>
+</div></div><p>The server initialization in this case looks simpler.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[System.setProperty(&quot;java.naming.factory.url&quot;, &quot;org.eclipse.jetty.jndi&quot;);
+System.setProperty(&quot;java.naming.factory.initial&quot;, &quot;org.eclipse.jetty.jndi.InitialContextFactory&quot;);
+
+final Server server = new Server(&lt;port&gt;);
+final WebAppContext context = new WebAppContext();
+context.setContextPath(&lt;context path&gt;);
+context.setWar(&lt;path to WAR folder/file&gt;);
+context.setServerClasses(new String[] { &quot;org.eclipse.jetty.servlet.ServletContextHandler.Decorator&quot; });
+        
+HandlerCollection handlers = new HandlerCollection();
+handlers.setHandlers(new Handler[] {context, new DefaultHandler()});
+server.setHandler(handlers);
+server.start();]]></script>
+</div></div><p>Please notice, usage of Jetty-specific server classes ("org.eclipse.jetty.servlet.ServletContextHandler.Decorator") is very important to allow CDI 1.1 injections (backed by <strong>JBoss Weld 2.0</strong>) to work seamlessly across servlets / listeners / filters. It is not stricktly necessary for Apache CXF (everything will work as expected) but complex applications would definitely benefit from that.</p><h1 id="UsingCXFandCDI1.1(JSR-346)-DeployingwithembeddedTomcat7/8(WAR-baseddeployment)">Deploying with embedded Tomcat 7/8 (WAR-based deployment)&#160;</h1><p>In case of embedded Tomcat 7/8, Apache CXF application with CDI 1.1 support could be deployed with <strong>web.xml</strong> descriptor and WAR-like deployment structure, similarly to Jetty 8/9 WAR-based deployment. Apache CXF application needs to declare <strong>CXFCdiServlet</strong>&#160;servlet (and its mappings) and, if required, CDI-specific listeners (in the example below the <strong>JBoss Weld 2.0</strong
 > is being used as CDI 1.1 container).</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;web-app version=&quot;3.0&quot; xmlns=&quot;http://java.sun.com/xml/ns/javaee&quot;
+    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&gt;
+
+    &lt;listener&gt;
+        &lt;listener-class&gt;org.jboss.weld.environment.servlet.Listener&lt;/listener-class&gt;
+    &lt;/listener&gt;
+
+    &lt;servlet&gt;
+        &lt;servlet-name&gt;CXFServlet&lt;/servlet-name&gt;
+        &lt;display-name&gt;CXF Servlet&lt;/display-name&gt;
+        &lt;servlet-class&gt;org.apache.cxf.cdi.CXFCdiServlet&lt;/servlet-class&gt;    
+        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
+    &lt;/servlet&gt;
+
+    &lt;servlet-mapping&gt;
+        &lt;servlet-name&gt;CXFServlet&lt;/servlet-name&gt;
+        &lt;url-pattern&gt;/rest/*&lt;/url-pattern&gt;
+    &lt;/servlet-mapping&gt;
+
+    &lt;resource-env-ref&gt;
+        &lt;resource-env-ref-name&gt;BeanManager&lt;/resource-env-ref-name&gt;
+        &lt;resource-env-ref-type&gt;javax.enterprise.inject.spi.BeanManager
+        &lt;/resource-env-ref-type&gt;
+    &lt;/resource-env-ref&gt;
+&lt;/web-app&gt;]]></script>
+</div></div><p>Tomcat 7/8 server has a different API, by still quite simple initialization procedure.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[final Tomcat server = new Tomcat();
+server.setPort(&lt;port&gt;);
+
+final File base = createTemporaryDirectory();
+server.setBaseDir(base.getAbsolutePath());    
+    
+server.getHost().setAppBase(base.getAbsolutePath());
+server.getHost().setAutoDeploy(true);
+server.getHost().setDeployOnStartup(true);
+            
+server.addWebapp(&lt;context path&gt;, &lt;path to WAR folder/file&gt;);   
+server.start();]]></script>
+</div></div><h1 id="UsingCXFandCDI1.1(JSR-346)-Futurework">Future work</h1><p>The Apache CXF team is committed to improve the CDI integration and to cover more deployment scenarios and wide range of application configurations and demands.</p></div>
+           </div>
+           <!-- Content -->
+         </td>
+        </tr>
+      </table>
+   </td>
+   <td id="cell-2-2" colspan="2">&nbsp;</td>
+  </tr>
+  <tr>
+   <td id="cell-3-0">&nbsp;</td>
+   <td id="cell-3-1">&nbsp;</td>
+   <td id="cell-3-2">
+     <div id="footer">
+       <!-- Footer -->
+       <div id="site-footer">
+         <a href="http://cxf.apache.org/privacy-policy.html">Privacy Policy</a> - 
+         (<a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=40509086">edit page</a>) 
+	 (<a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=40509086&amp;showComments=true&amp;showCommentArea=true#addcomment">add comment</a>)<br>
+	Apache CXF, CXF, Apache, the Apache feather logo are trademarks of The Apache Software Foundation.<br>
+        All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+       </div>
+       <!-- Footer -->
+     </div>
+   </td>
+   <td id="cell-3-3">&nbsp;</td>
+   <td id="cell-3-4">&nbsp;</td>
+  </tr>
+  <tr>
+    <td id="cell-4-0" colspan="2">&nbsp;</td>
+    <td id="cell-4-1">&nbsp;</td>
+    <td id="cell-4-2" colspan="2">&nbsp;</td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try {
+var pageTracker = _gat._getTracker("UA-4458903-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+
+</body>
+</html>
+

Modified: websites/production/cxf/content/docs/validationfeature.html
==============================================================================
--- websites/production/cxf/content/docs/validationfeature.html (original)
+++ websites/production/cxf/content/docs/validationfeature.html Tue Apr 22 12:47:36 2014
@@ -118,18 +118,18 @@ Apache CXF -- ValidationFeature
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><h1 id="ValidationFeature-BeanValidationFeature">Bean Validation Feature</h1><p>&#160;</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1396468203478 {padding: 0px;}
-div.rbtoc1396468203478 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1396468203478 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1398170820735 {padding: 0px;}
+div.rbtoc1398170820735 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1398170820735 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1396468203478">
+/*]]>*/</style></p><div class="toc-macro rbtoc1398170820735">
 <ul class="toc-indentation"><li><a shape="rect" href="#ValidationFeature-BeanValidationFeature">Bean Validation Feature</a></li><li><a shape="rect" href="#ValidationFeature-Introduction">Introduction</a></li><li><a shape="rect" href="#ValidationFeature-Dependencies">Dependencies</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#ValidationFeature-UsingHibernateValidatorasbeanvalidationprovider">Using Hibernate Validator as bean validation provider</a></li><li><a shape="rect" href="#ValidationFeature-UsingApacheBValasbeanvalidationprovider">Using Apache BVal as bean validation provider</a></li></ul>
 </li><li><a shape="rect" href="#ValidationFeature-CommonBeanValidation1.1Interceptors">Common Bean Validation 1.1 Interceptors</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#ValidationFeature-Configuration">Configuration</a></li></ul>
 </li><li><a shape="rect" href="#ValidationFeature-BeanValidation1.1andJAX-RS2.0">Bean Validation 1.1 and JAX-RS 2.0</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#ValidationFeature-ConfiguringBeanValidation1.1usingJAXRSServerFactoryBean">Configuring Bean Validation 1.1 using JAXRSServerFactoryBean</a></li><li><a shape="rect" href="#ValidationFeature-ConfiguringBeanValidation1.1usingSpringbeandefinitionsXML">Configuring Bean Validation 1.1 using Spring bean definitions XML</a></li><li><a shape="rect" href="#ValidationFeature-ValidationExceptionsandHTTPstatuscodes">Validation Exceptions and HTTP status codes</a></li></ul>
-</li><li><a shape="rect" href="#ValidationFeature-Examples">Examples</a>
+</li><li><a shape="rect" href="#ValidationFeature-CustomizingValidationProvider">Customizing Validation Provider</a></li><li><a shape="rect" href="#ValidationFeature-Examples">Examples</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#ValidationFeature-Validatingsimpleinputparameters">Validating simple input parameters</a></li><li><a shape="rect" href="#ValidationFeature-Validatingcomplexinputparameters">Validating complex input parameters</a></li><li><a shape="rect" href="#ValidationFeature-Validatingreturnvalues(non-Response)">Validating return values (non-Response)</a></li><li><a shape="rect" href="#ValidationFeature-Validatingreturnvalues(Response)">Validating return values (Response)</a></li></ul>
 </li><li><a shape="rect" href="#ValidationFeature-BeanValidationandSchemaValidation">Bean Validation and Schema Validation</a></li></ul>
 </div><h1 id="ValidationFeature-Introduction">Introduction</h1><p>Bean Validation 1.1 (JSR-349), an evolution of Bean Validation 1.0 (JSR-303), introduces declarative constraints (based on Java annotations) to define the expectations for:</p><ul class="alternate"><li>properties of Java Beans</li><li>method and constructor parameters</li><li>method return values</li></ul><p>For example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -273,7 +273,7 @@ sf.create();
                             <p>The details of validation exceptions are not currently included into the response but only logged. Application developers are encouraged to register custom exception mappers if reporting the validation error details is required.</p>
                     </div>
     </div>
-<h1 id="ValidationFeature-Examples">Examples</h1><p>The following examples show JAX-RS resource methods being validated but predefined or custom Bean Validation 1.1 constraints can be applied to JAX-WS service methods exactly the same way.</p><h2 id="ValidationFeature-Validatingsimpleinputparameters">Validating simple input parameters</h2><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h1 id="ValidationFeature-CustomizingValidationProvider">Customizing Validation Provider</h1><p><a shape="rect" class="external-link" href="https://git-wip-us.apache.org/repos/asf?p=cxf.git;a=blob;f=core/src/main/java/org/apache/cxf/validation/BeanValidationProvider.java;h=2efc7a15f79646d93af9588244c726832221461d;hb=HEAD">org.apache.cxf.validation.BeanValidationProvider</a> is a wrapper around javax.validation.ValidationFactory and used by CXF validation interceptors.</p><p>It is created if it has not been injected. However if one needs to customize javax.validation.ValidationFactory then a custom BeanValidationProvider instance can be injected via the 'provider' property into</p><p>the bean validation interceptors.BeanValidationProvider has the default constructor, the one accepting javax.validation.ParameterNameProvider, etc, see the source for more details.</p><p>For example, one can customize the way parameters can be described on the JAX-RS path by injecting <a shape="rect" cla
 ss="external-link" href="https://git-wip-us.apache.org/repos/asf?p=cxf.git;a=blob;f=rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/validation/JAXRSParameterNameProvider.java;h=62898defcedf0f1f27505273a9ae34dc9adea528;hb=HEAD">JAXRSParameterNameProvider</a> into BeanValidationProvider.</p><h1 id="ValidationFeature-Examples">Examples</h1><p>The following examples show JAX-RS resource methods being validated but predefined or custom Bean Validation 1.1 constraints can be applied to JAX-WS service methods exactly the same way.</p><h2 id="ValidationFeature-Validatingsimpleinputparameters">Validating simple input parameters</h2><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[@POST
 @Path(&quot;/books&quot;)
 public Response addBook(



Mime
View raw message