Author: buildbot
Date: Wed May 14 01:42:54 2025
New Revision: 1090043
Log:
Production update by buildbot for cxf
Modified:
websites/production/cxf/content/cache/docs.pageCache
websites/production/cxf/content/docs/client-http-transport-including-ssl-support.html
Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.
Modified:
websites/production/cxf/content/docs/client-http-transport-including-ssl-support.html
==============================================================================
---
websites/production/cxf/content/docs/client-http-transport-including-ssl-support.html
(original)
+++
websites/production/cxf/content/docs/client-http-transport-including-ssl-support.html
Wed May 14 01:42:54 2025
@@ -110,11 +110,11 @@ Apache CXF -- Client HTTP Transport (inc
<!-- Content -->
<div class="wiki-content">
<div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1719542567862 {padding: 0px;}
-div.rbtoc1719542567862 ul {margin-left: 0px;}
-div.rbtoc1719542567862 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1747186970614 {padding: 0px;}
+div.rbtoc1747186970614 ul {margin-left: 0px;}
+div.rbtoc1747186970614 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1719542567862">
+/*]]>*/</style></p><div class="toc-macro rbtoc1747186970614">
<ul class="toc-indentation"><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-DefaultClientTransport">Default
Client Transport</a></li><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-Authentication">Authentication</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-BasicAuthentication">Basic
Authentication</a></li><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-DigestAuthentication">Digest
Authentication</a></li><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-Supplyingdynamicauthorization">Supplying
dynamic authorization</a></li><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-SpnegoAuthentication(Kerberos)">Spnego
Authentication (Kerberos)</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-CredentialDelegation">Credential
Delegation</a></li></ul>
@@ -130,7 +130,7 @@ div.rbtoc1719542567862 li {margin-left:
<ul class="toc-indentation"><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-HowtoconfiguretheHTTPConduitfortheSOAPClient?">How
to configure the HTTPConduit for the SOAP Client?</a></li><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-HowtouseHTTPConduitConfigurer?">How
to use HTTPConduitConfigurer?</a></li><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-Howtooverridetheserviceaddress?">How
to override the service address ?</a></li></ul>
</li><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-ClientCacheControlDirectives">Client
Cache Control Directives</a></li></ul>
</li><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-ANoteAboutChunking">A Note
About Chunking</a></li><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-Whentosetcustomheaders">When to
set custom headers</a></li><li><a shape="rect"
href="#ClientHTTPTransport(includingSSLsupport)-AsynchronousHTTPConduit">Asynchronous
HTTP Conduit</a></li></ul>
-</div><h1
id="ClientHTTPTransport(includingSSLsupport)-DefaultClientTransport">Default
Client Transport</h1><p>Prior to Apache CXF 3.6.0 / 4.0.1, the default HTTP
client transport was <span><span style="color:
rgb(0,0,0);"><strong>URLConnectionHTTPConduit</strong>, that is built on top of
<strong><a shape="rect" class="external-link" href="http://java.net"
rel="nofollow">java.net</a>.</strong></span></span><strong>HttpURLConnection</strong>
/ <strong><span style="color: rgb(0,0,0);"><a shape="rect"
class="external-link" href="http://javax.net"
rel="nofollow">javax.net</a>.ssl.</span></strong><span><span style="color:
rgb(0,0,0);"><strong>HttpsURLConnection</strong> (JDK standard library). Past
these releases, the default HTTP client transport has become
<strong>HttpClientHTTPConduit </strong>that is using<strong> <a shape="rect"
class="external-link" href="http://java.net"
rel="nofollow">java.net</a>.http.HttpClient</strong> under the hood (see please
<a shape="rect" class="external
-link" href="https://openjdk.org/jeps/321" rel="nofollow">JEP 321: HTTP
Client</a>).</span></span></p><div class="confluence-information-macro
confluence-information-macro-warning"><span class="aui-icon aui-icon-small
aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">The <strong><a shape="rect"
class="external-link" href="http://java.net"
rel="nofollow">java.net</a>.http.HttpClient</strong> is reported to be
considerably slower than <strong><a shape="rect" class="external-link"
href="http://java.net" rel="nofollow">java.net</a>.HttpURLConnection</strong>
(see please <a shape="rect" class="external-link"
href="https://bugs.openjdk.org/browse/JDK-8277519"
rel="nofollow">https://bugs.openjdk.org/browse/JDK-8277519</a>), so there is an
option to revert the default to <strong>URLConnectionHTTPConduit </strong>by
setting <strong>"force.urlconnection.http.conduit"</strong> contextual property
to <code>true</code>  .</div></div>
<div class="confluence-information-macro
confluence-information-macro-warning"><span class="aui-icon aui-icon-small
aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>The <strong><a shape="rect"
class="external-link" href="http://java.net"
rel="nofollow">java.net</a>.http.HttpClient</strong> is very heavy and hungry
for resources (heap and threads primarily). Apache CXF tries to countermeasure
that by sharing a single  <strong><a shape="rect" class="external-link"
href="http://java.net" rel="nofollow">java.net</a>.http.HttpClient</strong>
instance across many HTTP client conduits if possible (subject to HTTP client
policy and SSL/TLS settings). This behaviour could be changed by setting <code
class="notranslate">share.httpclient.http.conduit</code> contextual property to
<code class="notranslate">false</code> (the default value is <code
class="notranslate">true</code>), in this case a new <strong><a shape="rect"
class=
"external-link" href="http://java.net"
rel="nofollow">java.net</a>.http.HttpClient</strong> instance is going to be
created per HTTP client conduit.</p></div></div><div
class="confluence-information-macro confluence-information-macro-warning"><span
class="aui-icon aui-icon-small aui-iconfont-error
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>The <strong><a shape="rect"
class="external-link" href="http://java.net"
rel="nofollow">java.net</a>.http.HttpClient</strong> support of timeouts (send
/ receive) is incomplete:</p><p> - <a shape="rect" class="external-link"
href="https://bugs.openjdk.org/browse/JDK-8258397"
rel="nofollow">https://bugs.openjdk.org/browse/JDK-8258397</a></p><p> - <a
shape="rect" class="external-link"
href="https://bugs.openjdk.org/browse/JDK-8208693"
rel="nofollow">https://bugs.openjdk.org/browse/JDK-8208693</a></p><p> - <a
shape="rect" class="external-link" href="https://bugs.openjdk.org/browse/JDK-82
54223"
rel="nofollow">https://bugs.openjdk.org/browse/JDK-8254223</a></p></div></div><p><br
clear="none"></p><h1
id="ClientHTTPTransport(includingSSLsupport)-Authentication">Authentication</h1><h2
id="ClientHTTPTransport(includingSSLsupport)-BasicAuthentication">Basic
Authentication</h2><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+</div><h1
id="ClientHTTPTransport(includingSSLsupport)-DefaultClientTransport">Default
Client Transport</h1><p>Prior to Apache CXF 3.6.0 / 4.0.1, the default HTTP
client transport was <span><span style="color:
rgb(0,0,0);"><strong>URLConnectionHTTPConduit</strong>, that is built on top of
<strong><a shape="rect" class="external-link" href="http://java.net"
rel="nofollow">java.net</a>.</strong></span></span><strong>HttpURLConnection</strong>
/ <strong><span style="color: rgb(0,0,0);"><a shape="rect"
class="external-link" href="http://javax.net"
rel="nofollow">javax.net</a>.ssl.</span></strong><span><span style="color:
rgb(0,0,0);"><strong>HttpsURLConnection</strong> (JDK standard library). Past
these releases, the default HTTP client transport has become
<strong>HttpClientHTTPConduit </strong>that is using<strong> <a shape="rect"
class="external-link" href="http://java.net"
rel="nofollow">java.net</a>.http.HttpClient</strong> under the hood (see please
<a shape="rect" class="external
-link" href="https://openjdk.org/jeps/321" rel="nofollow">JEP 321: HTTP
Client</a>).</span></span></p><div class="confluence-information-macro
confluence-information-macro-warning"><span class="aui-icon aui-icon-small
aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body">The <strong><a shape="rect"
class="external-link" href="http://java.net"
rel="nofollow">java.net</a>.http.HttpClient</strong> is reported to be
considerably slower than <strong><a shape="rect" class="external-link"
href="http://java.net" rel="nofollow">java.net</a>.HttpURLConnection</strong>
(see please <a shape="rect" class="external-link"
href="https://bugs.openjdk.org/browse/JDK-8277519"
rel="nofollow">https://bugs.openjdk.org/browse/JDK-8277519</a>), so there is an
option to revert the default to <strong>URLConnectionHTTPConduit </strong>by
setting <strong>"force.urlconnection.http.conduit"</strong> contextual property
to <code>true</code>  .</div></div>
<div class="confluence-information-macro
confluence-information-macro-warning"><span class="aui-icon aui-icon-small
aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>The <strong><a shape="rect"
class="external-link" href="http://java.net"
rel="nofollow">java.net</a>.http.HttpClient</strong> is very heavy and hungry
for resources (heap and threads primarily). Apache CXF tries to countermeasure
that by sharing a single  <strong><a shape="rect" class="external-link"
href="http://java.net" rel="nofollow">java.net</a>.http.HttpClient</strong>
instance across many HTTP client conduits if possible (subject to HTTP client
policy and SSL/TLS settings). This behaviour could be changed by setting <code
class="notranslate">share.httpclient.http.conduit</code> contextual property to
<code class="notranslate">false</code> (the default value is <code
class="notranslate">true</code>), in this case a new <strong><a shape="rect"
class=
"external-link" href="http://java.net"
rel="nofollow">java.net</a>.http.HttpClient</strong> instance is going to be
created per HTTP client conduit.</p></div></div><div
class="confluence-information-macro confluence-information-macro-warning"><span
class="aui-icon aui-icon-small aui-iconfont-error
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>The <strong><a shape="rect"
class="external-link" href="http://java.net"
rel="nofollow">java.net</a>.http.HttpClient</strong> support of timeouts (send
/ receive) is incomplete:</p><p> - <a shape="rect" class="external-link"
href="https://bugs.openjdk.org/browse/JDK-8258397"
rel="nofollow">https://bugs.openjdk.org/browse/JDK-8258397</a></p><p> - <a
shape="rect" class="external-link"
href="https://bugs.openjdk.org/browse/JDK-8208693"
rel="nofollow">https://bugs.openjdk.org/browse/JDK-8208693</a></p><p> - <a
shape="rect" class="external-link" href="https://bugs.openjdk.org/browse/JDK-82
54223"
rel="nofollow">https://bugs.openjdk.org/browse/JDK-8254223</a></p></div></div><p
class="auto-cursor-target">Another contextual properties include:</p><div
class="table-wrap"><table class="relative-table wrapped confluenceTable"
style="width: 62.3436%;"><colgroup span="1"><col span="1" style="width:
24.4233%;"><col span="1" style="width: 12.1559%;"><col span="1" style="width:
63.4561%;"></colgroup><tbody><tr><th colspan="1" rowspan="1" scope="col"
class="confluenceTh">Contextual Property</th><th colspan="1" rowspan="1"
scope="col" class="confluenceTh">Default Value</th><th colspan="1" rowspan="1"
scope="col" class="confluenceTh">Description</th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><span><span style="color:
rgb(0,0,0);"><span style="color:
rgb(42,0,255);">force.urlconnection.http.conduit</span></span></span></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Reverts the default
HTTP client to <strong>URLConnectionHTTPConduit (</strong>by setting
<code>true</code>)</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><span><span style="color: rgb(0,0,0);"><span style="color:
rgb(42,0,255);"><span style="color: rgb(0,0,0);"><span style="color:
rgb(42,0,255);">share.httpclient.http.conduit</span></span></span></span></span></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>true</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Shares the underlying
<code>HttpClient</code> instance for the each unique
<code>HttpClientPolicy</code> in ordre to reduce the memory / threading
footprint. Set to <code>false</code> to disable sharing.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><span><span style="color:
rgb(0,0,0);"><span style="color: rgb(42,0,255);"><span style="color:
rgb(0,0,0);"><span style="color: rgb(42,0,255);"><span style="color:
rgb(0,0,0);"><span style="color: rgb(42,0,255);">https.reset.httpclient.http
.conduit</span></span></span></span></span></span></span></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>true</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Reverts the underlying
<code>HttpClient</code> instance upon HTTPS URL change.  Set to
<code>false</code> to disable resetting.</p></td></tr></tbody></table></div><h1
id="ClientHTTPTransport(includingSSLsupport)-Authentication">Authentication</h1><h2
id="ClientHTTPTransport(includingSSLsupport)-BasicAuthentication">Basic
Authentication</h2><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<pre class="brush: java; gutter: false; theme: Default"> <conduit
name="{http://example.com/}HelloWorldServicePort.http-conduit"
xmlns:sec="http://cxf.apache.org/configuration/security"
xmlns="http://cxf.apache.org/transports/http/configuration">