cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache CXF Documentation > 2.3 Migration Guide
Date Thu, 07 Oct 2010 18:10:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1810/9/1/_/styles/combined.css?spaceKey=CXF20DOC&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/CXF20DOC/2.3+Migration+Guide">2.3
Migration Guide</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~dkulp">Daniel
Kulp</a>
    </h4>
        <br/>
                         <h4>Changes (1)</h4>
                                 
    
<div id="page-diffs">
            <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br>h2. Runtime changes <br></td></tr>
            <tr><td class="diff-changed-lines" >* In 2.2.x and earlier, mustUnderstand=true
headers were sent into the endpoint (in the List&lt;Header&gt;) and only checked after
the endpoint is done processing.  If the endpoint doesn&#39;t process them, only afterword
is the mustUnderstand fault raised.   With 2.3.x, mustUnderstand=true headers are checked
prior to dispatch.   If an endpoint requires mustUnderstand headers to be passed in, it must
be configured so the runtime knows to allow them through.  To do so, add a endpoint property
named &quot;endpoint-processes-headers&quot; that is either a string of the qname
of the header to pass in or a collection of string of qnames of headers to pass in.   <span
class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">(We&#39;ll
be adding an</span> <span class="diff-added-words"style="background-color: #dfd;">You
can use the @EndpointPropery</span> annotation <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">or
other means</span> <span class="diff-added-words"style="background-color: #dfd;">listed
above</span> to <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">configure</span>
<span class="diff-added-words"style="background-color: #dfd;">control</span> this
<span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">shortly)</span>
<span class="diff-added-words"style="background-color: #dfd;">as well.</span>
<br></td></tr>
            <tr><td class="diff-unchanged" > <br>* SOAP/JMS - CXF now support
the [w3c SOAP/JMS spec|http://www.w3.org/TR/2009/CR-soapjms-20090604/].  Existing SOAP/JMS
stuff should continue working, but users are encouraged to start using the standard configurations.
<br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
        </table>
</div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h2><a name="2.3MigrationGuide-Newfeatures"></a>New features</h2>
<ul>
	<li>New annotations of java first use cases
	<ul>
		<li><a href="/confluence/display/CXF20DOC/Annotations#Annotations-WSDLDocumentation">@WSDLDocumentation</a>
annotation to add documentation nodes to generated wsdl</li>
		<li><a href="/confluence/display/CXF20DOC/Annotations#Annotations-SchemaValidation">@SchemaValidation</a>
annotation to turn on schema validation</li>
		<li><a href="/confluence/display/CXF20DOC/Annotations#Annotations-DataBinding">@DataBinding</a>
to set the databinding used (if other than JAXB)</li>
		<li><a href="/confluence/display/CXF20DOC/Annotations#Annotations-GZIP">@GZIP</a>
to turn on GZIP compression</li>
		<li><a href="/confluence/display/CXF20DOC/Annotations#Annotations-FastInfoset">@FastInfoset</a>
to turn on FastInfoset support</li>
		<li><a href="/confluence/display/CXF20DOC/Annotations#Annotations-Logging">@Logging</a>
to turn on and control various Logging functionality</li>
		<li><a href="/confluence/display/CXF20DOC/Annotations#Annotations-EndpointProperty">@EndpointProperty</a>
to configure endpoint properties</li>
		<li><a href="/confluence/display/CXF20DOC/Annotations#Annotations-Policy">@Policy</a>
to associate WS-Policy documents with the service</li>
	</ul>
	</li>
	<li><a href="/confluence/display/CXF20DOC/SOAP+over+JMS+1.0+support" title="SOAP
over JMS 1.0 support">SOAP/JMS spec implementation</a></li>
	<li><a href="/confluence/display/CXF20DOC/SDO" title="SDO">SDO</a> databinding</li>
	<li>JAX-WS 2.2 Support</li>
	<li>JAX-RS 1.1 Support</li>
	<li>Schema Validation support for <a href="/confluence/display/CXF20DOC/Aegis+%282.1%29"
title="Aegis (2.1)">Aegis Databinding</a> if Woodstox 4 is used for the Stax parser</li>
</ul>



<h2><a name="2.3MigrationGuide-APIchanges"></a>API changes</h2>
<ul>
	<li>As part of cleaning up the API's and use of generics in the API's, the InterceptorProvider
API changed it's methods from:
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
List&lt;Interceptor&gt; getOutInterceptors();
</pre>
</div></div>
<p>to</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
List&lt;Interceptor&lt;? <span class="code-keyword">extends</span> Message&gt;&gt;
getOutInterceptors();
</pre>
</div></div>
<p>While binary compatible (type erasure makes the raw signatures the same), it's not
SOURCE compatible as you may need to update the types of variables used to hold the lists.
 Generally, just do the same change.   Add <tt>&lt;? extends Message&gt;</tt>
to the declaration of the Interceptor.</p></li>
</ul>




<h2><a name="2.3MigrationGuide-Runtimechanges"></a>Runtime changes</h2>
<ul>
	<li>In 2.2.x and earlier, mustUnderstand=true headers were sent into the endpoint (in
the List&lt;Header&gt;) and only checked after the endpoint is done processing.  If
the endpoint doesn't process them, only afterword is the mustUnderstand fault raised.   With
2.3.x, mustUnderstand=true headers are checked prior to dispatch.   If an endpoint requires
mustUnderstand headers to be passed in, it must be configured so the runtime knows to allow
them through.  To do so, add a endpoint property named "endpoint-processes-headers" that is
either a string of the qname of the header to pass in or a collection of string of qnames
of headers to pass in.   You can use the @EndpointPropery annotation listed above to control
this as well.</li>
</ul>


<ul>
	<li>SOAP/JMS - CXF now support the <a href="http://www.w3.org/TR/2009/CR-soapjms-20090604/"
class="external-link" rel="nofollow">w3c SOAP/JMS spec</a>.  Existing SOAP/JMS stuff
should continue working, but users are encouraged to start using the standard configurations.</li>
</ul>


<ul>
	<li>Provider&lt;Source&gt; and Dispatch&lt;Source&gt; - when specifying
a generic "Source" type, CXF now provides a streaming SAXSource object.   Previously, CXF
would load the whole message into a DOM and provide a DOMSource.  Applications that expect
a DOMSource will need to be updated to accept the SAXSource or provide configuration to force
to DOMSource.   There is now a configuration property for the Endpoint of "source-preferred-format"
which can be set to:
	<ul>
		<li>"dom" -&gt; DOMSource</li>
		<li>"sax" -&gt; SAXSource  (cxf StaxSource)</li>
		<li>"stream" -&gt; StreamSource</li>
		<li>"cxf.stax" -&gt;  StaxSource</li>
		<li>"stax" -&gt; javax.xml.transform.stax.StAXSource if avail, StaxSource otherwise</li>
	</ul>
	</li>
</ul>


<ul>
	<li>Aegis
	<ul>
		<li>The set of root classes is now of type Set&lt;java.lang.reflect.Type&gt;
to permit generics.</li>
		<li>The class Type is renamed to AegisType to reduce confusion and conflict with java.lang.reflect.Type.</li>
	</ul>
	</li>
</ul>


    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/CXF20DOC/2.3+Migration+Guide">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=2329656&revisedVersion=17&originalVersion=16">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/CXF20DOC/2.3+Migration+Guide?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message