Modified: maven/doxia/website/content/doxia-example-book/bindings.html ============================================================================== --- maven/doxia/website/content/doxia-example-book/bindings.html (original) +++ maven/doxia/website/content/doxia-example-book/bindings.html Thu Dec 12 16:16:24 2024 @@ -2,28 +2,27 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from target/generated-site/xdoc/doxia-example-book/bindings.xml at 2024-11-05 - | Rendered using Apache Maven Fluido Skin 1.12.0 + | Generated by Apache Maven Doxia Site Renderer 2.0.0 from target/generated-site/xdoc/doxia-example-book/bindings.xml at 2024-12-12 + | Rendered using Apache Maven Fluido Skin 2.0.1 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0" /> <meta name="author" content="XFire User's Guide" /> - <title>Doxia – Bindings Overview</title> - <link rel="stylesheet" href="../css/apache-maven-fluido-1.12.0.min.css" /> + <title>Bindings Overview â Doxia</title> + <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.1.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> - <script src="../js/apache-maven-fluido-1.12.0.min.js"></script> - + <script src="../js/apache-maven-fluido-2.0.1.min.js"></script> <!-- Matomo --> <script> var _paq = window._paq = window._paq || []; - _paq.push(['disableCookies']); - _paq.push(['trackPageView']); - _paq.push(['enableLinkTracking']); - + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { var u="https://analytics.apache.org/"; _paq.push(['setTrackerUrl', u+'/matomo.php']); @@ -38,19 +37,19 @@ <div class="container-fluid container-fluid-top"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" style="" /></a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/doxia-logo.png" alt="Doxia" style="" /></a></div> + <div class="pull-left"><div id="bannerLeft"><h1><a href="https://www.apache.org/"><img class="class java.lang.Object" src="../../images/apache-maven-project.png" /></a></h1></div></div> + <div class="pull-right"><div id="bannerRight"><h1><a href=".././"><img class="class java.lang.Object" src="../images/doxia-logo.png" /> Doxia</a></h1></div></div> <div class="clear"><hr/></div> </div> <div id="breadcrumbs"> <ul class="breadcrumb"> - <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> - <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - <li><a href="../index.html" title="Doxia">Doxia</a><span class="divider">/</span></li> - <li class="active ">Bindings Overview <a href="https://github.com/apache/maven-doxia-site/tree/master/target/generated-site/xdoc/doxia-example-book/bindings.xml"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-11-05</li> - <li class="pull-right"><a href="../scm.html" title="Get Sources">Get Sources</a></li> + <li><a href="https://www.apache.org/" class="externalLink">Apache</a><span class="divider">/</span></li> + <li><a href="../../index.html">Maven</a><span class="divider">/</span></li> + <li><a href="../index.html">Doxia</a><span class="divider">/</span></li> + <li class="active">Bindings Overview</li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-07-04</li> + <li class="pull-right"><a href="../scm.html">Get Sources</a></li> </ul> </div> </header> @@ -59,142 +58,140 @@ <nav class="well sidebar-nav"> <ul class="nav nav-list"> <li class="nav-header">About Doxia</li> - <li><a href="../index.html" title="What is Doxia?"><span class="none"></span>What is Doxia?</a></li> - <li><a href="../overview.html" title="Overview"><span class="none"></span>Overview</a></li> - <li><a href="../downloads.html" title="Downloads"><span class="none"></span>Downloads</a></li> - <li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a></li> + <li><a href="../index.html">What is Doxia?</a></li> + <li><a href="../overview.html">Overview</a></li> + <li><a href="../downloads.html">Downloads</a></li> + <li><a href="../faq.html">FAQ</a></li> <li class="nav-header">Documentation</li> - <li><a href="../references/index.html" title="Format References"><span class="icon-chevron-right"></span>Format References</a></li> - <li><a href="../modules/index.html" title="Doxia Modules Guide"><span class="none"></span>Doxia Modules Guide</a></li> - <li><a href="../macros/index.html" title="Doxia Macros Guide"><span class="none"></span>Doxia Macros Guide</a></li> - <li><a href="../book/index.html" title="Writing Books"><span class="none"></span>Writing Books</a></li> - <li><a href="../issues/index.html" title="Issues &amp; Gotchas"><span class="none"></span>Issues &amp; Gotchas</a></li> - <li><a href="../resources.html" title="External Resources"><span class="none"></span>External Resources</a></li> + <li><a href="../references/index.html"><span class="icon-chevron-right"></span>Format References</a></li> + <li><a href="../modules/index.html">Doxia Modules Guide</a></li> + <li><a href="../macros/index.html">Doxia Macros Guide</a></li> + <li><a href="../book/index.html">Writing Books</a></li> + <li><a href="../issues/index.html">Issues &amp; Gotchas</a></li> + <li><a href="../resources.html">External Resources</a></li> <li class="nav-header">Developer Docs</li> - <li><a href="../developers/index.html" title="Developer Centre"><span class="icon-chevron-right"></span>Developer Centre</a></li> - <li><a href="../doxia-tools/index.html" title="Doxia Tools"><span class="none"></span>Doxia Tools</a></li> + <li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Developer Centre</a></li> + <li><a href="../doxia-tools/index.html">Doxia Tools</a></li> <li class="nav-header">Project Documentation</li> - <li><a href="../project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a></li> + <li><a href="../project-info.html"><span class="icon-chevron-right"></span>Project Information</a></li> <li class="nav-header">Maven Projects</li> - <li><a href="../../ref/current" title="Maven"><span class="none"></span>Maven</a></li> - <li><a href="../../archetypes/index.html" title="Archetypes"><span class="none"></span>Archetypes</a></li> - <li><a href="../../extensions/index.html" title="Extensions"><span class="none"></span>Extensions</a></li> - <li><a href="../../pom/index.html" title="Parent POMs"><span class="none"></span>Parent POMs</a></li> - <li><a href="../../plugins/index.html" title="Plugins"><span class="none"></span>Plugins</a></li> - <li><a href="../../skins/index.html" title="Skins"><span class="none"></span>Skins</a></li> - <li><a href="../" title="Components"><span class="icon-chevron-down"></span>Components</a> + <li><a href="../../ref/current">Maven</a></li> + <li><a href="../../archetypes/index.html">Archetypes</a></li> + <li><a href="../../extensions/index.html">Extensions</a></li> + <li><a href="../../pom/index.html">Parent POMs</a></li> + <li><a href="../../plugins/index.html">Plugins</a></li> + <li><a href="../../skins/index.html">Skins</a></li> + <li><a><span class="icon-chevron-down"></span>Components</a> <ul class="nav nav-list"> - <li><a href="../../archetype/index.html" title="Archetype"><span class="none"></span>Archetype</a></li> - <li><a href="../../resolver/index.html" title="Artifact Resolver"><span class="none"></span>Artifact Resolver</a></li> - <li><a href="../index.html" title="Doxia"><span class="none"></span>Doxia</a></li> - <li><a href="../../maven-indexer/index.html" title="Indexer"><span class="none"></span>Indexer</a></li> - <li><a href="../../jxr/index.html" title="JXR"><span class="none"></span>JXR</a></li> - <li><a href="../../plugin-testing/index.html" title="Plugin Testing"><span class="none"></span>Plugin Testing</a></li> - <li><a href="../../plugin-tools/index.html" title="Plugin Tools"><span class="none"></span>Plugin Tools</a></li> - <li><a href="../../apache-resource-bundles/index.html" title="Resource Bundles"><span class="none"></span>Resource Bundles</a></li> - <li><a href="../../scm/index.html" title="SCM"><span class="none"></span>SCM</a></li> - <li><a href="../../shared/index.html" title="Shared Components"><span class="none"></span>Shared Components</a></li> - <li><a href="../../surefire/index.html" title="Surefire"><span class="none"></span>Surefire</a></li> - <li><a href="../../wagon/index.html" title="Wagon"><span class="none"></span>Wagon</a></li> + <li><a href="../../archetype/index.html">Archetype</a></li> + <li><a href="../../resolver/index.html">Artifact Resolver</a></li> + <li><a href="../index.html">Doxia</a></li> + <li><a href="../../maven-indexer/index.html">Indexer</a></li> + <li><a href="../../jxr/index.html">JXR</a></li> + <li><a href="../../plugin-testing/index.html">Plugin Testing</a></li> + <li><a href="../../plugin-tools/index.html">Plugin Tools</a></li> + <li><a href="../../apache-resource-bundles/index.html">Resource Bundles</a></li> + <li><a href="../../scm/index.html">SCM</a></li> + <li><a href="../../shared/index.html">Shared Components</a></li> + <li><a href="../../surefire/index.html">Surefire</a></li> + <li><a href="../../wagon/index.html">Wagon</a></li> </ul></li> <li class="nav-header">ASF</li> - <li><a href="https://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works"><span class="none"></span>How Apache Works</a></li> - <li><a href="https://www.apache.org/foundation/" class="externalLink" title="Foundation"><span class="none"></span>Foundation</a></li> - <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html" class="externalLink" title="Data Privacy"><span class="none"></span>Data Privacy</a></li> - <li><a href="https://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache"><span class="none"></span>Sponsoring Apache</a></li> - <li><a href="https://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a></li> + <li><a href="https://www.apache.org/foundation/how-it-works.html" class="externalLink">How Apache Works</a></li> + <li><a href="https://www.apache.org/foundation/" class="externalLink">Foundation</a></li> + <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html" class="externalLink">Data Privacy</a></li> + <li><a href="https://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsoring Apache</a></li> + <li><a href="https://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a></li> </ul> </nav> <div class="well sidebar-nav"> <div id="poweredBy"> <div class="clear"></div> <div class="clear"></div> - <div class="clear"></div> -<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a> +<a href="https://maven.apache.org/" class="builtBy" target="_blank"><img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a> </div> </div> </header> - <main id="bodyColumn" class="span10" > + <main id="bodyColumn" class="span10"> <section> -<h2></h2> -<table class="table table-striped" width="100%" align="center" border="0"> +<h1></h1> +<table class="table table-striped" style="text-align: center;"> <tr class="a"> -<td align="center">Previous: <a href="bind.html">Bindings</a></td> -<td align="center">Up: <a href="bind.html">Bindings</a></td> -<td align="right">Next: <a href="aegis-binding.html">Aegis Binding</a></td></tr></table><hr /></section><section> -<h2><a name="Bindings_Overview"></a>Bindings Overview</h2> +<td style="text-align: left;">Previous: <a href="bind.html">Bindings</a></td> +<td style="text-align: center;">Up: <a href="bind.html">Bindings</a></td> +<td style="text-align: right;">Next: <a href="aegis-binding.html">Aegis Binding</a></td></tr></table><hr /></section><section><a id="Bindings_Overview"></a> +<h1>Bindings Overview</h1> <p>Bindings are one of the most important pieces of XFire. They control how the incoming and outoing XML is mapped to objects.</p> <p>The default binding in XFire is "Aegis". Aegis means "shield", and the point of it is to create a simple layer which makes going between objects and XML easy. Aegis also provides the layer which allows other bindings to integrate with XFire - like JAXB, XMLBeans and Castor.</p> <p>Lets take a look at how you would use a different binding with XFire. The BindingProvider class is the one for actually taking the xml streams and reading/writing to them. When we create a service we need to actually supply a BindingProvider to the service. In the simplest case of creating a service you're probably writing code like this:</p> -<div class="source"><pre class="prettyprint linenums">ServiceFactory factory = new ObjectServiceFactory();</pre></div> +<pre class="prettyprint linenums"><code>ServiceFactory factory = new ObjectServiceFactory();</code></pre> <p>But, what this is actually doing in the constructor is creating an AegisBindingProvider:</p> -<div class="source"><pre class="prettyprint linenums"> ServiceFactory factory = new ObjectServiceFactory(new AegisBindingProvider());</pre></div></section><section> -<h2><a name="Using_another_binding"></a>Using another binding</h2> +<pre class="prettyprint linenums"><code> ServiceFactory factory = new ObjectServiceFactory(new AegisBindingProvider());</code></pre></section><section><a id="Using_another_binding"></a> +<h1>Using another binding</h1> <p>This AegisBindingProvider has the concept of a TypeRegistry and TypeCreators (don't worry you don't need to know much about this), which create Type classes for you. Types serialize and deserialize java classes. When you use a different binding it actually provides a different TypeRegistry and TypeCreator for its types.</p> <p>So if you were to create a JAXB 2.0 binding you would do:</p> -<div class="source"><pre class="prettyprint linenums">import org.codehaus.xfire.aegis.AegisBindingProvider; +<pre class="prettyprint linenums"><code>import org.codehaus.xfire.aegis.AegisBindingProvider; import org.codehaus.xfire.jaxb2.JaxbTypeRegistry; import org.codehaus.xfire.service.binding.ObjectServiceFactory; ... -ServiceFactory factory = new ObjectServiceFactory(new AegisBindingProvider(new JaxbTypeRegistry()));</pre></div> +ServiceFactory factory = new ObjectServiceFactory(new AegisBindingProvider(new JaxbTypeRegistry()));</code></pre> <p>Each binding has a different type registry:</p> -<table class="table table-striped" border="1"> -<tr class="a" valign="top"> -<td align="left"><b>Binding</b></td> -<td align="left"><b>Type Registry</b></td></tr> -<tr class="b" valign="top"> -<td align="left">Default POJOs</td> -<td align="left">org.codehaus.xfire.aegis.DefaultTypeMappingRegistry</td></tr> -<tr class="a" valign="top"> -<td align="left">Castor</td> -<td align="left">org.codehaus.xfire.castor.CastorTypeMappingRegistry</td></tr> -<tr class="b" valign="top"> -<td align="left">JAXB 1.1</td> -<td align="left">org.codehaus.xfire.jaxb.JaxbTypeRegistry</td></tr> -<tr class="a" valign="top"> -<td align="left">JAXB 2.0</td> -<td align="left">org.codehaus.xfire.jaxb2.JaxbTypeRegistry</td></tr> -<tr class="b" valign="top"> -<td align="left">XMLBeans</td> -<td align="left">org.codehaus.xfire.xmlbeans.XmlBeansTypeRegistry</td></tr></table> +<table class="bodyTableBorder"> +<tr class="a"> +<td style="text-align: left;"><b>Binding</b></td> +<td style="text-align: left;"><b>Type Registry</b></td></tr> +<tr class="b"> +<td style="text-align: left;">Default POJOs</td> +<td style="text-align: left;">org.codehaus.xfire.aegis.DefaultTypeMappingRegistry</td></tr> +<tr class="a"> +<td style="text-align: left;">Castor</td> +<td style="text-align: left;">org.codehaus.xfire.castor.CastorTypeMappingRegistry</td></tr> +<tr class="b"> +<td style="text-align: left;">JAXB 1.1</td> +<td style="text-align: left;">org.codehaus.xfire.jaxb.JaxbTypeRegistry</td></tr> +<tr class="a"> +<td style="text-align: left;">JAXB 2.0</td> +<td style="text-align: left;">org.codehaus.xfire.jaxb2.JaxbTypeRegistry</td></tr> +<tr class="b"> +<td style="text-align: left;">XMLBeans</td> +<td style="text-align: left;">org.codehaus.xfire.xmlbeans.XmlBeansTypeRegistry</td></tr></table> <p>But don't stop here, you can use these BindingProviders with different ServiceFactorys. Here is an example using JAXB 2.0 and the annotation service factory.</p> -<div class="source"><pre class="prettyprint linenums">import org.codehaus.xfire.aegis.AegisBindingProvider; +<pre class="prettyprint linenums"><code>import org.codehaus.xfire.aegis.AegisBindingProvider; import org.codehaus.xfire.jaxb2.JaxbTypeRegistry; import org.codehaus.xfire.service.binding.ObjectServiceFactory; ... ServiceFactory factory = new AnnotationServiceFactory(new Jsr181WebAnnotations(), - new AegisBindingProvider(new JaxbTypeRegistry()));</pre></div></section><section> -<h2><a name="Convenience_ServiceFactorys"></a>Convenience ServiceFactorys</h2> + new AegisBindingProvider(new JaxbTypeRegistry()));</code></pre></section><section><a id="Convenience_ServiceFactorys"></a> +<h1>Convenience ServiceFactorys</h1> <p>If you just want to use the simple ObjectServiceFactory we have several convenience ServiceFactorys around:</p> -<table class="table table-striped" border="1"> -<tr class="a" valign="top"> -<td align="left"><b>Binding</b></td> -<td align="left"><b>Service Factory</b></td></tr> -<tr class="b" valign="top"> -<td align="left">JAXB 1.1</td> -<td align="left">org.codehaus.xfire.jaxb.JaxbServiceFactory</td></tr> -<tr class="a" valign="top"> -<td align="left">JAXB 2.0</td> -<td align="left">org.codehaus.xfire.jaxb2.JaxbServiceFactory</td></tr> -<tr class="b" valign="top"> -<td align="left">XMLBeans</td> -<td align="left">org.codehaus.xfire.xmlbeans.XmlBeansServiceFactory</td></tr></table> +<table class="bodyTableBorder"> +<tr class="a"> +<td style="text-align: left;"><b>Binding</b></td> +<td style="text-align: left;"><b>Service Factory</b></td></tr> +<tr class="b"> +<td style="text-align: left;">JAXB 1.1</td> +<td style="text-align: left;">org.codehaus.xfire.jaxb.JaxbServiceFactory</td></tr> +<tr class="a"> +<td style="text-align: left;">JAXB 2.0</td> +<td style="text-align: left;">org.codehaus.xfire.jaxb2.JaxbServiceFactory</td></tr> +<tr class="b"> +<td style="text-align: left;">XMLBeans</td> +<td style="text-align: left;">org.codehaus.xfire.xmlbeans.XmlBeansServiceFactory</td></tr></table> <p>You can use these just like you would an ObjectServiceFactory:</p> -<div class="source"><pre class="prettyprint linenums">import org.codehaus.xfire.jaxb2.JaxbServiceFactory; +<pre class="prettyprint linenums"><code>import org.codehaus.xfire.jaxb2.JaxbServiceFactory; import org.codehaus.xfire.service.ServiceFactory; ... -ServiceFactory factory = new JaxbServiceFactory();</pre></div></section><section> -<h2><a name="The_MessageBinding"></a>The MessageBinding</h2> -<p>There is also one other type of binding, the MessageBinding. The MessageBinding has special semantics to allow you to work with XML streams and fragments real easily. Read more on the Message Binding page.</p></section><section> -<h2></h2><hr /> -<table class="table table-striped" width="100%" align="center" border="0"> -<tr class="a"> -<td align="center">Previous: <a href="bind.html">Bindings</a></td> -<td align="center">Up: <a href="bind.html">Bindings</a></td> -<td align="right">Next: <a href="aegis-binding.html">Aegis Binding</a></td></tr></table></section> - </main> +ServiceFactory factory = new JaxbServiceFactory();</code></pre></section><section><a id="The_MessageBinding"></a> +<h1>The MessageBinding</h1> +<p>There is also one other type of binding, the MessageBinding. The MessageBinding has special semantics to allow you to work with XML streams and fragments real easily. Read more on the Message Binding page.</p></section><section><a id="null_1"></a> +<h1></h1><hr /> +<table class="table table-striped" style="text-align: center;"> +<tr class="a"> +<td style="text-align: left;">Previous: <a href="bind.html">Bindings</a></td> +<td style="text-align: center;">Up: <a href="bind.html">Bindings</a></td> +<td style="text-align: right;">Next: <a href="aegis-binding.html">Aegis Binding</a></td></tr></table></section> </main> </div> </div> <hr/> @@ -207,10 +204,5 @@ ServiceFactory factory = new JaxbService </div> </div> </footer> -<script> - if(anchors) { - anchors.add(); - } -</script> </body> </html> \ No newline at end of file
Modified: maven/doxia/website/content/doxia-example-book/castor.html ============================================================================== --- maven/doxia/website/content/doxia-example-book/castor.html (original) +++ maven/doxia/website/content/doxia-example-book/castor.html Thu Dec 12 16:16:24 2024 @@ -2,28 +2,27 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from target/generated-site/xdoc/doxia-example-book/castor.xml at 2024-11-05 - | Rendered using Apache Maven Fluido Skin 1.12.0 + | Generated by Apache Maven Doxia Site Renderer 2.0.0 from target/generated-site/xdoc/doxia-example-book/castor.xml at 2024-12-12 + | Rendered using Apache Maven Fluido Skin 2.0.1 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0" /> <meta name="author" content="XFire User's Guide" /> - <title>Doxia – Castor</title> - <link rel="stylesheet" href="../css/apache-maven-fluido-1.12.0.min.css" /> + <title>Castor â Doxia</title> + <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.1.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> - <script src="../js/apache-maven-fluido-1.12.0.min.js"></script> - + <script src="../js/apache-maven-fluido-2.0.1.min.js"></script> <!-- Matomo --> <script> var _paq = window._paq = window._paq || []; - _paq.push(['disableCookies']); - _paq.push(['trackPageView']); - _paq.push(['enableLinkTracking']); - + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { var u="https://analytics.apache.org/"; _paq.push(['setTrackerUrl', u+'/matomo.php']); @@ -38,19 +37,19 @@ <div class="container-fluid container-fluid-top"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" style="" /></a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/doxia-logo.png" alt="Doxia" style="" /></a></div> + <div class="pull-left"><div id="bannerLeft"><h1><a href="https://www.apache.org/"><img class="class java.lang.Object" src="../../images/apache-maven-project.png" /></a></h1></div></div> + <div class="pull-right"><div id="bannerRight"><h1><a href=".././"><img class="class java.lang.Object" src="../images/doxia-logo.png" /> Doxia</a></h1></div></div> <div class="clear"><hr/></div> </div> <div id="breadcrumbs"> <ul class="breadcrumb"> - <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> - <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - <li><a href="../index.html" title="Doxia">Doxia</a><span class="divider">/</span></li> - <li class="active ">Castor <a href="https://github.com/apache/maven-doxia-site/tree/master/target/generated-site/xdoc/doxia-example-book/castor.xml"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-11-05</li> - <li class="pull-right"><a href="../scm.html" title="Get Sources">Get Sources</a></li> + <li><a href="https://www.apache.org/" class="externalLink">Apache</a><span class="divider">/</span></li> + <li><a href="../../index.html">Maven</a><span class="divider">/</span></li> + <li><a href="../index.html">Doxia</a><span class="divider">/</span></li> + <li class="active">Castor</li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-07-04</li> + <li class="pull-right"><a href="../scm.html">Get Sources</a></li> </ul> </div> </header> @@ -59,81 +58,80 @@ <nav class="well sidebar-nav"> <ul class="nav nav-list"> <li class="nav-header">About Doxia</li> - <li><a href="../index.html" title="What is Doxia?"><span class="none"></span>What is Doxia?</a></li> - <li><a href="../overview.html" title="Overview"><span class="none"></span>Overview</a></li> - <li><a href="../downloads.html" title="Downloads"><span class="none"></span>Downloads</a></li> - <li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a></li> + <li><a href="../index.html">What is Doxia?</a></li> + <li><a href="../overview.html">Overview</a></li> + <li><a href="../downloads.html">Downloads</a></li> + <li><a href="../faq.html">FAQ</a></li> <li class="nav-header">Documentation</li> - <li><a href="../references/index.html" title="Format References"><span class="icon-chevron-right"></span>Format References</a></li> - <li><a href="../modules/index.html" title="Doxia Modules Guide"><span class="none"></span>Doxia Modules Guide</a></li> - <li><a href="../macros/index.html" title="Doxia Macros Guide"><span class="none"></span>Doxia Macros Guide</a></li> - <li><a href="../book/index.html" title="Writing Books"><span class="none"></span>Writing Books</a></li> - <li><a href="../issues/index.html" title="Issues &amp; Gotchas"><span class="none"></span>Issues &amp; Gotchas</a></li> - <li><a href="../resources.html" title="External Resources"><span class="none"></span>External Resources</a></li> + <li><a href="../references/index.html"><span class="icon-chevron-right"></span>Format References</a></li> + <li><a href="../modules/index.html">Doxia Modules Guide</a></li> + <li><a href="../macros/index.html">Doxia Macros Guide</a></li> + <li><a href="../book/index.html">Writing Books</a></li> + <li><a href="../issues/index.html">Issues &amp; Gotchas</a></li> + <li><a href="../resources.html">External Resources</a></li> <li class="nav-header">Developer Docs</li> - <li><a href="../developers/index.html" title="Developer Centre"><span class="icon-chevron-right"></span>Developer Centre</a></li> - <li><a href="../doxia-tools/index.html" title="Doxia Tools"><span class="none"></span>Doxia Tools</a></li> + <li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Developer Centre</a></li> + <li><a href="../doxia-tools/index.html">Doxia Tools</a></li> <li class="nav-header">Project Documentation</li> - <li><a href="../project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a></li> + <li><a href="../project-info.html"><span class="icon-chevron-right"></span>Project Information</a></li> <li class="nav-header">Maven Projects</li> - <li><a href="../../ref/current" title="Maven"><span class="none"></span>Maven</a></li> - <li><a href="../../archetypes/index.html" title="Archetypes"><span class="none"></span>Archetypes</a></li> - <li><a href="../../extensions/index.html" title="Extensions"><span class="none"></span>Extensions</a></li> - <li><a href="../../pom/index.html" title="Parent POMs"><span class="none"></span>Parent POMs</a></li> - <li><a href="../../plugins/index.html" title="Plugins"><span class="none"></span>Plugins</a></li> - <li><a href="../../skins/index.html" title="Skins"><span class="none"></span>Skins</a></li> - <li><a href="../" title="Components"><span class="icon-chevron-down"></span>Components</a> + <li><a href="../../ref/current">Maven</a></li> + <li><a href="../../archetypes/index.html">Archetypes</a></li> + <li><a href="../../extensions/index.html">Extensions</a></li> + <li><a href="../../pom/index.html">Parent POMs</a></li> + <li><a href="../../plugins/index.html">Plugins</a></li> + <li><a href="../../skins/index.html">Skins</a></li> + <li><a><span class="icon-chevron-down"></span>Components</a> <ul class="nav nav-list"> - <li><a href="../../archetype/index.html" title="Archetype"><span class="none"></span>Archetype</a></li> - <li><a href="../../resolver/index.html" title="Artifact Resolver"><span class="none"></span>Artifact Resolver</a></li> - <li><a href="../index.html" title="Doxia"><span class="none"></span>Doxia</a></li> - <li><a href="../../maven-indexer/index.html" title="Indexer"><span class="none"></span>Indexer</a></li> - <li><a href="../../jxr/index.html" title="JXR"><span class="none"></span>JXR</a></li> - <li><a href="../../plugin-testing/index.html" title="Plugin Testing"><span class="none"></span>Plugin Testing</a></li> - <li><a href="../../plugin-tools/index.html" title="Plugin Tools"><span class="none"></span>Plugin Tools</a></li> - <li><a href="../../apache-resource-bundles/index.html" title="Resource Bundles"><span class="none"></span>Resource Bundles</a></li> - <li><a href="../../scm/index.html" title="SCM"><span class="none"></span>SCM</a></li> - <li><a href="../../shared/index.html" title="Shared Components"><span class="none"></span>Shared Components</a></li> - <li><a href="../../surefire/index.html" title="Surefire"><span class="none"></span>Surefire</a></li> - <li><a href="../../wagon/index.html" title="Wagon"><span class="none"></span>Wagon</a></li> + <li><a href="../../archetype/index.html">Archetype</a></li> + <li><a href="../../resolver/index.html">Artifact Resolver</a></li> + <li><a href="../index.html">Doxia</a></li> + <li><a href="../../maven-indexer/index.html">Indexer</a></li> + <li><a href="../../jxr/index.html">JXR</a></li> + <li><a href="../../plugin-testing/index.html">Plugin Testing</a></li> + <li><a href="../../plugin-tools/index.html">Plugin Tools</a></li> + <li><a href="../../apache-resource-bundles/index.html">Resource Bundles</a></li> + <li><a href="../../scm/index.html">SCM</a></li> + <li><a href="../../shared/index.html">Shared Components</a></li> + <li><a href="../../surefire/index.html">Surefire</a></li> + <li><a href="../../wagon/index.html">Wagon</a></li> </ul></li> <li class="nav-header">ASF</li> - <li><a href="https://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works"><span class="none"></span>How Apache Works</a></li> - <li><a href="https://www.apache.org/foundation/" class="externalLink" title="Foundation"><span class="none"></span>Foundation</a></li> - <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html" class="externalLink" title="Data Privacy"><span class="none"></span>Data Privacy</a></li> - <li><a href="https://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache"><span class="none"></span>Sponsoring Apache</a></li> - <li><a href="https://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a></li> + <li><a href="https://www.apache.org/foundation/how-it-works.html" class="externalLink">How Apache Works</a></li> + <li><a href="https://www.apache.org/foundation/" class="externalLink">Foundation</a></li> + <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html" class="externalLink">Data Privacy</a></li> + <li><a href="https://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsoring Apache</a></li> + <li><a href="https://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a></li> </ul> </nav> <div class="well sidebar-nav"> <div id="poweredBy"> <div class="clear"></div> <div class="clear"></div> - <div class="clear"></div> -<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a> +<a href="https://maven.apache.org/" class="builtBy" target="_blank"><img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a> </div> </div> </header> - <main id="bodyColumn" class="span10" > + <main id="bodyColumn" class="span10"> <section> -<h2></h2> -<table class="table table-striped" width="100%" align="center" border="0"> +<h1></h1> +<table class="table table-striped" style="text-align: center;"> <tr class="a"> -<td align="center">Previous: <a href="aegis-binding.html">Aegis Binding</a></td> -<td align="center">Up: <a href="bind.html">Bindings</a></td> -<td align="right">Next: <a href="transports.html">Transports</a></td></tr></table><hr /></section><section> -<h2><a name="Castor"></a>Castor</h2> -<p>Castor is a flexible XML binding tool that provides run-time marshalling and unmarshalling of XML and Java objects. One strength of Castor when compared to most (not all) other Java XML binding frameworks is that re-compilation of the Java code is not required if the mapping definition changes. Therefore, systems where the web service layer is being developed independently from the business layer can benefit from using Castor. XFire support for Castor is currently available in the latest XFire release. Two approaches to developing a Web service using Castor with XFire are presented below: top-down (schema first) and bottom-up (code first). Before proceeding, check the Dependency Guide for required castor module dependencies.</p><section> -<h3><a name="Assumptions_about_Reader"></a>Assumptions about Reader</h3> +<td style="text-align: left;">Previous: <a href="aegis-binding.html">Aegis Binding</a></td> +<td style="text-align: center;">Up: <a href="bind.html">Bindings</a></td> +<td style="text-align: right;">Next: <a href="transports.html">Transports</a></td></tr></table><hr /></section><section><a id="Castor"></a> +<h1>Castor</h1> +<p>Castor is a flexible XML binding tool that provides run-time marshalling and unmarshalling of XML and Java objects. One strength of Castor when compared to most (not all) other Java XML binding frameworks is that re-compilation of the Java code is not required if the mapping definition changes. Therefore, systems where the web service layer is being developed independently from the business layer can benefit from using Castor. XFire support for Castor is currently available in the latest XFire release. Two approaches to developing a Web service using Castor with XFire are presented below: top-down (schema first) and bottom-up (code first). Before proceeding, check the Dependency Guide for required castor module dependencies.</p><section><a id="Assumptions_about_Reader"></a> +<h2>Assumptions about Reader</h2> <ul> <li>Competence with Java and XML</li> <li>Basic knowledge of Castor XML binding framework</li> <li>Experience configuring Java webapp and deploying</li> -<li>Nominal familiarity with Spring framework</li></ul></section></section><section> -<h2><a name="Top-down_Approach_.28starting_with_XML_schema.29:"></a>Top-down Approach (starting with XML schema):</h2> +<li>Nominal familiarity with Spring framework</li></ul></section></section><section><a id="Top-down_Approach_.28starting_with_XML_schema.29.3A"></a> +<h1>Top-down Approach (starting with XML schema):</h1> <p>Firstly, the XML schema that defines the structure of your web service messages must be developed. For the purposes of this guide, we'll borrow a schema from http://www.webservicex.net/WeatherForecast.asmx?WSDL which defines a pre-existing weather forecast service.</p> <p>The borrowed schema below should be saved under META-INF/schema/ in the classpath:</p> -<div class="source"><pre class="prettyprint linenums"><s:schema elementFormDefault="qualified" targetNamespace="http://www.webservicex.net" +<pre class="prettyprint linenums"><code><s:schema elementFormDefault="qualified" targetNamespace="http://www.webservicex.net" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.webservicex.net"> <s:element name="GetWeatherByZipCode"> <s:complexType> @@ -176,9 +174,9 @@ <s:element minOccurs="0" maxOccurs="1" name="MinTemperatureC" type="s:string"/> </s:sequence> </s:complexType> -</s:schema></pre></div> +</s:schema></code></pre> <p>Next, we'll use castor to generate POJO classes from the service schema. First, define the source generator task and a goal for generation. The example below is for a maven 1.x configuration. Go to Using the Source Code Generator for a full reference on generating java classes from XML schema.</p> -<div class="source"><pre class="prettyprint linenums"><ant:path id="castor.class.path"> +<pre class="prettyprint linenums"><code><ant:path id="castor.class.path"> <ant:path refid="maven.dependency.classpath"/> <ant:pathelement path="${maven.build.dest}"/> <ant:pathelement path="${maven.test.dest}"/> @@ -196,10 +194,10 @@ todir="${maven.build.dir}/generated-src" types="j2" warnings="false" /> -</goal></pre></div> +</goal></code></pre> <p>After running the generate-source goal, the supporting classes will be in the generated-src directory under the net.webservicex package. Along with each class is an accompanying Descriptor class file (e.g. WeatherDataDescriptor.java) that contains XML binding information.</p> <p>Next, write a Web service with the support of the generated classes. Note, the example below is a trivial implementation.</p> -<div class="source"><pre class="prettyprint linenums">package foo.bar; +<pre class="prettyprint linenums"><code>package foo.bar; import net.webservicex.*; @@ -225,10 +223,10 @@ public class WeatherService return res; } -}</pre></div> +}</code></pre> <p>After this, configure the service in Xfire. The example below takes the XML configuration approach (which uses Spring integration). In addition, XFire supports integration of configuration into containers such as Plexus and PicoContainer. For more control over the Web service definition, JSR 181 Annotations should be used in the service code.</p> <p>The configuration goes in the services.xml descriptor. This file goes in META-INF/xfire/ on the classpath:</p> -<div class="source"><pre class="prettyprint linenums"><beans xmlns="http://xfire.codehaus.org/config/1.0"> +<pre class="prettyprint linenums"><code><beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <serviceClass>foo.bar.WeatherService</serviceBean> @@ -250,17 +248,17 @@ public class WeatherService <constructor-arg index="1" ref="bindingProvider" /> </bean> -</beans></pre></div> +</beans></code></pre> <p>The service definition specifies the web service implementation class with the <i>serviceClass</i> property. A list of <code> <schemas> </code> can be provided to be included in WSDL generation. In this case, the borrowed schema definition in the classpath at META-INF/schema/WeatherForecast.xsd has been included.</p> <p>The request and response messages were defined in our schema and were included as a single parameter and return type, respectively, in our service method. This lends itself to a bare (or unwrapped) parameter-style. The service definition specifies a bare parameter-style by setting the <i>style</i> property as 'document'. If a wrapped parameter-style is preferable, the request and response schema definitions and generated classes would not be needed, as the operation name would wrap any request parameters and return type. The style property in the service definition would not be needed as service factories create services as wrapped style by default. The service method signature for a wrapped style service would be:</p> -<div class="source"><pre class="prettyprint linenums">public WeatherForecasts GetWeatherByZipCode(String zipCode)</pre></div> +<pre class="prettyprint linenums"><code>public WeatherForecasts GetWeatherByZipCode(String zipCode)</code></pre> <p>Service factories are responsible for creating the service inside of XFire. In this case, we want to use an ObjectServiceFactory with Castor binding, so the beans 'castorTypeRegistry', 'bindingProvider' and 'castorServiceFactory' are defined. Notice that these beans are using spring-style bean definitions (e.g. <i>bean id=...</i>) since XML Configuration uses Spring to build its services. We reference this service factory in the <i>serviceFactory</i> property of the service definition as #castorServiceFactory. The '#' denotes a reference to another defined bean. Read the Bindings section to learn more about setting up service factories with different xml binding mechanisms.</p> <p>After configuring the service within XFire, the service needs to be exposed so it can be reached by client-proxies. This can be done over HTTP by defining a servlet in the web.xml. Since we have taken the XML Configuration approach, it is best to set up the XFireConfigurableServlet in our web.xml. XFireConfigurableServlet will load the services.xml along with the included org.codehaus.xfire.spring.xfire.xml files upon initialization. Reference the XML Configuration for how to write the web.xml file.</p> -<p>Finally, deploy the web application to your favorite servlet container, and the service should be visible at /services/WeatherService?wsdl under the deployed webapp context path.</p></section><section> -<h2><a name="Bottom-up_Approach_.28starting_with_Java_classes.29:"></a>Bottom-up Approach (starting with Java classes):</h2> +<p>Finally, deploy the web application to your favorite servlet container, and the service should be visible at /services/WeatherService?wsdl under the deployed webapp context path.</p></section><section><a id="Bottom-up_Approach_.28starting_with_Java_classes.29.3A"></a> +<h1>Bottom-up Approach (starting with Java classes):</h1> <p>Let's say you want to leverage your pre-existing business code by exposing certain methods with a Web Service. That's not too hard to do with Castor binding and XFire, but it's a different approach that involves mapping Java to XML rather than generating Java classes from schema. Service-oriented architecture discourages simply exposing the domain model, but in this example we're going to be rebellious and not insulate it. This doesn't mean that the bottom-up approach can't follow SOA best practices, altogether.</p> <p>Below is a Book class that's part of the domain:</p> -<div class="source"><pre class="prettyprint linenums">package foo.bar; +<pre class="prettyprint linenums"><code>package foo.bar; public class Book { @@ -299,9 +297,9 @@ public class Book { this.author = author; } -}</pre></div> +}</code></pre> <p>Next, is a service class that has a couple methods we want to expose as a web service. Note: This service class could have existed already as a business service, or could have been written specifically to be a web service. As you might have noticed, the implementation is quite trivial (ie. stoopid).</p> -<div class="source"><pre class="prettyprint linenums">package foo.bar; +<pre class="prettyprint linenums"><code>package foo.bar; public class BookService { @@ -324,9 +322,9 @@ public class BookService { return onlyBook; } -}</pre></div> +}</code></pre> <p>Let's create an XSD that matches the Book class, so that we know what the XML element for the Book class should look like. The Book.xsd schema below should be saved under META-INF/schema/ in the classpath:</p> -<div class="source"><pre class="prettyprint linenums"><xsd:schema elementFormDefault="qualified" targetNamespace="http://xfire.codehaus.org" +<pre class="prettyprint linenums"><code><xsd:schema elementFormDefault="qualified" targetNamespace="http://xfire.codehaus.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://xfire.codehaus.org"> <xsd:complexType name="Book"> <xsd:sequence> @@ -335,11 +333,11 @@ public class BookService <xsd:element name="author" type="xsd:string"/> </xsd:sequence> </xsd:complexType> -</xsd:schema></pre></div> +</xsd:schema></code></pre> <p>The schema outlines a complex type that has three string elements. It is important to note that the namespace prefix for XML schema namespace is 'xsd' and the namespace prefix for the target namespace is 'tns'. These are the prefixes used by the XFire WSDL builder when creating the schema section, and this schema will actually be inserted inline into the schema section of the WSDL.</p> <p>Now we need to specify how to transform our Book class to an XML element that conforms to the XSD, and vice versa. This is done with a castor mapping file. More information on writing castor mappings is available at http://www.castor.org/xml-mapping.html</p> <p>The castor.xml mapping file below should be saved under the foo.bar package:</p> -<div class="source"><pre class="prettyprint linenums"><?xml version="1.0" encoding="UTF-8"?> +<pre class="prettyprint linenums"><code><?xml version="1.0" encoding="UTF-8"?> <mapping> <class name="org.codehaus.xfire.castor.Book"> <map-to xml="Book" ns-uri="http://xfire.codehaus.org" ns-prefix="tns" element-definition="false"/> @@ -347,11 +345,11 @@ public class BookService <field name="isbn" type="string"/> <field name="author" type="string"/> </class> -</mapping></pre></div> +</mapping></code></pre> <p>Note again, the target namespace and tns prefix are the same as in the XSD. The element-defintion attribute denotes whether the XSD definition is a concrete element or an abstract complex type. In this case, it is a complex type so element-definition is false (which is actually is default value).</p> <p>All the distinct parts are there, time to configure the service in Xfire. The example below takes the XML configuration approach (which uses Spring integration).</p> <p>The configuration goes in the services.xml descriptor. This file goes in META-INF/xfire/ on the classpath:</p> -<div class="source"><pre class="prettyprint linenums"><beans xmlns="http://xfire.codehaus.org/config/1.0"> +<pre class="prettyprint linenums"><code><beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <serviceClass>foo.bar.BookService</serviceBean> @@ -375,18 +373,17 @@ public class BookService <constructor-arg index="1" ref="bindingProvider" /> </bean> -</beans></pre></div> +</beans></code></pre> <p>The service definition specifies the web service implementation class with the <i>serviceClass</i> property. A list of <i>schemas</i> can be provided to be included in WSDL generation. In this case, the schema definition in the classpath at META-INF/schema/Book.xsd has been included. Our service is of parameter style 'wrapped', as the method names in the service will wrap our request and response messages (e.g. <i>findBook</i>). The style property in the service definition is not be needed as service factories create services as wrapped style by default.</p> <p>Service factories are responsible for creating the service inside of XFire. In this case, we want to use an ObjectServiceFactory with Castor binding, so the beans 'castorTypeRegistry', 'bindingProvider' and 'castorServiceFactory' are defined. Notice that these beans are using spring-style bean definitions (e.g. <i>bean id=...</i>) since XML Configuration uses Spring to build its services. We reference this service factory in the <i>serviceFactory</i> property of the service definition as #castorServiceFactory. The '#' denotes a reference to another defined bean. The 'castorTypeRegistry' definition sets the 'mappingFile' property to point to the castor.xml mapping file in the classpath.</p> <p>After configuring the service within XFire, the service needs to be exposed so it can be reached by client-proxies. This can be done over HTTP by defining a servlet in the web.xml. Reference the XML Configuration for how to write the web.xml file.</p> -<p>After configuring the service and web application, deploy it to your favorite servlet container, and the service should be visible at /services/BookService?wsdl under the deployed webapp context path.</p></section><section> -<h2></h2><hr /> -<table class="table table-striped" width="100%" align="center" border="0"> +<p>After configuring the service and web application, deploy it to your favorite servlet container, and the service should be visible at /services/BookService?wsdl under the deployed webapp context path.</p></section><section><a id="null_1"></a> +<h1></h1><hr /> +<table class="table table-striped" style="text-align: center;"> <tr class="a"> -<td align="center">Previous: <a href="aegis-binding.html">Aegis Binding</a></td> -<td align="center">Up: <a href="bind.html">Bindings</a></td> -<td align="right">Next: <a href="transports.html">Transports</a></td></tr></table></section> - </main> +<td style="text-align: left;">Previous: <a href="aegis-binding.html">Aegis Binding</a></td> +<td style="text-align: center;">Up: <a href="bind.html">Bindings</a></td> +<td style="text-align: right;">Next: <a href="transports.html">Transports</a></td></tr></table></section> </main> </div> </div> <hr/> @@ -399,10 +396,5 @@ public class BookService </div> </div> </footer> -<script> - if(anchors) { - anchors.add(); - } -</script> </body> </html> \ No newline at end of file Modified: maven/doxia/website/content/doxia-example-book/doxia-example-book.pdf ============================================================================== Binary files - no diff available. Modified: maven/doxia/website/content/doxia-example-book/doxia-example-book.rtf ============================================================================== --- maven/doxia/website/content/doxia-example-book/doxia-example-book.rtf (original) +++ maven/doxia/website/content/doxia-example-book/doxia-example-book.rtf Thu Dec 12 16:16:24 2024 @@ -2,30 +2,30 @@ \deff0{\fonttbl{\f0\froman\fcharset0 Times New Roman;}{\f1\fswiss\fcharset0 Arial;}{\f2\froman\fcharset2 Symbol;}} {\colortbl\red0\green0\blue0;\red255\green255\blue255;\red255\green0\blue0;\red0\green0\blue255;} {\*\listtable -{\list\listtemplateid1563532267\hybrid +{\list\listtemplateid1098821391\hybrid {\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelstartat1{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f2\fi0\li300\ri0\tx300} -\listid29701937} -{\list\listtemplateid2094350824\hybrid +\listid1220531971} +{\list\listtemplateid487970409\hybrid {\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelstartat1{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f2\fi0\li300\ri0\tx300} -\listid405101094} -{\list\listtemplateid1154474331\hybrid +\listid1044414441} +{\list\listtemplateid1650765090\hybrid {\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelstartat1{\leveltext\'02\'00.;}{\levelnumbers \'01;}\fi0\li400\ri0\tx400} -\listid1385522005} -{\list\listtemplateid997908280\hybrid +\listid1555994427} +{\list\listtemplateid2076910946\hybrid {\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelstartat1{\leveltext\'02\'00.;}{\levelnumbers \'01;}\fi0\li400\ri0\tx400} -\listid978111474} -{\list\listtemplateid2038056107\hybrid +\listid2111511619} +{\list\listtemplateid204594343\hybrid {\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelstartat1{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f2\fi0\li300\ri0\tx300} -\listid2085746367} +\listid1762394665} } {\*\listoverridetable -{\listoverride\listid29701937\listoverridecount0\ls1} -{\listoverride\listid405101094\listoverridecount0\ls2} -{\listoverride\listid1385522005\listoverridecount0\ls3} -{\listoverride\listid978111474\listoverridecount0\ls4} -{\listoverride\listid2085746367\listoverridecount0\ls5} +{\listoverride\listid1220531971\listoverridecount0\ls1} +{\listoverride\listid1044414441\listoverridecount0\ls2} +{\listoverride\listid1555994427\listoverridecount0\ls3} +{\listoverride\listid2111511619\listoverridecount0\ls4} +{\listoverride\listid1762394665\listoverridecount0\ls5} } -{\info{\operator iText by lowagie.com}{\creationdate \yr2024\mo10\dy5\hr7\min26\sec50}{\creationdate \yr2024\mo10\dy5\hr7\min26\sec50}{\operator Doxia iText}} +{\info{\operator iText by lowagie.com}{\creationdate \yr2024\mo11\dy12\hr16\min14\sec42}{\creationdate \yr2024\mo11\dy12\hr16\min14\sec42}{\operator Doxia iText}} \paperw11907\paperh16840\margl720\margr720\margt720\margb720 {\footer }{\header }\pgwsxn11907\pghsxn16840\sectd{\footer }{\header }\pgwsxn11907\pghsxn16840\pard\li0\ri0\f1\fs48\cf2 1. \f1\fs48\cf2 Bindings\par\par\pard\li0\ri0\f1\fs44\cf0 1.1. \f1\fs44\cf0 Bindings Overview \par\par\f0\fs20\cf0 \par \pard\li0\ri0\f0\fs20\cf0 \par \f1\fs20\cf0 Bindings are one of the most important pieces of XFire. They control how the incoming and outoing XML is mapped to objects. \par\pard\li0\ri0\f0\fs20\cf0 \par \f1\fs20\cf0 The default binding in XFire is "Aegis". Aegis means "shield", and the point of it is to create a simple layer which makes going between objects and XML easy. Aegis also provides the layer which allows other bindings to integrate with XFire - like JAXB, XMLBeans and Castor. \par\pard\li0\ri0\f0\fs20\cf0 \par \f1\fs20\cf0 Lets take a look at how you would use a different binding with XFire. The BindingProvider class is the one for actually taking the xml streams and reading/writing to them. When we create a service we need to actually s upply a BindingProvider to the service. In the simplest case of creating a service you're probably writing code like this: \par\f1\fs20\cf0 \par\trowd \trftsWidth3\trwWidth10400\trkeep\trqc\trgaph10\trbrdrl\brdrs\brdrw20\brdrcf0 Modified: maven/doxia/website/content/doxia-example-book/http-transport.html ============================================================================== --- maven/doxia/website/content/doxia-example-book/http-transport.html (original) +++ maven/doxia/website/content/doxia-example-book/http-transport.html Thu Dec 12 16:16:24 2024 @@ -2,28 +2,27 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from target/generated-site/xdoc/doxia-example-book/http-transport.xml at 2024-11-05 - | Rendered using Apache Maven Fluido Skin 1.12.0 + | Generated by Apache Maven Doxia Site Renderer 2.0.0 from target/generated-site/xdoc/doxia-example-book/http-transport.xml at 2024-12-12 + | Rendered using Apache Maven Fluido Skin 2.0.1 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0" /> <meta name="author" content="XFire User's Guide" /> - <title>Doxia – HTTP Transport</title> - <link rel="stylesheet" href="../css/apache-maven-fluido-1.12.0.min.css" /> + <title>HTTP Transport â Doxia</title> + <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.1.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> - <script src="../js/apache-maven-fluido-1.12.0.min.js"></script> - + <script src="../js/apache-maven-fluido-2.0.1.min.js"></script> <!-- Matomo --> <script> var _paq = window._paq = window._paq || []; - _paq.push(['disableCookies']); - _paq.push(['trackPageView']); - _paq.push(['enableLinkTracking']); - + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { var u="https://analytics.apache.org/"; _paq.push(['setTrackerUrl', u+'/matomo.php']); @@ -38,19 +37,19 @@ <div class="container-fluid container-fluid-top"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" style="" /></a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/doxia-logo.png" alt="Doxia" style="" /></a></div> + <div class="pull-left"><div id="bannerLeft"><h1><a href="https://www.apache.org/"><img class="class java.lang.Object" src="../../images/apache-maven-project.png" /></a></h1></div></div> + <div class="pull-right"><div id="bannerRight"><h1><a href=".././"><img class="class java.lang.Object" src="../images/doxia-logo.png" /> Doxia</a></h1></div></div> <div class="clear"><hr/></div> </div> <div id="breadcrumbs"> <ul class="breadcrumb"> - <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> - <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - <li><a href="../index.html" title="Doxia">Doxia</a><span class="divider">/</span></li> - <li class="active ">HTTP Transport <a href="https://github.com/apache/maven-doxia-site/tree/master/target/generated-site/xdoc/doxia-example-book/http-transport.xml"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-11-05</li> - <li class="pull-right"><a href="../scm.html" title="Get Sources">Get Sources</a></li> + <li><a href="https://www.apache.org/" class="externalLink">Apache</a><span class="divider">/</span></li> + <li><a href="../../index.html">Maven</a><span class="divider">/</span></li> + <li><a href="../index.html">Doxia</a><span class="divider">/</span></li> + <li class="active">HTTP Transport</li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-07-04</li> + <li class="pull-right"><a href="../scm.html">Get Sources</a></li> </ul> </div> </header> @@ -59,115 +58,113 @@ <nav class="well sidebar-nav"> <ul class="nav nav-list"> <li class="nav-header">About Doxia</li> - <li><a href="../index.html" title="What is Doxia?"><span class="none"></span>What is Doxia?</a></li> - <li><a href="../overview.html" title="Overview"><span class="none"></span>Overview</a></li> - <li><a href="../downloads.html" title="Downloads"><span class="none"></span>Downloads</a></li> - <li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a></li> + <li><a href="../index.html">What is Doxia?</a></li> + <li><a href="../overview.html">Overview</a></li> + <li><a href="../downloads.html">Downloads</a></li> + <li><a href="../faq.html">FAQ</a></li> <li class="nav-header">Documentation</li> - <li><a href="../references/index.html" title="Format References"><span class="icon-chevron-right"></span>Format References</a></li> - <li><a href="../modules/index.html" title="Doxia Modules Guide"><span class="none"></span>Doxia Modules Guide</a></li> - <li><a href="../macros/index.html" title="Doxia Macros Guide"><span class="none"></span>Doxia Macros Guide</a></li> - <li><a href="../book/index.html" title="Writing Books"><span class="none"></span>Writing Books</a></li> - <li><a href="../issues/index.html" title="Issues &amp; Gotchas"><span class="none"></span>Issues &amp; Gotchas</a></li> - <li><a href="../resources.html" title="External Resources"><span class="none"></span>External Resources</a></li> + <li><a href="../references/index.html"><span class="icon-chevron-right"></span>Format References</a></li> + <li><a href="../modules/index.html">Doxia Modules Guide</a></li> + <li><a href="../macros/index.html">Doxia Macros Guide</a></li> + <li><a href="../book/index.html">Writing Books</a></li> + <li><a href="../issues/index.html">Issues &amp; Gotchas</a></li> + <li><a href="../resources.html">External Resources</a></li> <li class="nav-header">Developer Docs</li> - <li><a href="../developers/index.html" title="Developer Centre"><span class="icon-chevron-right"></span>Developer Centre</a></li> - <li><a href="../doxia-tools/index.html" title="Doxia Tools"><span class="none"></span>Doxia Tools</a></li> + <li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Developer Centre</a></li> + <li><a href="../doxia-tools/index.html">Doxia Tools</a></li> <li class="nav-header">Project Documentation</li> - <li><a href="../project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a></li> + <li><a href="../project-info.html"><span class="icon-chevron-right"></span>Project Information</a></li> <li class="nav-header">Maven Projects</li> - <li><a href="../../ref/current" title="Maven"><span class="none"></span>Maven</a></li> - <li><a href="../../archetypes/index.html" title="Archetypes"><span class="none"></span>Archetypes</a></li> - <li><a href="../../extensions/index.html" title="Extensions"><span class="none"></span>Extensions</a></li> - <li><a href="../../pom/index.html" title="Parent POMs"><span class="none"></span>Parent POMs</a></li> - <li><a href="../../plugins/index.html" title="Plugins"><span class="none"></span>Plugins</a></li> - <li><a href="../../skins/index.html" title="Skins"><span class="none"></span>Skins</a></li> - <li><a href="../" title="Components"><span class="icon-chevron-down"></span>Components</a> + <li><a href="../../ref/current">Maven</a></li> + <li><a href="../../archetypes/index.html">Archetypes</a></li> + <li><a href="../../extensions/index.html">Extensions</a></li> + <li><a href="../../pom/index.html">Parent POMs</a></li> + <li><a href="../../plugins/index.html">Plugins</a></li> + <li><a href="../../skins/index.html">Skins</a></li> + <li><a><span class="icon-chevron-down"></span>Components</a> <ul class="nav nav-list"> - <li><a href="../../archetype/index.html" title="Archetype"><span class="none"></span>Archetype</a></li> - <li><a href="../../resolver/index.html" title="Artifact Resolver"><span class="none"></span>Artifact Resolver</a></li> - <li><a href="../index.html" title="Doxia"><span class="none"></span>Doxia</a></li> - <li><a href="../../maven-indexer/index.html" title="Indexer"><span class="none"></span>Indexer</a></li> - <li><a href="../../jxr/index.html" title="JXR"><span class="none"></span>JXR</a></li> - <li><a href="../../plugin-testing/index.html" title="Plugin Testing"><span class="none"></span>Plugin Testing</a></li> - <li><a href="../../plugin-tools/index.html" title="Plugin Tools"><span class="none"></span>Plugin Tools</a></li> - <li><a href="../../apache-resource-bundles/index.html" title="Resource Bundles"><span class="none"></span>Resource Bundles</a></li> - <li><a href="../../scm/index.html" title="SCM"><span class="none"></span>SCM</a></li> - <li><a href="../../shared/index.html" title="Shared Components"><span class="none"></span>Shared Components</a></li> - <li><a href="../../surefire/index.html" title="Surefire"><span class="none"></span>Surefire</a></li> - <li><a href="../../wagon/index.html" title="Wagon"><span class="none"></span>Wagon</a></li> + <li><a href="../../archetype/index.html">Archetype</a></li> + <li><a href="../../resolver/index.html">Artifact Resolver</a></li> + <li><a href="../index.html">Doxia</a></li> + <li><a href="../../maven-indexer/index.html">Indexer</a></li> + <li><a href="../../jxr/index.html">JXR</a></li> + <li><a href="../../plugin-testing/index.html">Plugin Testing</a></li> + <li><a href="../../plugin-tools/index.html">Plugin Tools</a></li> + <li><a href="../../apache-resource-bundles/index.html">Resource Bundles</a></li> + <li><a href="../../scm/index.html">SCM</a></li> + <li><a href="../../shared/index.html">Shared Components</a></li> + <li><a href="../../surefire/index.html">Surefire</a></li> + <li><a href="../../wagon/index.html">Wagon</a></li> </ul></li> <li class="nav-header">ASF</li> - <li><a href="https://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works"><span class="none"></span>How Apache Works</a></li> - <li><a href="https://www.apache.org/foundation/" class="externalLink" title="Foundation"><span class="none"></span>Foundation</a></li> - <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html" class="externalLink" title="Data Privacy"><span class="none"></span>Data Privacy</a></li> - <li><a href="https://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache"><span class="none"></span>Sponsoring Apache</a></li> - <li><a href="https://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a></li> + <li><a href="https://www.apache.org/foundation/how-it-works.html" class="externalLink">How Apache Works</a></li> + <li><a href="https://www.apache.org/foundation/" class="externalLink">Foundation</a></li> + <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html" class="externalLink">Data Privacy</a></li> + <li><a href="https://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsoring Apache</a></li> + <li><a href="https://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a></li> </ul> </nav> <div class="well sidebar-nav"> <div id="poweredBy"> <div class="clear"></div> <div class="clear"></div> - <div class="clear"></div> -<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a> +<a href="https://maven.apache.org/" class="builtBy" target="_blank"><img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a> </div> </div> </header> - <main id="bodyColumn" class="span10" > + <main id="bodyColumn" class="span10"> <section> -<h2></h2> -<table class="table table-striped" width="100%" align="center" border="0"> +<h1></h1> +<table class="table table-striped" style="text-align: center;"> <tr class="a"> -<td align="center">Previous: <a href="transport-and-channel-api.html">Transport and Channel API</a></td> -<td align="center">Up: <a href="transports.html">Transports</a></td> -<td align="right">Next: <a href="jms-transport.html">JMS Transport</a></td></tr></table><hr /></section><section> -<h2><a name="HTTP_Transport"></a>HTTP Transport</h2><section> -<h3><a name="XFireServlet"></a>XFireServlet</h3> +<td style="text-align: left;">Previous: <a href="transport-and-channel-api.html">Transport and Channel API</a></td> +<td style="text-align: center;">Up: <a href="transports.html">Transports</a></td> +<td style="text-align: right;">Next: <a href="jms-transport.html">JMS Transport</a></td></tr></table><hr /></section><section><a id="HTTP_Transport"></a> +<h1>HTTP Transport</h1><section><a id="XFireServlet"></a> +<h2>XFireServlet</h2> <p>The core of the HTTP Transport takes place in the XFireServletController. Your own servlets can delegate appropriate requests to this class or you can use one of XFire's internal servlet classes. The XFireServlet is just a thin wrapper for the controller. The XFireServletController provides an xml configuration layer on top of this.</p> -<p>XFire also provides the XFireConfigurableServlet which reads the services.xml format automatically for you and the XFireSpringServlet which provides Sprign integration.</p></section><section> -<h3><a name="HttpServletRequest.2FHttpServletResponse"></a>HttpServletRequest/HttpServletResponse</h3> +<p>XFire also provides the XFireConfigurableServlet which reads the services.xml format automatically for you and the XFireSpringServlet which provides Sprign integration.</p></section><section><a id="HttpServletRequest.2FHttpServletResponse"></a> +<h2>HttpServletRequest/HttpServletResponse</h2> <p>The HttpServletRequest/HttpServletResponse can be accessed via the XFireServletController.</p> -<div class="source"><pre class="prettyprint linenums">HttpServletRequest request = XFireServletController.getRequest(); -HttpServletResponse response = XFireServletController.getResponse();</pre></div> -<p>This method will work all the XFire servlets (XFireServlet, XFireConfigurableServlet, XFireSpringServlet).</p></section><section> -<h3><a name="Client_authentication"></a>Client authentication</h3> +<pre class="prettyprint linenums"><code>HttpServletRequest request = XFireServletController.getRequest(); +HttpServletResponse response = XFireServletController.getResponse();</code></pre> +<p>This method will work all the XFire servlets (XFireServlet, XFireConfigurableServlet, XFireSpringServlet).</p></section><section><a id="Client_authentication"></a> +<h2>Client authentication</h2> <p>The Apache Jakarta HttpClient is used under the covers to provide HTTP client support. There are two ways which you can override the HttpClient settings:</p> -<ol style="list-style-type: decimal"> +<ol style="list-style-type: decimal; list-style-type: decimal"> <li>You can set the USERNAME/PASSWORD -<div class="source"><pre class="prettyprint linenums">// Create your client +<pre class="prettyprint linenums"><code>// Create your client Client client = ....; // Or get it from your proxy Client client = ((XFireProxy) Proxy.getInvocationHandler(myClientProxy)).getClient(); client.setProperty(Channel.USERNAME, "username"); -client.setProperty(Channel.PASSWORD, "pass");</pre></div></li> +client.setProperty(Channel.PASSWORD, "pass");</code></pre></li> <li>You can supply your own HttpClientParms -<div class="source"><pre class="prettyprint linenums">client.setProperty(CommonsHttpMessageSender.HTTP_CLIENT_PARAMS, myParams);</pre></div> -<p>The HTTPClient javadocs provide information on how to configure the HttpClientParams.</p></li></ol></section><section> -<h3><a name="Proxy_Support"></a>Proxy Support</h3> +<pre class="prettyprint linenums"><code>client.setProperty(CommonsHttpMessageSender.HTTP_CLIENT_PARAMS, myParams);</code></pre> +<p>The HTTPClient javadocs provide information on how to configure the HttpClientParams.</p></li></ol></section><section><a id="Proxy_Support"></a> +<h2>Proxy Support</h2> <p>Proxy support looks very similar to the username/password scenario:</p> -<div class="source"><pre class="prettyprint linenums">// Create your client +<pre class="prettyprint linenums"><code>// Create your client Client client = ....; // Or get it from your proxy Client client = ((XFireProxy) Proxy.getInvocationHandler(myClientProxy)).getClient(); client.setProperty(CommonsHttpMessageSender.HTTP_PROXY_HOST, "host"); -client.setProperty(CommonsHttpMessageSender.HTTP_PROXY_PORT, "8080");</pre></div></section><section> -<h3><a name="HTTP_Chunking"></a>HTTP Chunking</h3> +client.setProperty(CommonsHttpMessageSender.HTTP_PROXY_PORT, "8080");</code></pre></section><section><a id="HTTP_Chunking"></a> +<h2>HTTP Chunking</h2> <p>You'll need to enable HTTP chunking on the client if you are sending large files which can't be cached in memory:</p> -<div class="source"><pre class="prettyprint linenums">import org.codehaus.xfire.transport.http.HttpTransport; +<pre class="prettyprint linenums"><code>import org.codehaus.xfire.transport.http.HttpTransport; Client client = ....; -client.setProperty(HttpTransport.CHUNKING_ENABLED, "true");</pre></div></section></section><section> -<h2></h2><hr /> -<table class="table table-striped" width="100%" align="center" border="0"> +client.setProperty(HttpTransport.CHUNKING_ENABLED, "true");</code></pre></section></section><section><a id="null_1"></a> +<h1></h1><hr /> +<table class="table table-striped" style="text-align: center;"> <tr class="a"> -<td align="center">Previous: <a href="transport-and-channel-api.html">Transport and Channel API</a></td> -<td align="center">Up: <a href="transports.html">Transports</a></td> -<td align="right">Next: <a href="jms-transport.html">JMS Transport</a></td></tr></table></section> - </main> +<td style="text-align: left;">Previous: <a href="transport-and-channel-api.html">Transport and Channel API</a></td> +<td style="text-align: center;">Up: <a href="transports.html">Transports</a></td> +<td style="text-align: right;">Next: <a href="jms-transport.html">JMS Transport</a></td></tr></table></section> </main> </div> </div> <hr/> @@ -180,10 +177,5 @@ client.setProperty(HttpTransport.CHUNKIN </div> </div> </footer> -<script> - if(anchors) { - anchors.add(); - } -</script> </body> </html> \ No newline at end of file
