Author: buildbot
Date: Tue Apr 1 11:48:00 2014
New Revision: 904535
Log:
Production update by buildbot for cxf
Modified:
websites/production/cxf/content/cache/docs.pageCache
websites/production/cxf/content/docs/jax-rs.html
Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/cxf/content/docs/jax-rs.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs.html (original)
+++ websites/production/cxf/content/docs/jax-rs.html Tue Apr 1 11:48:00 2014
@@ -119,11 +119,11 @@ Apache CXF -- JAX-RS
<!-- Content -->
<div class="wiki-content">
<div id="ConfluenceContent"><p> </p><p> </p><span
style="font-size:2em;font-weight:bold"> JAX-RS (JSR-339)
</span><p> </p><p> </p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1396025255266 {padding: 0px;}
-div.rbtoc1396025255266 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1396025255266 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1396352859555 {padding: 0px;}
+div.rbtoc1396352859555 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1396352859555 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1396025255266">
+/*]]>*/</style></p><div class="toc-macro rbtoc1396352859555">
<ul class="toc-indentation"><li><a shape="rect"
href="#JAX-RS-Introduction">Introduction</a></li><li><a shape="rect"
href="#JAX-RS-JAX-RSCompliance">JAX-RS Compliance</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#JAX-RS-1.1">1.1</a></li><li><a shape="rect" href="#JAX-RS-2.0Final">2.0
Final</a></li></ul>
</li><li><a shape="rect" href="#JAX-RS-Projectsetupandconfiguration">Project
setup and configuration</a>
@@ -137,7 +137,7 @@ div.rbtoc1396025255266 li {margin-left:
</li><li><a shape="rect" href="#JAX-RS-AdvancedFeatures">Advanced Features</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#JAX-RS-Multiparts">Multiparts</a></li><li><a shape="rect"
href="#JAX-RS-SecureJAX-RSservices">Secure JAX-RS services</a></li><li><a
shape="rect" href="#JAX-RS-FailoverandLoadDistributionFeatures">Failover and
Load Distribution Features</a></li><li><a shape="rect"
href="#JAX-RS-Redirection">Redirection</a></li><li><a shape="rect"
href="#JAX-RS-XSLTandXPath">XSLT and XPath</a></li><li><a shape="rect"
href="#JAX-RS-ComplexSearchQueries">Complex Search Queries</a></li><li><a
shape="rect" href="#JAX-RS-Model-View-Controllersupport">Model-View-Controller
support</a></li><li><a shape="rect"
href="#JAX-RS-CombiningJAX-WSandJAX-RS">Combining JAX-WS and
JAX-RS</a></li><li><a shape="rect"
href="#JAX-RS-IntegrationwithDistributedOSGi">Integration with Distributed
OSGi</a></li><li><a shape="rect" href="#JAX-RS-OtherAdvancedFeatures">Other
Advanced Features</a></li></ul>
</li><li><a shape="rect" href="#JAX-RS-MavenPlugins">Maven
Plugins</a></li><li><a shape="rect"
href="#JAX-RS-Deployment">Deployment</a></li><li><a shape="rect"
href="#JAX-RS-Third-partyprojects">Third-party projects</a></li><li><a
shape="rect" href="#JAX-RS-References">References</a></li><li><a shape="rect"
href="#JAX-RS-Howtocontribute">How to contribute</a></li></ul>
-</div><h1 id="JAX-RS-Introduction">Introduction</h1><p><a shape="rect"
class="external-link" href="http://en.wikipedia.org/wiki/JAX-RS"
rel="nofollow">JAX-RS</a>: Java API for RESTful Web Services is a Java
programming language API that provides support in creating web services
according to the Representational State Transfer (REST) architectural
style.</p><p>CXF supports the Java API for RESTful Web Services: JAX-RS 2.0 (<a
shape="rect" class="external-link" href="http://jcp.org/en/jsr/detail?id=339"
rel="nofollow">JSR-339</a>) and JAX-RS 1.1 (<a shape="rect"
class="external-link" href="http://jcp.org/en/jsr/detail?id=311"
rel="nofollow">JSR-311</a>).</p><p>CXF 3.0.0 completely implements JAX-RS 2.0
including new Client API and has been fully tested against the first JAX-RS 2.0
TCK which became available to Apache (jaxrstck-2.0_26-Feb-2013).</p><p>Existing
JAX-RS 1.1 applications can be run with CXF 3.0.0.</p><p>CXF 2.7.0 supports
most of the new features introduced in JAX-RS 2.0 (
excluding 2.0 Client API for now - but note that CXF client API has been
retrofitted to support new filters, interceptors, exception classes and
Response API, plus the asynchronous client invoker API).</p><p>CXF 2.6.x
supports <a shape="rect" class="external-link"
href="https://jsr311.dev.java.net/nonav/releases/1.1/index.html"
rel="nofollow">JSR-311 API 1.1</a> and is JAX-RS TCK 1.1
compliant.</p><p>JAX-RS related demos are located under the <a shape="rect"
class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/jax_rs/">samples/jax_rs
</a> directory.</p><p>This documentation will refer to JAX-RS 2.0 (JSR-339)
API.</p><p>Outstanding JAX-RS JIRA issues can be found <a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+CXF+AND+resolution+%3D+Unresolved+AND+component+%3D+JAX-RS+ORDER+BY+priority+DESC&mode=hide">here</a>.</p><h1
id="JAX-RS-JAX-RSCompl
iance">JAX-RS Compliance</h1><h2 id="JAX-RS-1.1">1.1</h2><p>Apache CXF 2.6.x
passes the final JAX-RS 1.1 TCK and is formally 1.1 compliant.</p><p>Please
consult the <a shape="rect" class="external-link"
href="http://tomee.apache.org/apache-tomee.html">TomEE</a> documentation on the
support of Java EE related JAX-RS 1.1 options in its Apache CXF-based JAX-RS
runtime.</p><p>CXF 2.7.x and CXF 3.0.0 will fully support and run JAX-RS 1.1
applications but will not pass the JAX-RS 1.1 TCK Signature tests due
to</p><p>CXF 2.7.x and CXF 3.0.0 depending on 2.0-m10 and 2.0 final versions of
JAX-RS 2.0 API.</p><h2 id="JAX-RS-2.0Final">2.0 Final</h2><p>CXF 3.x has been
updated to implement the JAX-RS 2.0 API’s as completely as possible
without access to the final JAX-RS 2.0 TCK. <br clear="none">We have done
extensive testing with JAX-RS 2.0 user applications, samples, and the
preliminary TCK’s to make sure CXF’s implementation is as complete
and compatible as we can make it. <
br clear="none">CXF makes and will continue making the best possible effort to
have JAX-RS 2.0 and new JAX-RS version implementations technically complete and
offering an environment for running the portable JAX-RS applications.<br
clear="none">If the final 2.0 TCK is made available to Apache, we will make
sure CXF is updated to pass.<br clear="none">If another TCK licensee that uses
CXF’s JAX-RS implementation in their products finds issues with
CXF’s compliance, we are more than happy to fix bugs that are
raised.</p><h1 id="JAX-RS-Projectsetupandconfiguration">Project setup and
configuration</h1><h2 id="JAX-RS-Migration">Migration</h2><h3
id="JAX-RS-FromJAX-RS1.1to2.0">From JAX-RS 1.1 to 2.0</h3><p>JAX-RS 2.0 is
backward compatible with JAX-RS 1.1. Please see <a shape="rect"
href="jax-rs-basics.html">JAX-RS Basics</a> for more information about JAX-RS
2.0.</p><p>CXF 2.7.10 and CXF 3.0.0 are expected to support existing JAX-RS 1.1
applications.</p><h3 id="JAX-RS-FromCXF
2.7.xtoCXF3.0.0">From CXF 2.7.x to CXF 3.0.0</h3><p>Please check the <a
shape="rect" href="http://cxf.apache.org/docs/30-migration-guide.html">CXF
3.0.0 Migration Guide</a> for the information about all the changes<br
clear="none"> in CXF 3.0.0. Here are more details on the changes specifically
affecting JAX-RS users:</p><p>1. CXF RequestHandler and ResponseHandler filters
have been removed.</p><p>These legacy CXF filters are still supported in 2.7.x
but no longer in 3.0.0. Please use <a shape="rect" class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/ContainerRequestFilter.html"
rel="nofollow">ContainerRequestFilter</a> and <a shape="rect"
class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/ContainerResponseFilter.html"
rel="nofollow">ContainerResponseFilter</a> instead. Also, <a shape="rect"
class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/ext/ReaderInter
ceptor.html" rel="nofollow">ReaderInterceptor</a> and <a shape="rect"
class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/ext/WriterInterceptor.html"
rel="nofollow">WriterInterceptor</a> can be used too.</p><p>Note, CXF filters
had org.apache.cxf.message.Message available in the signature. If CXF Message
is used in the existing CXF RequestHandler or ResponseHandler then use
"org.apache.cxf.phase.PhaseInterceptorChain.getCurrentMessage()" or
"org.apache.cxf.jaxrs.util.JAXRSUtils.getCurrentMessage()" to get a Message
which has all the contextual information available.</p><p>For example, instead
of</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+</div><h1 id="JAX-RS-Introduction">Introduction</h1><p><a shape="rect"
class="external-link" href="http://en.wikipedia.org/wiki/JAX-RS"
rel="nofollow">JAX-RS</a>: Java API for RESTful Web Services is a Java
programming language API that provides support in creating web services
according to the Representational State Transfer (REST) architectural
style.</p><p>CXF supports the Java API for RESTful Web Services: JAX-RS 2.0 (<a
shape="rect" class="external-link" href="http://jcp.org/en/jsr/detail?id=339"
rel="nofollow">JSR-339</a>) and JAX-RS 1.1 (<a shape="rect"
class="external-link" href="http://jcp.org/en/jsr/detail?id=311"
rel="nofollow">JSR-311</a>).</p><p>CXF 3.0.0 completely implements JAX-RS 2.0
including new Client API and has been fully tested against the first JAX-RS 2.0
TCK which became available to Apache (jaxrstck-2.0_26-Feb-2013).</p><p>Existing
JAX-RS 1.1 applications can be run with CXF 3.0.0.</p><p>CXF 2.7.0 supports
most of the new features introduced in JAX-RS 2.0 (
excluding 2.0 Client API for now - but note that CXF client API has been
retrofitted to support new filters, interceptors, exception classes and
Response API, plus the asynchronous client invoker API).</p><p>CXF 2.6.x
supports <a shape="rect" class="external-link"
href="https://jsr311.dev.java.net/nonav/releases/1.1/index.html"
rel="nofollow">JSR-311 API 1.1</a> and is JAX-RS TCK 1.1
compliant.</p><p>JAX-RS related demos are located under the <a shape="rect"
class="external-link"
href="http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/jax_rs/">samples/jax_rs
</a> directory.</p><p>This documentation will refer to JAX-RS 2.0 (JSR-339)
API.</p><p>Outstanding JAX-RS JIRA issues can be found <a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+CXF+AND+resolution+%3D+Unresolved+AND+component+%3D+JAX-RS+ORDER+BY+priority+DESC&mode=hide">here</a>.</p><h1
id="JAX-RS-JAX-RSCompl
iance">JAX-RS Compliance</h1><h2 id="JAX-RS-1.1">1.1</h2><p>Apache CXF 2.6.x
passes the final JAX-RS 1.1 TCK and is formally 1.1 compliant.</p><p>Please
consult the <a shape="rect" class="external-link"
href="http://tomee.apache.org/apache-tomee.html">TomEE</a> documentation on the
support of Java EE related JAX-RS 1.1 options in its Apache CXF-based JAX-RS
runtime.</p><p>CXF 2.7.x and CXF 3.0.0 will fully support and run JAX-RS 1.1
applications but will not pass the JAX-RS 1.1 TCK Signature tests due
to</p><p>CXF 2.7.x and CXF 3.0.0 depending on 2.0-m10 and 2.0 final versions of
JAX-RS 2.0 API.</p><h2 id="JAX-RS-2.0Final">2.0 Final</h2><p>CXF 3.x has been
updated to implement the JAX-RS 2.0 API’s as completely as possible
without access to the final JAX-RS 2.0 TCK. <br clear="none">We have done
extensive testing with JAX-RS 2.0 user applications, samples, and the
preliminary TCK to make sure CXF’s implementation is as complete and
compatible as we can make it. <br clear
="none">CXF makes and will continue making the best possible effort to have
JAX-RS 2.0 and new JAX-RS version implementations technically complete and
offering an environment for running the portable JAX-RS 2.0 applications.<br
clear="none">If the final 2.0 TCK is made available to Apache, we will make
sure CXF is updated to pass.<br clear="none">If another TCK licensee that uses
CXF’s JAX-RS 2.0 implementation in their products finds issues with
CXF’s compliance, we are more than happy to fix bugs that are
raised.</p><h1 id="JAX-RS-Projectsetupandconfiguration">Project setup and
configuration</h1><h2 id="JAX-RS-Migration">Migration</h2><h3
id="JAX-RS-FromJAX-RS1.1to2.0">From JAX-RS 1.1 to 2.0</h3><p>JAX-RS 2.0 is
backward compatible with JAX-RS 1.1. Please see <a shape="rect"
href="jax-rs-basics.html">JAX-RS Basics</a> for more information about JAX-RS
2.0.</p><p>CXF 2.7.10 and CXF 3.0.0 are expected to support existing JAX-RS 1.1
applications.</p><h3 id="JAX-RS-FromCXF
2.7.xtoCXF3.0.0">From CXF 2.7.x to CXF 3.0.0</h3><p>Please check the <a
shape="rect" href="http://cxf.apache.org/docs/30-migration-guide.html">CXF
3.0.0 Migration Guide</a> for the information about all the changes<br
clear="none"> in CXF 3.0.0. Here are more details on the changes specifically
affecting JAX-RS users:</p><p>1. CXF RequestHandler and ResponseHandler filters
have been removed.</p><p>These legacy CXF filters are still supported in 2.7.x
but no longer in 3.0.0. Please use <a shape="rect" class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/ContainerRequestFilter.html"
rel="nofollow">ContainerRequestFilter</a> and <a shape="rect"
class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/ContainerResponseFilter.html"
rel="nofollow">ContainerResponseFilter</a> instead. Also, <a shape="rect"
class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/ext/ReaderInter
ceptor.html" rel="nofollow">ReaderInterceptor</a> and <a shape="rect"
class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/ext/WriterInterceptor.html"
rel="nofollow">WriterInterceptor</a> can be used too.</p><p>Note, CXF filters
had org.apache.cxf.message.Message available in the signature. If CXF Message
is used in the existing CXF RequestHandler or ResponseHandler then use
"org.apache.cxf.phase.PhaseInterceptorChain.getCurrentMessage()" or
"org.apache.cxf.jaxrs.util.JAXRSUtils.getCurrentMessage()" to get a Message
which has all the contextual information available.</p><p>For example, instead
of</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 class CustomRequestHandler implements
RequestHandler {
public Response handleRequest(Message message, ClassResourceInfo cri) {
}
@@ -205,7 +205,7 @@ public void upload(InputStream is) {
public void upload(@Multipart InputStream is) {
}
]]></script>
-</div></div><p>7. If the custom code throws JAX-RS WebApplicationException
with Response containing a non-null entity then custom WebApplicationException
mappers will be bypassed - another problematic requirement, for example, the
custom mappers doing the logging will miss on such exceptions.<br clear="none">
Set CXF "support.wae.spec.optimization" property to false to disable it.</p><h3
id="JAX-RS-FromCXF2.6.xtoCXF2.7.x">From CXF 2.6.x to CXF 2.7.x</h3><p>Please
check the <a shape="rect"
href="http://cxf.apache.org/docs/27-migration-guide.html">CXF 2.7 Migration
Guide</a> for the information about all the changes affecting the JAX-RS
users</p><h2 id="JAX-RS-Mavendependencies">Maven dependencies</h2><h3
id="JAX-RS-CXF3.0.0">CXF 3.0.0</h3><p>The cxf-rt-frontend-jaxrs dependency is
required:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+</div></div><p>7. If the custom code throws JAX-RS WebApplicationException
with Response containing a non-null entity then custom WebApplicationException
mappers will be bypassed - another problematic requirement, for example, the
custom mappers doing the logging will miss on such exceptions.<br clear="none">
Set CXF "support.wae.spec.optimization" property to false to disable
it.</p><p>8. In some cases the matching sub-resource locators will be dropped
to precisely meet the current JAX-RS matching algorithm text, please see <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/CXF-5650">CXF-5650</a> for more
information. Use a new "keep.subresource.candidates" property to support the
existing application if needed.</p><h3 id="JAX-RS-FromCXF2.6.xtoCXF2.7.x">From
CXF 2.6.x to CXF 2.7.x</h3><p>Please check the <a shape="rect"
href="http://cxf.apache.org/docs/27-migration-guide.html">CXF 2.7 Migration
Guide</a> for the information about all the changes affec
ting the JAX-RS users</p><h2 id="JAX-RS-Mavendependencies">Maven
dependencies</h2><h3 id="JAX-RS-CXF3.0.0">CXF 3.0.0</h3><p>The
cxf-rt-frontend-jaxrs dependency is required:</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[ <dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>