You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by ve...@apache.org on 2009/03/16 22:19:01 UTC
svn commit: r755007 - in /webservices/commons/trunk/modules/axiom/src/site:
fml/ fml/faq.fml site.xml
Author: veithen
Date: Mon Mar 16 21:19:00 2009
New Revision: 755007
URL: http://svn.apache.org/viewvc?rev=755007&view=rev
Log:
Added a FAQ section to the Maven site with two questions recently discussed on the mailing list.
Added:
webservices/commons/trunk/modules/axiom/src/site/fml/
webservices/commons/trunk/modules/axiom/src/site/fml/faq.fml
Modified:
webservices/commons/trunk/modules/axiom/src/site/site.xml
Added: webservices/commons/trunk/modules/axiom/src/site/fml/faq.fml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/src/site/fml/faq.fml?rev=755007&view=auto
==============================================================================
--- webservices/commons/trunk/modules/axiom/src/site/fml/faq.fml (added)
+++ webservices/commons/trunk/modules/axiom/src/site/fml/faq.fml Mon Mar 16 21:19:00 2009
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faqs xmlns="http://maven.apache.org/FML/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/FML/1.0 http://maven.apache.org/xsd/fml-1.0.xsd"
+ title="Frequently (and less frequently) Asked Questions"
+ toplink="false">
+ <part id="general">
+ <faq id="geronimo_deps">
+ <question>
+ I'm working with Maven and I have a dependency problem with the JavaMail and Activation
+ implementation from Sun and Geronimo. What's happening?
+ </question>
+ <answer>
+ <p>Axiom requires the Java Activation Framework and the JavaMail API to work. There are two
+ commonly used incarnations of these libraries: one is Sun's reference implementation, the other
+ is part of the <a href="http://geronimo.apache.org/">Geronimo</a> project. Axiom declares
+ dependencies on the Geronimo versions (though that might
+ <a href="https://issues.apache.org/jira/browse/WSCOMMONS-417">change</a> in the future).
+ If your project uses another library that depends on JAF and/or JavaMail, but that refers
+ to Sun's implementation, your project will end up with dependencies on two different
+ artifacts implementing the same API.</p>
+ <p>If you prefer Sun's implementations, then you should change the declaration of the
+ Axiom dependencies in your POM file as follow:</p>
+<source><![CDATA[
+<dependency>
+ <groupId>org.apache.ws.commons.axiom</groupId>
+ <artifactId>axiom-xxx</artifactId>
+ <version>1.2.x</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-activation_1.1_spec</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-javamail_1.4_spec</artifactId>
+ </exclusion>
+ </exclusions>
+</dependency>
+]]></source>
+ <p>If you prefer Geronimo's implementation, then you need to identify the libraries
+ depending on Sun's artifacts (<code>javax.activation:activation</code> and
+ <code>javax.mail:mail</code>) and add the relevant exclusions. You can use
+ <code>mvn dependency:tree</code> to easily identify where a transitive dependency
+ comes from.</p>
+ <p>The choice between Sun's and Geronimo's implementation is to a large extend
+ a question of belief. Note however that the <code>geronimo-javamail_1.4_spec</code>
+ artifact used by Axiom only contains the JavaMail API, while Sun's library
+ bundles the API together with the providers for IMAP and POP3. Depending on your
+ use case that might be an advantage or disadvantage.</p>
+ </answer>
+ </faq>
+ <faq id="dom">
+ <question>
+ I'm using Axiom, but I need to integrate with a library using DOM. What can I do?
+ </question>
+ <answer>
+ <p>There are currently two solutions:</p>
+ <ol>
+ <li>Axiom separates API and implementation. The default implementation is called
+ LLOM (Linked List Object Model) and provided by the <code>axiom-impl</code>
+ artifact. There is also a second implementation called DOOM (DOM over OM) that
+ implements both the Axiom API and DOM. It is provided by the <code>axiom-dom</code>
+ artifact. You can use this implementation to integrate with DOM based code.
+ Note however that the DOM implementation provided by DOOM is not perfect. In
+ particular it doesn't implement DOM 3.</li>
+ <li>Starting with version 1.2.8, Axiom has
+ <a href="apidocs/org/apache/axiom/om/impl/jaxp/OMSource.html"><code>OMSource</code></a> and
+ <a href="apidocs/org/apache/axiom/om/impl/jaxp/OMResult.html"><code>OMResult</code></a>
+ classes which are implementations of JAXP's
+ <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/transform/Source.html"><code>Source</code></a> and
+ <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/transform/Result.html"><code>Result</code></a>
+ classes. You can use these to transform an Axiom tree into DOM (using
+ a standard implementation of DOM) and vice-versa. These two classes are based on
+ <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/transform/sax/SAXSource.html">SAXSource</a> and
+ <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/transform/sax/SAXResult.html">SAXResult</a>,
+ which means that you loose the deferred parsing capabilities of Axiom, but in many cases this will be
+ acceptable.</li>
+ </ol>
+ </answer>
+ </faq>
+ </part>
+</faqs>
Modified: webservices/commons/trunk/modules/axiom/src/site/site.xml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/src/site/site.xml?rev=755007&r1=755006&r2=755007&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/src/site/site.xml (original)
+++ webservices/commons/trunk/modules/axiom/src/site/site.xml Mon Mar 16 21:19:00 2009
@@ -40,6 +40,7 @@
<item name="Changes" href="changes.html"/>
<item name="OM Tutorial" href="OMTutorial.html"/>
<item name="Javadocs" href="/apidocs/index.html"/>
+ <item name="FAQ" href="faq.html"/>
<item name="View Source" href="http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/?root=Apache-SVN"/>
</item>
<item name="Project Information">