cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r887691 - in /websites/production/cxf/content: cache/docs.pageCache docs/jax-rs-basics.html docs/jax-rs-client-api.html
Date Fri, 22 Nov 2013 13:48:16 GMT
Author: buildbot
Date: Fri Nov 22 13:48:16 2013
New Revision: 887691

Log:
Production update by buildbot for cxf

Modified:
    websites/production/cxf/content/cache/docs.pageCache
    websites/production/cxf/content/docs/jax-rs-basics.html
    websites/production/cxf/content/docs/jax-rs-client-api.html

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

Modified: websites/production/cxf/content/docs/jax-rs-basics.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs-basics.html (original)
+++ websites/production/cxf/content/docs/jax-rs-basics.html Fri Nov 22 13:48:16 2013
@@ -191,7 +191,11 @@ Apache CXF -- JAX-RS Basics
 
 <p>Typically, the resource method accepting AsyncResponse will either store it and
start a new thread to finish the request, the method will return and the invocation will be
suspended, then eventually another thread (either the one which initiated an internal job
or some other thread) will resume the suspended call. Note in this case the invocation will
be suspended indefinitely until it is resumed.</p>
 
-<p>Another approach is to have AsyncResponse suspended for a limited period of time
only and also register a TimeoutHandler. The latter will be invoked when the invocation is
resumed by the container after the timeout has expired and the handler will either complete
the invocation or suspend it again till it is ready to finish it.</p>
+<p>Another approach is to have AsyncResponse suspended for a limited period of time
only and also register a <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/TimeoutHandler.html"
rel="nofollow">TimeoutHandler</a>. The latter will be invoked when the invocation
is resumed by the container after the timeout has expired and the handler will either complete
the invocation or suspend it again till it is ready to finish it.</p>
+
+<p><a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/CompletionCallback.html"
rel="nofollow">CompletionCallback</a> can be registered with AsyncResponse to receive
the notifications when the async response has been sent back.</p>
+
+<p><a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/ConnectionCallback.html"
rel="nofollow">ConnectionCallback</a> is not currently supported.</p>
 
 <p>This feature can help developers write very sophisticated asynchronous applications.
  </p>
 

Modified: websites/production/cxf/content/docs/jax-rs-client-api.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs-client-api.html (original)
+++ websites/production/cxf/content/docs/jax-rs-client-api.html Fri Nov 22 13:48:16 2013
@@ -133,19 +133,45 @@ Apache CXF -- JAX-RS Client API
 <div id="ConfluenceContent"><p><span style="font-size:2em;font-weight:bold">
JAX-RS : Client API </span></p>
 
 <div>
-<ul><li><a shape="rect" href="#JAX-RSClientAPI-JAXRS2.0ClientAPI">JAX-RS
2.0 Client API</a></li><li><a shape="rect" href="#JAX-RSClientAPI-JAXRS2.0andCXFspecificAPI">JAX-RS
2.0 and CXF specific API</a></li><li><a shape="rect" href="#JAX-RSClientAPI-ProxybasedAPI">Proxy-based
API</a></li><ul><li><a shape="rect" href="#JAX-RSClientAPI-Customizingproxies">Customizing
proxies</a></li><li><a shape="rect" href="#JAX-RSClientAPI-ConvertingproxiestoWebClientsandviceversa">Converting
proxies to Web Clients and vice versa</a></li><li><a shape="rect" href="#JAX-RSClientAPI-Handlingexceptions">Handling
exceptions</a></li><li><a shape="rect" href="#JAX-RSClientAPI-ConfiguringproxiesinSpring">Configuring
proxies in Spring</a></li><li><a shape="rect" href="#JAX-RSClientAPI-Injectingproxies">Injecting
proxies</a></li><li><a shape="rect" href="#JAX-RSClientAPI-Limitations">Limitations</a></li><li><a
shape="rect" href="#JAX-RSClientAPI-Workingwithusermodels">Working with user models</a></li></ul><li>
 <a shape="rect" href="#JAX-RSClientAPI-CXFWebClientAPI">CXF WebClient API</a></li><ul><li><a
shape="rect" href="#JAX-RSClientAPI-Asynchronousinvocations">Asynchronous invocations</a></li><li><a
shape="rect" href="#JAX-RSClientAPI-Workingwithexplicitcollections">Working with explicit
collections</a></li><li><a shape="rect" href="#JAX-RSClientAPI-Handlingexceptions">Handling
exceptions</a></li><li><a shape="rect" href="#JAX-RSClientAPI-ConfiguringHTTPclientsinSpring">Configuring
HTTP clients in Spring</a></li></ul><li><a shape="rect" href="#JAX-RSClientAPI-XMLcentricclients">XML-centric
clients</a></li><li><a shape="rect" href="#JAX-RSClientAPI-ThreadSafety">Thread
Safety</a></li><li><a shape="rect" href="#JAX-RSClientAPI-ConfiguringClientsatRuntime">Configuring
Clients at Runtime</a></li><li><a shape="rect" href="#JAX-RSClientAPI-CreatingclientsprogrammaticallywithnoSpringdependencies">Creating
clients programmatically with no Spring dependencies</a></li><li><a shape="rect"
href="#JA
 X-RSClientAPI-ConfiguringanHTTPConduitfromSpring">Configuring an HTTP Conduit from Spring</a></li><li><a
shape="rect" href="#JAX-RSClientAPI-ClientsandAuthentication">Clients and Authentication</a></li></ul></div>
+<ul><li><a shape="rect" href="#JAX-RSClientAPI-MavenDependency">Maven Dependency</a></li><li><a
shape="rect" href="#JAX-RSClientAPI-JAXRS2.0ClientAPI">JAX-RS 2.0 Client API</a></li><ul><li><a
shape="rect" href="#JAX-RSClientAPI-Overview">Overview</a></li><li><a
shape="rect" href="#JAX-RSClientAPI-JAXRS2.0andCXFspecificAPI">JAX-RS 2.0 and CXF specific
API</a></li></ul><li><a shape="rect" href="#JAX-RSClientAPI-ProxybasedAPI">Proxy-based
API</a></li><ul><li><a shape="rect" href="#JAX-RSClientAPI-Customizingproxies">Customizing
proxies</a></li><li><a shape="rect" href="#JAX-RSClientAPI-ConvertingproxiestoWebClientsandviceversa">Converting
proxies to Web Clients and vice versa</a></li><li><a shape="rect" href="#JAX-RSClientAPI-Handlingexceptions">Handling
exceptions</a></li><li><a shape="rect" href="#JAX-RSClientAPI-ConfiguringproxiesinSpring">Configuring
proxies in Spring</a></li><li><a shape="rect" href="#JAX-RSClientAPI-Injectingproxies">Injecting
proxies</a></li><li><a shape="rect" 
 href="#JAX-RSClientAPI-Limitations">Limitations</a></li><li><a shape="rect"
href="#JAX-RSClientAPI-Workingwithusermodels">Working with user models</a></li></ul><li><a
shape="rect" href="#JAX-RSClientAPI-CXFWebClientAPI">CXF WebClient API</a></li><ul><li><a
shape="rect" href="#JAX-RSClientAPI-Asynchronousinvocations">Asynchronous invocations</a></li><li><a
shape="rect" href="#JAX-RSClientAPI-Workingwithexplicitcollections">Working with explicit
collections</a></li><li><a shape="rect" href="#JAX-RSClientAPI-Handlingexceptions">Handling
exceptions</a></li><li><a shape="rect" href="#JAX-RSClientAPI-ConfiguringHTTPclientsinSpring">Configuring
HTTP clients in Spring</a></li></ul><li><a shape="rect" href="#JAX-RSClientAPI-XMLcentricclients">XML-centric
clients</a></li><li><a shape="rect" href="#JAX-RSClientAPI-SupportforarbitraryHTTPmethodsforsyncinvocations.">Support
for arbitrary HTTP methods for sync invocations.</a></li><li><a shape="rect"
href="#JAX-RSClientAPI-ThreadSafety">Thread Sa
 fety</a></li><li><a shape="rect" href="#JAX-RSClientAPI-ConfiguringClientsatRuntime">Configuring
Clients at Runtime</a></li><li><a shape="rect" href="#JAX-RSClientAPI-CreatingclientsprogrammaticallywithnoSpringdependencies">Creating
clients programmatically with no Spring dependencies</a></li><li><a shape="rect"
href="#JAX-RSClientAPI-ConfiguringanHTTPConduitfromSpring">Configuring an HTTP Conduit
from Spring</a></li><li><a shape="rect" href="#JAX-RSClientAPI-ClientsandAuthentication">Clients
and Authentication</a></li></ul></div>
+<h1><a shape="rect" name="JAX-RSClientAPI-MavenDependency"></a>Maven Dependency</h1>
+
+<p>&lt;dependency&gt;<br clear="none">
+  &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;<br clear="none">
+  &lt;artifactId&gt;cxf-rt-rs-client&lt;/artifactId&gt;<br clear="none">
+  &lt;version&gt;3.0.0-milestone1&lt;/version&gt;<br clear="none">
+&lt;/dependency&gt;</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+
+In CXF 2.7.x no JAX-RS 2.0 Client API is supported and CXF specific Client API is located
in the cxf-rt-frontend-jaxrs module. 
+
+CXF Apache HttpClient based transport is required to get the asynchronous invocations working
correctly:
+
+{code:xml}
+&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;
+  &lt;artifactId&gt;cxf-rt-transports-http-hc&lt;/artifactId&gt;
+  &lt;!-- 2.7.8 or 3.0.0-milestone1 --&gt; 
+  &lt;version&gt;${cxf.version}&lt;/version&gt;
+&lt;/dependency&gt;
+]]></script>
+</div></div>
+
+
 <h1><a shape="rect" name="JAX-RSClientAPI-JAXRS2.0ClientAPI"></a>JAX-RS
2.0 Client API</h1>
 
-<p>To be supported</p>
+<p>CXF 3.0.0 implements JAX-RS 2.0 Client API. Internally it is implemented in terms
of CXF specific WebClient.</p>
 
-<h1><a shape="rect" name="JAX-RSClientAPI-JAXRS2.0andCXFspecificAPI"></a>JAX-RS
2.0 and CXF specific API</h1>
+<h2><a shape="rect" name="JAX-RSClientAPI-Overview"></a>Overview</h2>
 
-<p>CXF proxy and WebClient client code has been retrofitted to support all the new
JAX-RS 2.0 client constructs except for the client API itself.<br clear="none">
-Specifically, JAX-RS 2.0 client filters, reader and writer interceptors, new exception classes
and Response API all can be used in scope of working with proxy or WebClient API.</p>
+<h2><a shape="rect" name="JAX-RSClientAPI-JAXRS2.0andCXFspecificAPI"></a>JAX-RS
2.0 and CXF specific API</h2>
 
-<p>Additionally, WebClient supports JAX-RS 2.0 AsyncInvoker interface and offers few
shortcuts, please see more about it below.</p>
+<p>CXF proxy and WebClient client code has been retrofitted to support JAX-RS 2.0 client
filters, reader and writer interceptors, new exception classes and Response API.</p>
 
-<p>Users can expect WebClient API maintained in the next CXF releases as it offers
a light-weight fluent API alternative.</p>
+<p>WebClient offers shortcuts to JAX-RS 2.0 <a shape="rect" class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/client/AsyncInvoker.html"
rel="nofollow">AsyncInvoker</a> and <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/client/SyncInvoker.html"
rel="nofollow">SyncInvoker</a> interfaces.</p>
+
+<p>WebClient.getConfig(Object client) supports JAX-RS 2.0 <a shape="rect" class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/client/WebTarget.html" rel="nofollow">WebTarget</a>
and <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/client/Invocation.Builder.html"
rel="nofollow">Invocation.Builder</a> for 2.0 clients to be able to get to the lower-level
CXF configuration and set up the properties such as 'receiveTimeout', etc.   </p>
 
 <h1><a shape="rect" name="JAX-RSClientAPI-ProxybasedAPI"></a>Proxy-based
API</h1>
 
@@ -396,11 +422,13 @@ Book book = WebClient.create("http://boo
 <p><a shape="rect" name="JAX-RSClientAPI-asynchronousinvocations"></a></p>
 <h2><a shape="rect" name="JAX-RSClientAPI-Asynchronousinvocations"></a>Asynchronous
invocations</h2>
 
-<p><b>Starting from CXF 2.7.0</b></p>
+<p>WebClient has several methods accepting JAX-RS 2.0 <a shape="rect" class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/client/InvocationCallback.html"
rel="nofollow">InvocationCallback</a> and returning Future. Alternatively, users
can also use WebClient.async() shortcut to work with a standard <a shape="rect" class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/client/AsyncInvoker.html"
rel="nofollow">AsyncInvoker</a>.</p>
 
 <h2><a shape="rect" name="JAX-RSClientAPI-Workingwithexplicitcollections"></a>Working
with explicit collections</h2>
 
-<p>Example :</p>
+<p>WebClient supports <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/core/GenericEntity.html"
rel="nofollow">GenericEntity</a> and JAX-RS 2.0 <a shape="rect" class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/core/GenericType.html" rel="nofollow">GenericType</a>
directly and via JAX-RS 2.0 SyncInvoker and AsyncInvoker to make it easier to work with the
explicit collections.</p>
+
+<p>WebClient also has few collection-aware methods, example:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
@@ -414,7 +442,7 @@ Collection&lt;? extends Book&gt; books =
 <h2><a shape="rect" name="JAX-RSClientAPI-Handlingexceptions"></a>Handling
exceptions</h2>
 
 
-<p>You can handle remote exceptions by either explicitly getting a Response object
as shown above and handling error statuses as needed or you can catch either javax.ws.rs.WebApplicationException
or javax.ws.rs.client.ClientException exceptions, the same way it can be done with proxies.
</p>
+<p>You can handle remote exceptions by either explicitly getting a Response object
as shown above and handling error statuses as needed or you can catch either javax.ws.rs.WebApplicationException
or javax.ws.rs.ProcessingException exceptions, the same way it can be done with proxies. </p>
 
 <h2><a shape="rect" name="JAX-RSClientAPI-ConfiguringHTTPclientsinSpring"></a>Configuring
HTTP clients in Spring</h2>
 
@@ -473,6 +501,12 @@ Book b2 = source.getNode("/books/book[po
 <p>Note that an XMLSource instance can be set to buffer the input stream thus allowing
for executing multiple XPath queries.<br clear="none">
 XMlSource can also help with getting the URIs representing the links or XML instances as
Strings.</p>
 
+<h1><a shape="rect" name="JAX-RSClientAPI-SupportforarbitraryHTTPmethodsforsyncinvocations."></a>Support
for arbitrary HTTP methods for sync invocations.</h1>
+
+<p>To get the arbitrary HTTP methods supported with the synchronous client calls add
the HttpClient-based transport dependency and set a "use.async.http.conduit" contextual property.</p>
+
+<p>This will work as is for asynchronous calls given that the HttpClient-based transport
is required. </p>
+
 <h1><a shape="rect" name="JAX-RSClientAPI-ThreadSafety"></a>Thread Safety</h1>
 
 <p>Proxies and web clients (clients) are not thread safe by default. In some cases
this can be a limitation, especially when clients are injected; synchronizing on them can
cause performance side effects. </p>



Mime
View raw message