You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2007/07/14 06:37:36 UTC

svn commit: r556222 [6/22] - in /webservices/axis2/trunk/java/xdocs: ./ @axis2_version_dir@/ @axis2_version_dir@/adb/ @axis2_version_dir@/jibx/ @axis2_version_dir@/src/ download/0_9/ download/0_91/ download/0_92/ download/0_93/ download/0_94/ download/...

Copied: webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-unwrapped-example.xml (from r556217, webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-unwrapped-example.html)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jibx/jibx-unwrapped-example.xml?view=diff&rev=556222&p1=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jibx/jibx-unwrapped-example.html&r1=556217&p2=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jibx/jibx-unwrapped-example.xml&r2=556222
==============================================================================
--- webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-unwrapped-example.html (original)
+++ webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-unwrapped-example.xml Fri Jul 13 21:37:26 2007
@@ -1,270 +1,280 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements. See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership. The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License. You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied. See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<html>
-<head>
-  <meta http-equiv="content-type" content="">
-  <title>JiBX unwrapped document/literal</title>
-  <link href="../../css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
-</head>
-
-<body>
-<h1>JiBX Unwrapped document/literal</h1>
-
-<p>Code generation for JiBX data binding converts operations defined by a Web
-service to method calls. In the most general case of document/literal
-(doc/lit) Web services the generated methods each take a single parameter
-object and return a single result object. This type of interface can be
-painful for developers because it adds both a layer of indirection and
-potentially a large number of extra classes (one input and one output class
-for each generated method).</p>
-
-<p>Fortunately, there's an alternative way of generating methods that gives a
-much more usable API for many Web services. This alternative is called
-<i>unwrapping</i>, and the service definitions that it applies to are called
-<i>wrapped</i> definitions. The key difference that qualifies a service
-definition as wrapped is the structure of the input and output elements used
-for operations.</p>
-
-<p>Here's a sample wrapped WSDL (partial) by way of an example:</p>
-<pre>&lt;wsdl:definitions targetNamespace="http://ws.sosnoski.com/library/wsdl"
-    xmlns:tns="http://ws.sosnoski.com/library/types"
-    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
-    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"&gt;
-    
-  &lt;wsdl:types&gt;
-  
-    &lt;schema elementFormDefault="qualified"
-        targetNamespace="http://ws.sosnoski.com/library/types"
-        xmlns="http://www.w3.org/2001/XMLSchema"&gt;
-        
-      &lt;element name="getBook"&gt;
-        &lt;complexType&gt;
-          &lt;sequence&gt;
-            &lt;element name="isbn" type="string"/&gt;
-          &lt;/sequence&gt;
-        &lt;/complexType&gt;
-      &lt;/element&gt;
-      
-      &lt;element name="getBookResponse"&gt;
-        &lt;complexType&gt;
-          &lt;sequence&gt;
-            &lt;element name="book" minOccurs="0" type="tns:BookInformation"/&gt;
-          &lt;/sequence&gt;
-        &lt;/complexType&gt;
-      &lt;/element&gt;
-      
-      &lt;element name="addBook"&gt;
-        &lt;complexType&gt;
-          &lt;sequence&gt;
-            &lt;element name="type" type="string"/&gt;
-            &lt;element name="isbn" type="string"/&gt;
-            &lt;element name="author" minOccurs="0" maxOccurs="unbounded" type="string"/&gt;
-            &lt;element name="title" type="string"/&gt;
-          &lt;/sequence&gt;
-        &lt;/complexType&gt;
-      &lt;/element&gt;
-      
-      &lt;element name="addBookResponse"&gt;
-        &lt;complexType&gt;
-          &lt;sequence&gt;
-            &lt;element name="success" type="boolean"/&gt;
-          &lt;/sequence&gt;
-        &lt;/complexType&gt;
-      &lt;/element&gt;
-      
-      &lt;complexType name="BookInformation"&gt;
-        &lt;sequence&gt;
-          &lt;element name="author" minOccurs="0" maxOccurs="unbounded" type="string"/&gt;
-          &lt;element name="title" type="string"/&gt;
-        &lt;/sequence&gt;
-        &lt;attribute name="type" use="required" type="string"/&gt;
-        &lt;attribute name="isbn" use="required" type="string"/&gt;
-      &lt;/complexType&gt;
-      
-    &lt;/schema&gt;
-
-  &lt;/wsdl:types&gt;
-
-  &lt;wsdl:message name="getBookRequest"&gt;
-    &lt;wsdl:part element="wns:getBook" name="parameters"/&gt;
-  &lt;/wsdl:message&gt;
-
-  &lt;wsdl:message name="getBookResponse"&gt;
-    &lt;wsdl:part element="wns:getBookResponse" name="parameters"/&gt;
-  &lt;/wsdl:message&gt;
-
-  &lt;wsdl:message name="addBookRequest"&gt;
-    &lt;wsdl:part element="wns:addBook" name="parameters"/&gt;
-  &lt;/wsdl:message&gt;
-  
-  &lt;wsdl:message name="addBookResponse"&gt;
-    &lt;wsdl:part element="wns:addBookResponse" name="parameters"/&gt;
-  &lt;/wsdl:message&gt;
-
-  &lt;wsdl:portType name="Library"&gt;
-
-    &lt;wsdl:operation name="getBook"&gt;
-      &lt;wsdl:input message="wns:getBookRequest" name="getBookRequest"/&gt;
-      &lt;wsdl:output message="wns:getBookResponse" name="getBookResponse"/&gt;
-    &lt;/wsdl:operation&gt;
-
-    &lt;wsdl:operation name="addBook"&gt;
-      &lt;wsdl:input message="wns:addBookRequest" name="addBookRequest"/&gt;
-      &lt;wsdl:output message="wns:addBookResponse" name="addBookResponse"/&gt;
-    &lt;/wsdl:operation&gt;
-
-  &lt;/wsdl:portType&gt;
-  ...
-&lt;/wsdl:definitions&gt;</pre>
-
-<p>This WSDL defines a service with just two operations: <b>getBook</b> and
-<b>addBook</b>. The <b>getBook</b> operation takes a <i>getBook</i> element
-as input, and returns a <i>getBookResponse</i> element as output, while
-<b>addBook</b> takes an <i>addBook</i> element as input and returns an
-<i>addBookResponse</i> as output. Each of these input and output elements in
-turn consists of a sequence of child elements, with some of the child
-elements defined directly using standard schema types and others referencing
-user-defined schema types.</p>
-
-<p>As I said up front, this WSDL qualifies for unwrapped handling using JiBX.
-Here's the body of the client interface generated when using unwrapping (the
-<i>-uw</i> option for WSDL2Java):</p>
-<pre>    public interface LibraryJibxUnwrapped {
-          
-             
-        /**
-         * Auto generated method signatures
-         * @param type* @param isbn* @param author* @param title
-         */
-         public boolean addBook(
-         java.lang.String type,java.lang.String isbn,java.lang.String[] author,java.lang.String title) throws java.rmi.RemoteException
-          
-                       
-             ;
-             
-             
-        /**
-         * Auto generated method signatures
-         * @param isbn
-         */
-         public com.sosnoski.ws.library.jibx.beans.Book getBook(
-         java.lang.String isbn) throws java.rmi.RemoteException
-          
-                       
-             ;
-             
-
-        
-       //
-       }</pre>
-
-<p>You can see that the JiBX code generation converted the operations into
-simple method call interfaces without introducing any extraneous objects (see
-<a href="./jibx-doclit-example.html">JiBX Document/Literal Example</a> for
-the interface generated when unwrapping is not used). The server-side
-interface is the same.</p>
-
-<p>The key points that allow unwrapped handling with JiBX are:</p>
-<ol>
-  <li>Each operation either accepts no input, or the input consists of a
-    single element.</li>
-  <li>Each input element is defined as a schema <i>complexType</i> consisting
-    of a <i>sequence</i> of any number of child elements.</li>
-  <li>Each operation either generates no output, or the output consists of a
-    single element.</li>
-  <li>Each output element is defined as a schema <i>complexType</i>
-    consisting of a <i>sequence</i> that's either empty or contains a single
-    child element.</li>
-  <li>The child elements of both inputs and outputs are defined using
-    <i>type</i> references, rather than an embedded type definitions.</li>
-</ol>
-
-<p>You also need to supply an appropriate JiBX binding definition (using the
-<i>-Ebindingfile {file}</i> parameter for WSDL2Java - see <a
-href="./jibx-codegen-integration.html#codegen">JiBX Codegen Integration -
-WSDL2Java usage</a> for more details). This must define abstract
-<i>mapping</i>s for the <i>complexType</i>s referenced by child elements of
-the inputs and outputs, with a <i>type-name</i> attribute matching the schema
-<i>complexType</i> name. If the child elements reference schema
-<i>simpleType</i> definitions the binding must also define a <i>format</i>s
-for each <i>simpleType</i>, with a <i>label</i> attribute matching the schema
-<i>simpleType</i> name. The binding definition must also specify the
-<i>force-classes='true'</i> attribute on the <i>binding</i> element.</p>
-
-<p>For example, here's a binding definition that matches the above WSDL:</p>
-<pre>&lt;binding force-classes="true" xmlns:tns="http://ws.sosnoski.com/library/types"&gt;
-
-  &lt;namespace uri="http://ws.sosnoski.com/library/types" default="elements"/&gt;
-  
-  &lt;mapping abstract="true" class="com.sosnoski.ws.library.jibx.beans.Book"
-      type-name="tns:BookInformation"&gt;
-    &lt;value name="type" style="attribute" field="m_type"/&gt;
-    &lt;value name="isbn" style="attribute" field="m_isbn"/&gt;
-    &lt;collection field="m_authors"&gt;
-      &lt;value name="author"/&gt;
-    &lt;/collection&gt;
-    &lt;value name="title" field="m_title"/&gt;
-  &lt;/mapping&gt;
-  
-&lt;/binding&gt;</pre>
-
-<p>And here's the actual <code>com.sosnoski.ws.library.jibx.beans.Book</code>
-class:</p>
-<pre>package com.sosnoski.ws.library.jibx.beans;
-
-public class Book
-{
-    private String m_type;
-    private String m_isbn;
-    private String m_title;
-    private String[] m_authors;
-    
-    public Book() {}
-
-    public String getType() {
-        return m_type;
-    }
-    
-    public String getIsbn() {
-        return m_isbn;
-    }
-    
-    public String getTitle() {
-        return m_title;
-    }
-    
-    public String[] getAuthors() {
-        return m_authors;
-    }
-}</pre>
-
-<p>The JiBX code generation for Axis2 currently requires that classes
-coresponding to unwrapped child elements (such as
-<code>com.sosnoski.ws.library.jibx.beans.Book</code>, in this case) provide
-public default (no-argument) constructors.</p>
-
-<p>JiBX handling allows the child elements of both inputs and outputs to be
-optional (with <i>nillable='true'</i>, <i>minOccurs='0'</i>, or both),
-providing the binding converts these child elements to object types rather
-than primitive types. It also allows repeated child elements (with
-<i>minOccurs='unbounded'</i>, or any value of <i>minOccurs</i> greater than
-one), representing the repeated elements as arrays of the corresponding
-object or primitive types.</p>
-</body>
-</html>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements. See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership. The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License. You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied. See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="generator" content=
+"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
+<meta http-equiv="content-type" content="" />
+<title>JiBX unwrapped document/literal</title>
+<link href="../../css/axis-docs.css" rel="stylesheet" type=
+"text/css" media="all" />
+</head>
+<body>
+<h1>JiBX Unwrapped document/literal</h1>
+<p>Code generation for JiBX data binding converts operations
+defined by a Web service to method calls. In the most general case
+of document/literal (doc/lit) Web services the generated methods
+each take a single parameter object and return a single result
+object. This type of interface can be painful for developers
+because it adds both a layer of indirection and potentially a large
+number of extra classes (one input and one output class for each
+generated method).</p>
+<p>Fortunately, there's an alternative way of generating methods
+that gives a much more usable API for many Web services. This
+alternative is called <i>unwrapping</i>, and the service
+definitions that it applies to are called <i>wrapped</i>
+definitions. The key difference that qualifies a service definition
+as wrapped is the structure of the input and output elements used
+for operations.</p>
+<p>Here's a sample wrapped WSDL (partial) by way of an example:</p>
+<pre>
+&lt;wsdl:definitions targetNamespace="http://ws.sosnoski.com/library/wsdl"
+    xmlns:tns="http://ws.sosnoski.com/library/types"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"&gt;
+    
+  &lt;wsdl:types&gt;
+  
+    &lt;schema elementFormDefault="qualified"
+        targetNamespace="http://ws.sosnoski.com/library/types"
+        xmlns="http://www.w3.org/2001/XMLSchema"&gt;
+        
+      &lt;element name="getBook"&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name="isbn" type="string"/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name="getBookResponse"&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name="book" minOccurs="0" type="tns:BookInformation"/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name="addBook"&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name="type" type="string"/&gt;
+            &lt;element name="isbn" type="string"/&gt;
+            &lt;element name="author" minOccurs="0" maxOccurs="unbounded" type="string"/&gt;
+            &lt;element name="title" type="string"/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name="addBookResponse"&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name="success" type="boolean"/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;complexType name="BookInformation"&gt;
+        &lt;sequence&gt;
+          &lt;element name="author" minOccurs="0" maxOccurs="unbounded" type="string"/&gt;
+          &lt;element name="title" type="string"/&gt;
+        &lt;/sequence&gt;
+        &lt;attribute name="type" use="required" type="string"/&gt;
+        &lt;attribute name="isbn" use="required" type="string"/&gt;
+      &lt;/complexType&gt;
+      
+    &lt;/schema&gt;
+
+  &lt;/wsdl:types&gt;
+
+  &lt;wsdl:message name="getBookRequest"&gt;
+    &lt;wsdl:part element="wns:getBook" name="parameters"/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name="getBookResponse"&gt;
+    &lt;wsdl:part element="wns:getBookResponse" name="parameters"/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name="addBookRequest"&gt;
+    &lt;wsdl:part element="wns:addBook" name="parameters"/&gt;
+  &lt;/wsdl:message&gt;
+  
+  &lt;wsdl:message name="addBookResponse"&gt;
+    &lt;wsdl:part element="wns:addBookResponse" name="parameters"/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:portType name="Library"&gt;
+
+    &lt;wsdl:operation name="getBook"&gt;
+      &lt;wsdl:input message="wns:getBookRequest" name="getBookRequest"/&gt;
+      &lt;wsdl:output message="wns:getBookResponse" name="getBookResponse"/&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name="addBook"&gt;
+      &lt;wsdl:input message="wns:addBookRequest" name="addBookRequest"/&gt;
+      &lt;wsdl:output message="wns:addBookResponse" name="addBookResponse"/&gt;
+    &lt;/wsdl:operation&gt;
+
+  &lt;/wsdl:portType&gt;
+  ...
+&lt;/wsdl:definitions&gt;
+</pre>
+<p>This WSDL defines a service with just two operations:
+<b>getBook</b> and <b>addBook</b>. The <b>getBook</b> operation
+takes a <i>getBook</i> element as input, and returns a
+<i>getBookResponse</i> element as output, while <b>addBook</b>
+takes an <i>addBook</i> element as input and returns an
+<i>addBookResponse</i> as output. Each of these input and output
+elements in turn consists of a sequence of child elements, with
+some of the child elements defined directly using standard schema
+types and others referencing user-defined schema types.</p>
+<p>As I said up front, this WSDL qualifies for unwrapped handling
+using JiBX. Here's the body of the client interface generated when
+using unwrapping (the <i>-uw</i> option for WSDL2Java):</p>
+<pre>
+    public interface LibraryJibxUnwrapped {
+          
+             
+        /**
+         * Auto generated method signatures
+         * @param type* @param isbn* @param author* @param title
+         */
+         public boolean addBook(
+         java.lang.String type,java.lang.String isbn,java.lang.String[] author,java.lang.String title) throws java.rmi.RemoteException
+          
+                       
+             ;
+             
+             
+        /**
+         * Auto generated method signatures
+         * @param isbn
+         */
+         public com.sosnoski.ws.library.jibx.beans.Book getBook(
+         java.lang.String isbn) throws java.rmi.RemoteException
+          
+                       
+             ;
+             
+
+        
+       //
+       }
+</pre>
+<p>You can see that the JiBX code generation converted the
+operations into simple method call interfaces without introducing
+any extraneous objects (see <a href=
+"./jibx-doclit-example.html">JiBX Document/Literal Example</a> for
+the interface generated when unwrapping is not used). The
+server-side interface is the same.</p>
+<p>The key points that allow unwrapped handling with JiBX are:</p>
+<ol>
+<li>Each operation either accepts no input, or the input consists
+of a single element.</li>
+<li>Each input element is defined as a schema <i>complexType</i>
+consisting of a <i>sequence</i> of any number of child
+elements.</li>
+<li>Each operation either generates no output, or the output
+consists of a single element.</li>
+<li>Each output element is defined as a schema <i>complexType</i>
+consisting of a <i>sequence</i> that's either empty or contains a
+single child element.</li>
+<li>The child elements of both inputs and outputs are defined using
+<i>type</i> references, rather than an embedded type
+definitions.</li>
+</ol>
+<p>You also need to supply an appropriate JiBX binding definition
+(using the <i>-Ebindingfile {file}</i> parameter for WSDL2Java -
+see <a href="./jibx-codegen-integration.html#codegen">JiBX Codegen
+Integration - WSDL2Java usage</a> for more details). This must
+define abstract <i>mapping</i>s for the <i>complexType</i>s
+referenced by child elements of the inputs and outputs, with a
+<i>type-name</i> attribute matching the schema <i>complexType</i>
+name. If the child elements reference schema <i>simpleType</i>
+definitions the binding must also define a <i>format</i>s for each
+<i>simpleType</i>, with a <i>label</i> attribute matching the
+schema <i>simpleType</i> name. The binding definition must also
+specify the <i>force-classes='true'</i> attribute on the
+<i>binding</i> element.</p>
+<p>For example, here's a binding definition that matches the above
+WSDL:</p>
+<pre>
+&lt;binding force-classes="true" xmlns:tns="http://ws.sosnoski.com/library/types"&gt;
+
+  &lt;namespace uri="http://ws.sosnoski.com/library/types" default="elements"/&gt;
+  
+  &lt;mapping abstract="true" class="com.sosnoski.ws.library.jibx.beans.Book"
+      type-name="tns:BookInformation"&gt;
+    &lt;value name="type" style="attribute" field="m_type"/&gt;
+    &lt;value name="isbn" style="attribute" field="m_isbn"/&gt;
+    &lt;collection field="m_authors"&gt;
+      &lt;value name="author"/&gt;
+    &lt;/collection&gt;
+    &lt;value name="title" field="m_title"/&gt;
+  &lt;/mapping&gt;
+  
+&lt;/binding&gt;
+</pre>
+<p>And here's the actual
+<code>com.sosnoski.ws.library.jibx.beans.Book</code> class:</p>
+<pre>
+package com.sosnoski.ws.library.jibx.beans;
+
+public class Book
+{
+    private String m_type;
+    private String m_isbn;
+    private String m_title;
+    private String[] m_authors;
+    
+    public Book() {}
+
+    public String getType() {
+        return m_type;
+    }
+    
+    public String getIsbn() {
+        return m_isbn;
+    }
+    
+    public String getTitle() {
+        return m_title;
+    }
+    
+    public String[] getAuthors() {
+        return m_authors;
+    }
+}
+</pre>
+<p>The JiBX code generation for Axis2 currently requires that
+classes coresponding to unwrapped child elements (such as
+<code>com.sosnoski.ws.library.jibx.beans.Book</code>, in this case)
+provide public default (no-argument) constructors.</p>
+<p>JiBX handling allows the child elements of both inputs and
+outputs to be optional (with <i>nillable='true'</i>,
+<i>minOccurs='0'</i>, or both), providing the binding converts
+these child elements to object types rather than primitive types.
+It also allows repeated child elements (with
+<i>minOccurs='unbounded'</i>, or any value of <i>minOccurs</i>
+greater than one), representing the repeated elements as arrays of
+the corresponding object or primitive types.</p>
+</body>
+</html>

Copied: webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jms-transport.xml (from r556217, webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jms-transport.html)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jms-transport.xml?view=diff&rev=556222&p1=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jms-transport.html&r1=556217&p2=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jms-transport.xml&r2=556222
==============================================================================
--- webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jms-transport.html (original)
+++ webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jms-transport.xml Fri Jul 13 21:37:26 2007
@@ -1,212 +1,316 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements. See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership. The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License. You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied. See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <meta http-equiv="content-type" content="">
-  <title>JMS Transport</title>
-  <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
-  media="all">
-</head>
-
-<body lang="en">
-<a name="configTransport"></a>
-
-<h1>JMS Transport</h1>
-
-<p>This document is all about the JMS (Java Messaging Service) Transport
-support in Apache Axis2, and how it should be configured.</p>
-
-<h2>Contents</h2>
-<ul>
-  <li><a href="#CommonsHTTPTransportSender">Overview</a></li>
-  <li><a href="#timeout_config">Configuration</a></li>
-  <li><a href="#writing_services">Writing Services to Use the JMS
-    Transport</a></li>
-</ul>
-<a name="CommonsHTTPTransportSender"></a>
-
-<h2>Overview</h2>
-
-<p>A new Java Messaging Service (JMS) transport implementation has been added
-to Axis2 to overcome some drawbacks of the previous JMS implementation. One
-of the enhancements provided with this new implementation is the ability to
-<strong>assign custom JMS destination names or existing JMS destinations to
-Axis2 services being deployed</strong>.</p>
-<a name="timeout_config"></a>
-
-<h2>Configuration</h2>
-
-<p>To use the JMS transport, the axis2.xml configuration must be setup as
-follows, in order to configure the JMSListener and the JMS Sender</p>
-<pre><strong>axis2.xml</strong>
-    &lt;transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener"&gt;
-      &lt;parameter name="default"&gt;
-        &lt;parameter name="java.naming.factory.initial"&gt;org.apache.activemq.jndi.ActiveMQInitialContextFactory&lt;/parameter&gt;
-        &lt;parameter name="java.naming.provider.url"&gt;tcp://localhost:61616&lt;/parameter&gt;
-        &lt;parameter name="transport.jms.ConnectionFactoryJNDIName"&gt;QueueConnectionFactory&lt;/parameter&gt;
-      &lt;/parameter&gt;
-    &lt;/transportReceiver&gt;
-
-    &lt;transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/&gt;</pre>
-
-<p>The JMS transport receiver configuration allows you to define the default
-connection factory (named as "default" ~ JMSConstants.DEFAULT_CONFAC_NAME)
-for use by Axis2 services using the JMS transport. This connection factory
-will be used by any service that does not explicitly specify a connection
-factory name in its services.xml file. The configuration required to
-associate a (local) Axis2 connection factory to an actual implementation must
-be provided as shown above. To specify the JNDI URL, the initial context
-factory class and the JNDI name of the actual JMS connection factory is used.
-You can also specify the parameters "java.naming.security.principal" and
-"java.naming.security.credentials", if required, to access the actual
-connection factory. The example shown above uses an ActiveMQ JMS
-implementation.</p>
-<pre><strong>axis2.xml</strong>
-  &lt;parameter name="myTopicConnectionFactory"&gt;</pre>
-<pre>    &lt;parameter name="java.naming.factory.initial"&gt;org.apache.activemq.jndi.ActiveMQInitialContextFactory&lt;/parameter&gt;</pre>
-<pre>    &lt;parameter name="java.naming.provider.url"&gt;tcp://localhost:61616&lt;/parameter&gt;</pre>
-<pre>    &lt;parameter name="transport.jms.ConnectionFactoryJNDIName"&gt;TopicConnectionFactory&lt;/parameter&gt;</pre>
-<pre>  &lt;/parameter&gt;</pre>
-
-<p>If it is required or applicable, you are free to define additional (local)
-connection factories to Axis2 as shown above, which your services can use.
-For a service to specify that such a connection factory should be used, its
-services.xml may specify the following configuration parameter:</p>
-<pre>services.xml  
-  &lt;parameter name="transport.jms.ConnectionFactory" locked="true"&gt;myTopicConnectionFactory&lt;/parameter&gt;</pre>
-
-<p><strong>Note:</strong> Depending on your JMS implementation, you will need
-to make available all the required libraries for your Axis2 instance. This
-example assumes you are using an ActiveMQ instance. To run the given code
-samples, it is required to make the following JAR files available:
-activeio-core-3.0-beta1.jar, activemq-core-4.0-RC2.jar,
-geronimo-j2ee-management_1.0_spec-1.0.jar at a minimum. It also requires you
-to start ActiveMQ separately from Axis2, and then provide the appropriate
-configuration settings (e.g. URL) to Axis2.</p>
-
-<p>During initialization, the JMS Listener creates a dedicated JMS message
-processor for each connection factory defined, and utilizes a shared thread
-pool to process the received messages.</p>
-
-<p>A service on an Axis2 instance is deployed on all the started transports
-by default, unless a list of transports is specified in its services.xml
-file. Hence, if a service must only be deployed on JMS, you should specify it
-on the services.xml as follows:</p>
-<pre>  &lt;transports&gt; 
-    &lt;transport&gt;jms&lt;/transport&gt; 
-  &lt;/transports&gt;</pre>
-
-<p>If the services.xml does not provide an explicit JMS destination name, it
-is assumed that the service will listen for messages on a JMS
-<strong>Queue</strong> by the same name as the <strong>name of the
-service</strong>. If an explicit connection factory definition name has not
-been specified, it is assumed that the "default" connection factory
-definition configured within the transport receiver is used. To provide a
-custom JMS destination name and connection factory, the services.xml file
-provides the following optional parameters.</p>
-<pre>  &lt;parameter name="transport.jms.ConnectionFactory" locked="true"&gt;myTopicConnectionFactory&lt;/parameter&gt;
-  &lt;parameter name="transport.jms.Destination" locked="true"&gt;dynamicTopics/something.TestTopic&lt;/parameter&gt;</pre>
-<a name="writing_services"></a>
-
-<h2>Writing Services to Use the JMS Transport</h2>
-
-<p>This section assumes that you are already familiar with <a
-href="xmlbased-server.html">writing service implementations</a> for Axis2,
-and provides information on how to write your own service implementations
-to be exposed over JMS.</p>
-
-<p><strong>Echo - Service implementation and services.xml</strong></p>
-
-<p>This sample demonstrates a very simple service which is to be exposed over
-JMS. It does not specify a custom connection factory name, and hence uses the
-default value as specified in the JMS transport listener configuration. It
-also does not specify a custom destination name, and hence would listen to
-messages over a JMS Queue named "Echo" (which is the name of the service).
-This service will be exposed over all defined Axis2 transports, and the
-resulting URL for the service over JMS will be:</p>
-
-<p>jms:/echo?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616</p>
-<pre><strong>Echo.java</strong></pre>
-<pre>  public class Echo {</pre>
-<pre>    public String echoString(String in) {</pre>
-<pre>      return in;</pre>
-<pre>    }</pre>
-<pre>    public String echoString1(String in) {</pre>
-<pre>      return "echoString1 " + in;</pre>
-<pre>    }</pre>
-<pre>    public String echoString2(String in) {</pre>
-<pre>      return "echoString2 " + in;</pre>
-<pre>    }</pre>
-<pre>  }</pre>
-<pre></pre>
-<pre><strong>services.xml</strong></pre>
-<pre>  &lt;service name="echo"&gt;</pre>
-<pre>    &lt;description&gt;Echo Service&lt;/description&gt;</pre>
-<pre>    &lt;messageReceivers&gt;</pre>
-<pre>      &lt;messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"</pre>
-<pre>        class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/&gt;</pre>
-<pre>      &lt;messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"</pre>
-<pre>        class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/&gt;</pre>
-<pre>    &lt;/messageReceivers&gt;</pre>
-<pre>    &lt;parameter name="ServiceClass" locked="true"&gt;Echo&lt;/parameter&gt;</pre>
-<pre>&lt;/service&gt;</pre>
-
-<p></p>
-
-<p><strong>Echo2 - Service implementation and services.xml</strong></p>
-
-<p>This example shows a simple service which specifies that it should only be
-exposed over the JMS transport, and that the custom connection factory named
-"myTopcConnectionFactory" should be used to listen for requests at the JMS
-destination named "dynamicTopics/something.TestTopic". The JMS URL to access
-this service is:</p>
-
-<p>jms:/dynamicTopics/something.TestTopic?transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;java.naming.security.principal=system&amp;java.naming.security.credentials=manager</p>
-<pre><strong>Echo2.java</strong></pre>
-<pre>  public class Echo2 {</pre>
-<pre>    public String echoString(String in) {</pre>
-<pre>      return in;</pre>
-<pre>    }</pre>
-<pre>  }</pre>
-<pre></pre>
-<pre><strong>services.xml</strong></pre>
-<pre>  &lt;service name="echo"&gt;</pre>
-<pre>    &lt;transports&gt;</pre>
-<pre>      &lt;transport&gt;jms&lt;/transport&gt;</pre>
-<pre>    &lt;/transports&gt;</pre>
-<pre>    &lt;description&gt;Echo2 Service&lt;/description&gt;</pre>
-<pre>    &lt;messageReceivers&gt;</pre>
-<pre>      &lt;messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"</pre>
-<pre>        class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/&gt;</pre>
-<pre>      &lt;messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"</pre>
-<pre>        class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/&gt;</pre>
-<pre>    &lt;/messageReceivers&gt;</pre>
-<pre>    &lt;parameter name="ServiceClass" locked="true"&gt;Echo2&lt;/parameter&gt;</pre>
-<pre>    &lt;parameter name="transport.jms.ConnectionFactory" locked="true"&gt;myTopicConnectionFactory&lt;/parameter&gt;</pre>
-<pre>    &lt;parameter name="transport.jms.Destination" locked="true"&gt;dynamicTopics/something.TestTopic&lt;/parameter&gt;</pre>
-<pre>  &lt;/service&gt;</pre>
-<pre> </pre>
-
-<h2>Starting up the Axis2 JMS transport</h2>
-<p>The Axis2 standalone binary distribution ships with an Axis2 Server, which
-starts up all the transports that are configured as per the axis2.xml. Hence,
-configure the JMS transport in your axis2.xml, and use the axis2server.bat or
-the axis2server.sh to start the JMS transport.</p></body>
-</html>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements. See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership. The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License. You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied. See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="generator" content=
+"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
+<meta http-equiv="content-type" content="" />
+<title>JMS Transport</title>
+<link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
+media="all" />
+</head>
+<body lang="en" xml:lang="en">
+<a name="configTransport" id="configTransport"></a>
+<h1>JMS Transport</h1>
+<p>This document is all about the JMS (Java Messaging Service)
+Transport support in Apache Axis2, and how it should be
+configured.</p>
+<h2>Contents</h2>
+<ul>
+<li><a href="#CommonsHTTPTransportSender">Overview</a></li>
+<li><a href="#timeout_config">Configuration</a></li>
+<li><a href="#writing_services">Writing Services to Use the JMS
+Transport</a></li>
+</ul>
+<a name="CommonsHTTPTransportSender" id=
+"CommonsHTTPTransportSender"></a>
+<h2>Overview</h2>
+<p>A new Java Messaging Service (JMS) transport implementation has
+been added to Axis2 to overcome some drawbacks of the previous JMS
+implementation. One of the enhancements provided with this new
+implementation is the ability to <strong>assign custom JMS
+destination names or existing JMS destinations to Axis2 services
+being deployed</strong>.</p>
+<a name="timeout_config" id="timeout_config"></a>
+<h2>Configuration</h2>
+<p>To use the JMS transport, the axis2.xml configuration must be
+setup as follows, in order to configure the JMSListener and the JMS
+Sender</p>
+<pre>
+<strong>axis2.xml</strong>
+    &lt;transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener"&gt;
+      &lt;parameter name="default"&gt;
+        &lt;parameter name="java.naming.factory.initial"&gt;org.apache.activemq.jndi.ActiveMQInitialContextFactory&lt;/parameter&gt;
+        &lt;parameter name="java.naming.provider.url"&gt;tcp://localhost:61616&lt;/parameter&gt;
+        &lt;parameter name="transport.jms.ConnectionFactoryJNDIName"&gt;QueueConnectionFactory&lt;/parameter&gt;
+      &lt;/parameter&gt;
+    &lt;/transportReceiver&gt;
+
+    &lt;transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/&gt;
+</pre>
+<p>The JMS transport receiver configuration allows you to define
+the default connection factory (named as "default" ~
+JMSConstants.DEFAULT_CONFAC_NAME) for use by Axis2 services using
+the JMS transport. This connection factory will be used by any
+service that does not explicitly specify a connection factory name
+in its services.xml file. The configuration required to associate a
+(local) Axis2 connection factory to an actual implementation must
+be provided as shown above. To specify the JNDI URL, the initial
+context factory class and the JNDI name of the actual JMS
+connection factory is used. You can also specify the parameters
+"java.naming.security.principal" and
+"java.naming.security.credentials", if required, to access the
+actual connection factory. The example shown above uses an ActiveMQ
+JMS implementation.</p>
+<pre>
+<strong>axis2.xml</strong>
+  &lt;parameter name="myTopicConnectionFactory"&gt;
+</pre>
+<pre>
+    &lt;parameter name="java.naming.factory.initial"&gt;org.apache.activemq.jndi.ActiveMQInitialContextFactory&lt;/parameter&gt;
+</pre>
+<pre>
+    &lt;parameter name="java.naming.provider.url"&gt;tcp://localhost:61616&lt;/parameter&gt;
+</pre>
+<pre>
+    &lt;parameter name="transport.jms.ConnectionFactoryJNDIName"&gt;TopicConnectionFactory&lt;/parameter&gt;
+</pre>
+<pre>
+  &lt;/parameter&gt;
+</pre>
+<p>If it is required or applicable, you are free to define
+additional (local) connection factories to Axis2 as shown above,
+which your services can use. For a service to specify that such a
+connection factory should be used, its services.xml may specify the
+following configuration parameter:</p>
+<pre>
+services.xml  
+  &lt;parameter name="transport.jms.ConnectionFactory" locked="true"&gt;myTopicConnectionFactory&lt;/parameter&gt;
+</pre>
+<p><strong>Note:</strong> Depending on your JMS implementation, you
+will need to make available all the required libraries for your
+Axis2 instance. This example assumes you are using an ActiveMQ
+instance. To run the given code samples, it is required to make the
+following JAR files available: activeio-core-3.0-beta1.jar,
+activemq-core-4.0-RC2.jar,
+geronimo-j2ee-management_1.0_spec-1.0.jar at a minimum. It also
+requires you to start ActiveMQ separately from Axis2, and then
+provide the appropriate configuration settings (e.g. URL) to
+Axis2.</p>
+<p>During initialization, the JMS Listener creates a dedicated JMS
+message processor for each connection factory defined, and utilizes
+a shared thread pool to process the received messages.</p>
+<p>A service on an Axis2 instance is deployed on all the started
+transports by default, unless a list of transports is specified in
+its services.xml file. Hence, if a service must only be deployed on
+JMS, you should specify it on the services.xml as follows:</p>
+<pre>
+  &lt;transports&gt; 
+    &lt;transport&gt;jms&lt;/transport&gt; 
+  &lt;/transports&gt;
+</pre>
+<p>If the services.xml does not provide an explicit JMS destination
+name, it is assumed that the service will listen for messages on a
+JMS <strong>Queue</strong> by the same name as the <strong>name of
+the service</strong>. If an explicit connection factory definition
+name has not been specified, it is assumed that the "default"
+connection factory definition configured within the transport
+receiver is used. To provide a custom JMS destination name and
+connection factory, the services.xml file provides the following
+optional parameters.</p>
+<pre>
+  &lt;parameter name="transport.jms.ConnectionFactory" locked="true"&gt;myTopicConnectionFactory&lt;/parameter&gt;
+  &lt;parameter name="transport.jms.Destination" locked="true"&gt;dynamicTopics/something.TestTopic&lt;/parameter&gt;
+</pre>
+<a name="writing_services" id="writing_services"></a>
+<h2>Writing Services to Use the JMS Transport</h2>
+<p>This section assumes that you are already familiar with <a href=
+"xmlbased-server.html">writing service implementations</a> for
+Axis2, and provides information on how to write your own service
+implementations to be exposed over JMS.</p>
+<p><strong>Echo - Service implementation and
+services.xml</strong></p>
+<p>This sample demonstrates a very simple service which is to be
+exposed over JMS. It does not specify a custom connection factory
+name, and hence uses the default value as specified in the JMS
+transport listener configuration. It also does not specify a custom
+destination name, and hence would listen to messages over a JMS
+Queue named "Echo" (which is the name of the service). This service
+will be exposed over all defined Axis2 transports, and the
+resulting URL for the service over JMS will be:</p>
+<p>
+jms:/echo?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616</p>
+<pre>
+<strong>Echo.java</strong>
+</pre>
+<pre>
+  public class Echo {
+</pre>
+<pre>
+    public String echoString(String in) {
+</pre>
+<pre>
+      return in;
+</pre>
+<pre>
+    }
+</pre>
+<pre>
+    public String echoString1(String in) {
+</pre>
+<pre>
+      return "echoString1 " + in;
+</pre>
+<pre>
+    }
+</pre>
+<pre>
+    public String echoString2(String in) {
+</pre>
+<pre>
+      return "echoString2 " + in;
+</pre>
+<pre>
+    }
+</pre>
+<pre>
+  }
+</pre>
+<pre>
+<strong>services.xml</strong>
+</pre>
+<pre>
+  &lt;service name="echo"&gt;
+</pre>
+<pre>
+    &lt;description&gt;Echo Service&lt;/description&gt;
+</pre>
+<pre>
+    &lt;messageReceivers&gt;
+</pre>
+<pre>
+      &lt;messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
+</pre>
+<pre>
+        class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/&gt;
+</pre>
+<pre>
+      &lt;messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
+</pre>
+<pre>
+        class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/&gt;
+</pre>
+<pre>
+    &lt;/messageReceivers&gt;
+</pre>
+<pre>
+    &lt;parameter name="ServiceClass" locked="true"&gt;Echo&lt;/parameter&gt;
+</pre>
+<pre>
+&lt;/service&gt;
+</pre>
+<p><strong>Echo2 - Service implementation and
+services.xml</strong></p>
+<p>This example shows a simple service which specifies that it
+should only be exposed over the JMS transport, and that the custom
+connection factory named "myTopcConnectionFactory" should be used
+to listen for requests at the JMS destination named
+"dynamicTopics/something.TestTopic". The JMS URL to access this
+service is:</p>
+<p>
+jms:/dynamicTopics/something.TestTopic?transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;java.naming.security.principal=system&amp;java.naming.security.credentials=manager</p>
+<pre>
+<strong>Echo2.java</strong>
+</pre>
+<pre>
+  public class Echo2 {
+</pre>
+<pre>
+    public String echoString(String in) {
+</pre>
+<pre>
+      return in;
+</pre>
+<pre>
+    }
+</pre>
+<pre>
+  }
+</pre>
+<pre>
+<strong>services.xml</strong>
+</pre>
+<pre>
+  &lt;service name="echo"&gt;
+</pre>
+<pre>
+    &lt;transports&gt;
+</pre>
+<pre>
+      &lt;transport&gt;jms&lt;/transport&gt;
+</pre>
+<pre>
+    &lt;/transports&gt;
+</pre>
+<pre>
+    &lt;description&gt;Echo2 Service&lt;/description&gt;
+</pre>
+<pre>
+    &lt;messageReceivers&gt;
+</pre>
+<pre>
+      &lt;messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
+</pre>
+<pre>
+        class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/&gt;
+</pre>
+<pre>
+      &lt;messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
+</pre>
+<pre>
+        class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/&gt;
+</pre>
+<pre>
+    &lt;/messageReceivers&gt;
+</pre>
+<pre>
+    &lt;parameter name="ServiceClass" locked="true"&gt;Echo2&lt;/parameter&gt;
+</pre>
+<pre>
+    &lt;parameter name="transport.jms.ConnectionFactory" locked="true"&gt;myTopicConnectionFactory&lt;/parameter&gt;
+</pre>
+<pre>
+    &lt;parameter name="transport.jms.Destination" locked="true"&gt;dynamicTopics/something.TestTopic&lt;/parameter&gt;
+</pre>
+<pre>
+  &lt;/service&gt;
+</pre>
+<pre>
+ 
+</pre>
+<h2>Starting up the Axis2 JMS transport</h2>
+<p>The Axis2 standalone binary distribution ships with an Axis2
+Server, which starts up all the transports that are configured as
+per the axis2.xml. Hence, configure the JMS transport in your
+axis2.xml, and use the axis2server.bat or the axis2server.sh to
+start the JMS transport.</p>
+</body>
+</html>

Copied: webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/json_support.xml (from r556217, webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/json_support.html)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/json_support.xml?view=diff&rev=556222&p1=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/json_support.html&r1=556217&p2=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/json_support.xml&r2=556222
==============================================================================
--- webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/json_support.html (original)
+++ webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/json_support.xml Fri Jul 13 21:37:26 2007
@@ -1,229 +1,218 @@
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements. See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership. The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License. You may obtain a copy of the License at
-  ~
-  ~ http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied. See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
-  <title></title>
-  <meta name="AUTHOR" content="Isuru Suriarachchi">
-  <meta name="CREATED" content="20070203;331600">
-  <meta name="CHANGEDBY" content="Isuru Suriarachchi">
-  <meta name="CHANGED" content="20070208;12031400">
-  <style type="text/css">
-        <!--
-@page { size: 8.5in 11in; margin: 0.79in }
-P { margin-bottom: 0.08in }
--->
-
-        </style>
-</head>
-
-<body>
-<h1 class="title">JSON Support in Axis2</h1>
-
-<p>This document explains the JSON support implementation in Axis2. It
-includes an introduction to JSON, an outline as to why JSON support is useful
-to Axis2 and how it should be used. This document also provides details on test
-cases and samples.</p>
-
-<h3>What is JSON?</h3>
-
-<p><a href="http://www.json.org/">JSON</a> (Java Script Object Notation) is
-another data exchangeable format like XML, but more lightweight and
-easily readable. It is based on a subset of the JavaScript language. Therefore,
-JavaScript can understand JSON, and it can make JavaScript objects by using
-JSON strings. JSON is based on key-value pairs and it uses colons to separate
-keys and values. JSON doesn't use end tags, and it uses braces (curly
-brackets) to enclose JSON Objects.</p>
-
-<p><font size="3">e.g. <font size="2">&lt;root&gt;&lt;test&gt;json
-object&lt;/test&gt;&lt;/root&gt; == {“root”:{“test”:”json
-object”}}</font></font></p>
-
-<p>When it comes to converting XML to JSON and vice versa, there are two
-major conventions, one named "<a
-href="http://badgerfish.ning.com/">Badgerfish</a>" and the other,
-“Mapped”. The main difference between these two conventions exists in the
-way they map XML namespaces into JSON.</p>
-
-<p><font size="3">e.g. <font size="2">&lt;xsl:root
-xmlns:xsl="http://foo.com"&gt;&lt;data&gt;my json
-string&lt;/data&gt;&lt;/xsl:root&gt;</font></font></p>
-
-<p>This XML string can be converted into JSON as follows.</p>
-
-<p><b>Using “Badgerfish”</b></p>
-
-<p><font
-size="2">{"xsl:root":{"@xmlns":{"xsl":"http://foo.com"},"data":{"$":"my json
-string"}}}</font></p>
-
-<p><b>Using “Mapped”</b></p>
-
-<p>If we use the namespace mapping as http://foo.com -&gt; foo</p>
-
-<p><font size="2">{"foo.root":{"data":"my json string"}}</font></p>
-
-<p>JSON support is a new feature in <a
-href="http://ws.apache.org/axis2/">Apache Axis2/Java</a>. It will become a
-crucial improvement in the future with applications like JavaScript Web
-services.</p>
-
-<h2>Why JSON Support for Axis2?</h2>
-
-<p><a href="http://ws.apache.org/axis2/">Apache Axis2</a> is a Web services
-stack that delivers incoming messages into target applications. In most
-cases, these messages are SOAP messages. In addition, it is also possible to
-send REST messages through Axis2. Both types of messages use XML as their
-data exchangeable format. So if we can use XML as a format, why use JSON
-as another format?</p>
-
-<p>There are many advantages of implementing JSON support in Axis2. Mainly,
-it helps the JavaScript users (services and clients written in JavaScript) to
-deal with Axis2. When the service or the client is in JavaScript, it can use
-the JSON string and directly build JavaScript objects to retrieve
-information, without having to build the object model (OMElement in Axis2).
-Also, JavaScript services can return the response through Axis2, just as a
-JSON string can be shipped in a JSONDataSource.</p>
-
-<p>Other than for that, there are some extra advantages of using JSON in
-comparison to XML. Although the conversation “XML or JSON?” is still a
-hot topic, many people accept the fact that JSON can be passed and built
-more easily by machines than XML. </p>
-
-<p>For more details of this implementation architecture, refer to the article
-<a href="http://wso2.org/library/768">"JSON Support for Apache Axis2"</a></p>
-
-<h2>How to use JSON in Axis2</h2>
-
-<p>At the moment JSON doesn't have a standard and unique content type.
-“application/json” (this is the content type which is approved in the <a
-href="http://www.ietf.org/rfc/rfc4627.txt?number=4627">JSON RFC</a> ),
-“text/javascript” and “text/json” are some of the commonly used
-content types of JSON. Due to this problem, in Axis2, the user has been given
-the freedom of selecting the content type. </p>
-
-<h3>Step 1</h3>
-
-<p>Map the appropriate MessageFormatter and OMBuilder with the content type
-you are using in the axis2.xml file.</p>
-
-<p>e.g.1: If you are using the “Mapped” convention with the content type
-“application/json”</p>
-<pre>        &lt;messageFormatters&gt;        
-                &lt;messageFormatter contentType="application/json"
-                                 class="org.apache.axis2.json.JSONMessageFormatter"/&gt;
-                &lt;!-- more message formatters --&gt;
-        &lt;/messageFormatters&gt;   
-    
-        &lt;messageBuilders&gt;
-                &lt;messageBuilder contentType="application/json"
-                                 class="org.apache.axis2.json.JSONOMBuilder"/&gt;
-                &lt;!-- more message builders --&gt;
-        &lt;/messageBuilders&gt;</pre>
-
-<p>e.g.2: If you are using the “Badgerfish” convention with the content
-type “text/javascript”</p>
-<pre>        &lt;messageFormatters&gt;        
-                &lt;messageFormatter contentType="text/javascript"
-                                 class="org.apache.axis2.json.JSONBadgerfishMessageFormatter"/&gt;
-                &lt;!-- more message formatters --&gt;
-        &lt;/messageFormatters&gt; 
-
-        &lt;messageBuilders&gt;
-                &lt;messageBuilder contentType="text/javascript"
-                                 class="org.apache.axis2.json.JSONBadgerfishOMBuilder"/&gt;
-                &lt;!-- more message builders --&gt;
-        &lt;/messageBuilders&gt;</pre>
-
-<h3>Step 2</h3>
-
-<p>On the client side, make the ConfigurationContext by reading the axis2.xml
-in which the correct mappings are given.</p>
-
-<p>e.g.</p>
-<pre>        File configFile = new File("test-resources/axis2.xml");
-        configurationContext = ConfigurationContextFactory
-                        .createConfigurationContextFromFileSystem(null, configFile.getAbsolutePath());
-        ..........        
-        ServiceClient sender = new ServiceClient(configurationContext, null);</pre>
-
-<h3>Step 3</h3>
-
-<p>Set the <i>MESSAGE_TYPE </i>option with exactly the same content type you
-used in the axis2.xml.</p>
-
-<p>e.g. If you use the content type “application/json”,</p>
-<pre>        Options options = new Options();        
-        options.setProperty(Constants.Configuration.MESSAGE_TYPE, “application/json”);
-        //more options
-        //...................        
-
-        ServiceClient sender = new ServiceClient(configurationContext, null);        
-        sender.setOptions(options);
-</pre>
-
-<p>If you are sending a request to a remote service, you have to know the
-exact JSON content type that is used by that service, and you have to use
-that content type in your client as well.</p>
-
-<p>HTTP POST is used as the default method to send JSON messages through
-Axis2, if the HTTP method is not explicitly set by the user. But if you want to send
-JSON in HTTP GET method as a parameter, you can do that by just setting an
-option on the client side.</p>
-
-<p>e.g. <code>options.setProperty(Constants.Configuration.HTTP_METHOD,
-Constants.Configuration.HTTP_METHOD_GET);</code></p>
-
-<p>Here, the Axis2 receiving side (JSONOMBuilder) builds the OMElement by
-reading the JSON string which is sent as a parameter. The request can be made
-even through the browser.</p>
-
-<p>e.g. Sample JSON request through HTTP GET. The JSON message is encoded and
-sent.</p>
-
-<p><code>GET
-/axis2/services/EchoXMLService/echoOM?query=%7B%22echoOM%22:%7B%22data%22:%5B%22my%20json%20string%22,%22my%20second%20json%20string%22%5D%7D%7D
-HTTP/1.1</code></p>
-
-<h2>Tests and Samples</h2>
-
-<h3>Integration Test</h3>
-
-<p>The JSON integration test is available under “test” in the “json”
-module of Axis2. It uses the SimpleHTTPServer to deploy the service. A simple
-echo service is used to return the incoming OMSourcedElementImpl object,
-which contains the JSONDataSource. There are two test cases for two different
-conventions and another one test case to send the request in GET. </p>
-
-<h3>Yahoo-JSON Sample</h3>
-
-<p>This sample is available in the “samples” module of Axis2. It is a
-client which calls the Yahoo search API using the GET method, with the
-parameter “output=json”. The Yahoo search service sends the response as a
-“Mapped” formatted JSON string with the content type
-“text/javascript”. This content type is mapped with the JSONOMBuilder in
-the axis2.xml. All the results are shown in a GUI. To run the sample, execute
-the ant script.</p>
-
-<p>These two applications provide good examples of using JSON within Axis2.
-By reviewing these samples, you will be able to better understand Axis2's 
-JSON support implementation.</p>
-</body>
-</html>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements. See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership. The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License. You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied. See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="generator" content=
+"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
+<meta http-equiv="content-type" content=
+"text/html; charset=us-ascii" />
+<title></title>
+<meta name="AUTHOR" content="Isuru Suriarachchi" />
+<meta name="CREATED" content="20070203;331600" />
+<meta name="CHANGEDBY" content="Isuru Suriarachchi" />
+<meta name="CHANGED" content="20070208;12031400" />
+<style type="text/css">
+/*<![CDATA[*/
+        <!--
+@page { size: 8.5in 11in; margin: 0.79in }
+P { margin-bottom: 0.08in }
+-->
+
+/*]]>*/
+</style>
+</head>
+<body>
+<h1 class="title">JSON Support in Axis2</h1>
+<p>This document explains the JSON support implementation in Axis2.
+It includes an introduction to JSON, an outline as to why JSON
+support is useful to Axis2 and how it should be used. This document
+also provides details on test cases and samples.</p>
+<h3>What is JSON?</h3>
+<p><a href="http://www.json.org/">JSON</a> (Java Script Object
+Notation) is another data exchangeable format like XML, but more
+lightweight and easily readable. It is based on a subset of the
+JavaScript language. Therefore, JavaScript can understand JSON, and
+it can make JavaScript objects by using JSON strings. JSON is based
+on key-value pairs and it uses colons to separate keys and values.
+JSON doesn't use end tags, and it uses braces (curly brackets) to
+enclose JSON Objects.</p>
+<p><font size="3">e.g. <font size="2">&lt;root&gt;&lt;test&gt;json
+object&lt;/test&gt;&lt;/root&gt; ==
+{{json object}}</font></font></p>
+<p>When it comes to converting XML to JSON and vice versa, there
+are two major conventions, one named "<a href=
+"http://badgerfish.ning.com/">Badgerfish</a>" and the other,
+Mapped. The main difference
+between these two conventions exists in the way they map XML
+namespaces into JSON.</p>
+<p><font size="3">e.g. <font size="2">&lt;xsl:root
+xmlns:xsl="http://foo.com"&gt;&lt;data&gt;my json
+string&lt;/data&gt;&lt;/xsl:root&gt;</font></font></p>
+<p>This XML string can be converted into JSON as follows.</p>
+<p><b>Using Badgerfish</b></p>
+<p><font size=
+"2">{"xsl:root":{"@xmlns":{"xsl":"http://foo.com"},"data":{"$":"my
+json string"}}}</font></p>
+<p><b>Using Mapped</b></p>
+<p>If we use the namespace mapping as http://foo.com -&gt; foo</p>
+<p><font size="2">{"foo.root":{"data":"my json string"}}</font></p>
+<p>JSON support is a new feature in <a href=
+"http://ws.apache.org/axis2/">Apache Axis2/Java</a>. It will become
+a crucial improvement in the future with applications like
+JavaScript Web services.</p>
+<h2>Why JSON Support for Axis2?</h2>
+<p><a href="http://ws.apache.org/axis2/">Apache Axis2</a> is a Web
+services stack that delivers incoming messages into target
+applications. In most cases, these messages are SOAP messages. In
+addition, it is also possible to send REST messages through Axis2.
+Both types of messages use XML as their data exchangeable format.
+So if we can use XML as a format, why use JSON as another
+format?</p>
+<p>There are many advantages of implementing JSON support in Axis2.
+Mainly, it helps the JavaScript users (services and clients written
+in JavaScript) to deal with Axis2. When the service or the client
+is in JavaScript, it can use the JSON string and directly build
+JavaScript objects to retrieve information, without having to build
+the object model (OMElement in Axis2). Also, JavaScript services
+can return the response through Axis2, just as a JSON string can be
+shipped in a JSONDataSource.</p>
+<p>Other than for that, there are some extra advantages of using
+JSON in comparison to XML. Although the conversation
+XML or JSON? is still a hot topic,
+many people accept the fact that JSON can be passed and built more
+easily by machines than XML.</p>
+<p>For more details of this implementation architecture, refer to
+the article <a href="http://wso2.org/library/768">"JSON Support for
+Apache Axis2"</a></p>
+<h2>How to use JSON in Axis2</h2>
+<p>At the moment JSON doesn't have a standard and unique content
+type. application/json (this is
+the content type which is approved in the <a href=
+"http://www.ietf.org/rfc/rfc4627.txt?number=4627">JSON RFC</a> ),
+text/javascript and
+text/json are some of the commonly
+used content types of JSON. Due to this problem, in Axis2, the user
+has been given the freedom of selecting the content type.</p>
+<h3>Step 1</h3>
+<p>Map the appropriate MessageFormatter and OMBuilder with the
+content type you are using in the axis2.xml file.</p>
+<p>e.g.1: If you are using the
+Mapped convention with the content
+type application/json</p>
+<pre>
+        &lt;messageFormatters&gt;        
+                &lt;messageFormatter contentType="application/json"
+                                 class="org.apache.axis2.json.JSONMessageFormatter"/&gt;
+                &lt;!-- more message formatters --&gt;
+        &lt;/messageFormatters&gt;   
+    
+        &lt;messageBuilders&gt;
+                &lt;messageBuilder contentType="application/json"
+                                 class="org.apache.axis2.json.JSONOMBuilder"/&gt;
+                &lt;!-- more message builders --&gt;
+        &lt;/messageBuilders&gt;
+</pre>
+<p>e.g.2: If you are using the
+Badgerfish convention with the
+content type text/javascript</p>
+<pre>
+        &lt;messageFormatters&gt;        
+                &lt;messageFormatter contentType="text/javascript"
+                                 class="org.apache.axis2.json.JSONBadgerfishMessageFormatter"/&gt;
+                &lt;!-- more message formatters --&gt;
+        &lt;/messageFormatters&gt; 
+
+        &lt;messageBuilders&gt;
+                &lt;messageBuilder contentType="text/javascript"
+                                 class="org.apache.axis2.json.JSONBadgerfishOMBuilder"/&gt;
+                &lt;!-- more message builders --&gt;
+        &lt;/messageBuilders&gt;
+</pre>
+<h3>Step 2</h3>
+<p>On the client side, make the ConfigurationContext by reading the
+axis2.xml in which the correct mappings are given.</p>
+<p>e.g.</p>
+<pre>
+        File configFile = new File("test-resources/axis2.xml");
+        configurationContext = ConfigurationContextFactory
+                        .createConfigurationContextFromFileSystem(null, configFile.getAbsolutePath());
+        ..........        
+        ServiceClient sender = new ServiceClient(configurationContext, null);
+</pre>
+<h3>Step 3</h3>
+<p>Set the <i>MESSAGE_TYPE</i> option with exactly the same content
+type you used in the axis2.xml.</p>
+<p>e.g. If you use the content type
+application/json,</p>
+<pre>
+        Options options = new Options();        
+        options.setProperty(Constants.Configuration.MESSAGE_TYPE, application/json);
+        //more options
+        //...................        
+
+        ServiceClient sender = new ServiceClient(configurationContext, null);        
+        sender.setOptions(options);
+</pre>
+<p>If you are sending a request to a remote service, you have to
+know the exact JSON content type that is used by that service, and
+you have to use that content type in your client as well.</p>
+<p>HTTP POST is used as the default method to send JSON messages
+through Axis2, if the HTTP method is not explicitly set by the
+user. But if you want to send JSON in HTTP GET method as a
+parameter, you can do that by just setting an option on the client
+side.</p>
+<p>e.g.
+<code>options.setProperty(Constants.Configuration.HTTP_METHOD,
+Constants.Configuration.HTTP_METHOD_GET);</code></p>
+<p>Here, the Axis2 receiving side (JSONOMBuilder) builds the
+OMElement by reading the JSON string which is sent as a parameter.
+The request can be made even through the browser.</p>
+<p>e.g. Sample JSON request through HTTP GET. The JSON message is
+encoded and sent.</p>
+<p><code>GET
+/axis2/services/EchoXMLService/echoOM?query=%7B%22echoOM%22:%7B%22data%22:%5B%22my%20json%20string%22,%22my%20second%20json%20string%22%5D%7D%7D
+HTTP/1.1</code></p>
+<h2>Tests and Samples</h2>
+<h3>Integration Test</h3>
+<p>The JSON integration test is available under
+test in the
+json module of Axis2. It uses the
+SimpleHTTPServer to deploy the service. A simple echo service is
+used to return the incoming OMSourcedElementImpl object, which
+contains the JSONDataSource. There are two test cases for two
+different conventions and another one test case to send the request
+in GET.</p>
+<h3>Yahoo-JSON Sample</h3>
+<p>This sample is available in the
+samples module of Axis2. It is a
+client which calls the Yahoo search API using the GET method, with
+the parameter output=json. The
+Yahoo search service sends the response as a
+formatted JSON string with
+the content type text/javascript.
+This content type is mapped with the JSONOMBuilder in the
+axis2.xml. All the results are shown in a GUI. To run the sample,
+execute the ant script.</p>
+<p>These two applications provide good examples of using JSON
+within Axis2. By reviewing these samples, you will be able to
+better understand Axis2's JSON support implementation.</p>
+</body>
+</html>

Copied: webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/mail-configuration.xml (from r556217, webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/mail-configuration.html)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/mail-configuration.xml?view=diff&rev=556222&p1=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/mail-configuration.html&r1=556217&p2=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/mail-configuration.xml&r2=556222
==============================================================================
--- webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/mail-configuration.html (original)
+++ webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/mail-configuration.xml Fri Jul 13 21:37:26 2007
@@ -20,10 +20,10 @@
 <!-- saved from url=(0022)http://internet.e-mail -->
 <html>
 <head>
-  <meta http-equiv="content-type" content="">
+  <meta http-equiv="content-type" content=""/>
   <title>Mail transport</title>
   <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
-  media="all">
+  media="all"/>
 </head>
 
 <body lang="en">
@@ -220,6 +220,6 @@
 recipient pops it from the server. To facilitate the use in Linux
 environments as a non root user, the POP and SMTP ports used by default
 configuration/test cases are, 1024, 25 and 1024, 110 respectively.</p>
-<hr>
+<hr/>
 </body>
 </html>

Copied: webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/mail-transport.xml (from r556217, webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/mail-transport.html)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/mail-transport.xml?view=diff&rev=556222&p1=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/mail-transport.html&r1=556217&p2=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/mail-transport.xml&r2=556222
==============================================================================
--- webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/mail-transport.html (original)
+++ webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/mail-transport.xml Fri Jul 13 21:37:26 2007
@@ -19,10 +19,10 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
 <head>
-  <meta http-equiv="content-type" content="">
+  <meta http-equiv="content-type" content=""/>
   <title>Invoking a service using mail</title>
   <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
-  media="all">
+  media="all"/>
 </head>
 
 <body>
@@ -72,9 +72,9 @@
 
 <blockquote>
   1. Using the simple mail server included in Axis2 (not recommended in
-  production).<br>
-  2. Using a generic mail server.<br>
-  3. Using mailets.<br>
+  production).<br/>
+  2. Using a generic mail server.<br/>
+  3. Using mailets.<br/>
 </blockquote>
 
 <p>Options 1 and 2 are fairly simple and easy to implement, whereas option 3
@@ -99,7 +99,7 @@
 
 <p>Now that we have the environment set up, we can use the code below to get
 the mail functionality started. First we'll have a look at it from the mail
-server side. <br>
+server side. <br/>
 </p>
 <source><pre>        // Start the mail server using the default configurations.
         ConfigurationContext configContext = UtilsMailServer.start();



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org