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 ch...@apache.org on 2006/12/20 10:38:02 UTC
svn commit: r489001 - in /webservices/axis2/branches/java/1_1/xdocs:
1_1/userguide-buildingservices.html archived_news.html index.html
Author: chatra
Date: Wed Dec 20 01:38:01 2006
New Revision: 489001
URL: http://svn.apache.org/viewvc?view=rev&rev=489001
Log:
making 1.1.1 updates
Modified:
webservices/axis2/branches/java/1_1/xdocs/1_1/userguide-buildingservices.html
webservices/axis2/branches/java/1_1/xdocs/archived_news.html
webservices/axis2/branches/java/1_1/xdocs/index.html
Modified: webservices/axis2/branches/java/1_1/xdocs/1_1/userguide-buildingservices.html
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/xdocs/1_1/userguide-buildingservices.html?view=diff&rev=489001&r1=489000&r2=489001
==============================================================================
--- webservices/axis2/branches/java/1_1/xdocs/1_1/userguide-buildingservices.html (original)
+++ webservices/axis2/branches/java/1_1/xdocs/1_1/userguide-buildingservices.html Wed Dec 20 01:38:01 2006
@@ -1,580 +1,580 @@
-<?xml version="1.0" encoding=""?>
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta http-equiv="content-type" content="" />
- <title>Introducing Axis2</title>
- <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
- media="all" />
-</head>
-
-<body>
-<a name="buildservices"></a>
-
-<h1>Apache Axis2 User's Guide -Building Services</h1>
-
-<p>Now that you know how to use Axis2 to generate clients from WSDL, this
-section digs a little deeper, showing you how to create services, and how to
-create both services and clients "from scratch", so to speak.</p>
-<ul>
- <li><a href="userguide.html#intro">Introducing Axis2</a><br />
-
- <ul>
- <li><a href="userguide.html#whatis">What is Axis2</a></li>
- <li><a href="userguide.html#underhood">What's under the hood?</a></li>
- <li><a href="userguide.html#handlessoap">How Axis2 handles SOAP
- messages</a></li>
- <li><a href="userguide.html#distributions">Axis2 distributions</a></li>
- <li><a href="userguide.html#sbd">The Axis2 Standard Binary
- Distribution</a></li>
- <li><a href="userguide.html#hierarchy">Axis2.war Directory
- hierarchy</a></li>
- <li><a href="userguide.html#docs">Axis2 Documents Distribution</a></li>
- <li><a href="userguide.html#clients">Axis2 and clients</a></li>
- </ul>
- </li>
- <li><a href="userguide-installingtesting.html#installingtesting">Installing
- and testing client code</a></li>
- <li><a href="userguide-introtoservices.html#introservices">Introduction to
- Services</a><br />
-
- <ul>
- <li><a href="userguide-introtoservices.html#messageexchange">Message
- Exchange Patterns</a></li>
- </ul>
- </li>
- <li><a href="userguide-creatingclients.html#createclients">Creating
- Clients</a><br />
-
- <ul>
- <li><a href="userguide-creatingclients.html#choosingclient">Choosing a
- Client Generation Method</a></li>
- <li><a href="userguide-creatingclients.html#generating">Generating
- Clients</a></li>
- <li><a href="userguide-creatingclients.html#adb">Axis Data Binding
- (ADB)</a></li>
- </ul>
- </li>
- <li><a
- href="userguide-buildingservices.html#buildservices"><strong>Building
- Services</strong></a><br />
-
- <ul>
- <li><a
- href="userguide-buildingservices.html#getcomfortable"><strong>Getting
- Comfortable with Available Options</strong></a></li>
- <li><a
- href="userguide-buildingservices.html#createscratch"><strong>Creating
- a service from scratch</strong></a></li>
- <li><a
- href="userguide-buildingservices.html#deploypojo"><strong>Deploying
- Plain Old Java Objects</strong></a></li>
- <li><a
- href="userguide-buildingservices.html#deployrun"><strong>Deploying
- and running an Axis2 service created from WSDL</strong></a></li>
- </ul>
- </li>
- <li><a href="userguide-samples.html">Samples</a></li>
- <li><a href="userguide-forfurtherstudy.html">For Further Study</a></li>
-</ul>
-
-<p><a name="getcomfortable"></a></p>
-
-<h2>Getting Comfortable with Available Options</h2>
-
-<p>Axis2 provides a number of ways to create a service, such as:</p>
-<ul>
- <li>Create a service and build it from scratch: In this case, you build
- your service class to specifically access AXIOM OMElement objects, then
- create the services.xml file and package it up for deployment.</li>
- <li>Deploy Plain Old Java Objects (POJOs) as a service.</li>
- <li>Generate the service from WSDL: Just as you can generate clients with
- WSDL, you can generate the skeleton of a service.</li>
-</ul>
-
-<p>Let's look at these three options.</p>
-<a name="createscratch"></a>
-
-<h2>Creating a Service From Scratch</h2>
-
-<p>Creating a service from scratch is not the most convenient way to do it,
-but it does give you the most control. The process involves several steps.</p>
-
-<p><b>The short story:</b></p>
-<ol>
- <li>Create the service class, with each operation represented by a method
- that takes as its argument a org.apache.axiom.om.OMElement object. (An
- OMElement is how the AXIs2 Object Model (AXIOM) represents an XML
- element.)</li>
- <li>Create the service descriptor, services.xml, which defines the class to
- be used by the service and the appropriate message receivers.</li>
- <li>Create the .aar file, with the classes in their proper locations based
- on package and the services.xml file in the META-INF directory.</li>
- <li>Deploy the .aar file by using the <a href="webadminguide.html">Web
- Administration application</a> or by copying it to the Axis2 services
- directory.</li>
-</ol>
-
-<p><b>The long story:</b></p>
-
-<p>Start by creating the service class, a plain Java class that uses classes
-from the Axis2 libraries (see Code Listing 8).</p>
-
-<h3>Code Listing 8-Creating the Service Class</h3>
-<pre>package org.apache.axis2.axis2userguide;
-
-import javax.xml.stream.XMLStreamException;
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-
-public class SampleService {
-
- public OMElement sayHello(OMElement element)
- throws XMLStreamException {
- element.build();
- element.detach();
-
- String rootName = element.getLocalName();
- System.out.println("Reading "+rootName+" element");
-
- OMElement childElement = element.getFirstElement();
- String personToGreet = childElement.getText();
-
- OMFactory fac = OMAbstractFactory.getOMFactory();
- OMNamespace omNs = fac.createOMNamespace(
- "http://example1.org/example1", "example1");
- OMElement method = fac.createOMElement("sayHelloResponse",
-omNs);
- OMElement value = fac.createOMElement("greeting", omNs);
- value.addChild(fac.createOMText(value, "Hello,
-"+personToGreet));
- method.addChild(value);
-
- return method;
- }
-
- private void ping(){
- }
-
-}</pre>
-
-<p>Make sure to include Axis2 libraries in your class path when compiling the
-source.</p>
-
-<p>Axis2 uses AXIOM, or the AXIs Object Model, a DOM (Document Object Model)
--like structure that is based on the StAX API ( Streaming API for XML).
-Methods that act as services must take as their argument an OMElement, which
-represents the payload of the incoming SOAP message. (An OMElement is just
-AXIOM's way of representing an XML element, like a DOM Element object.) In
-this case, you're extracting the contents of the first child of the payload
-element, adding text to it, and using it as content for the return OMElement.
-Unless this is an "in only" service, these methods must return an OMElement,
-because that becomes the payload of the return SOAP message.</p>
-
-<p>To turn this class into a service, create the service description file,
-services.xml, as in Code Listing 9.</p>
-
-<h3>Code Listing 9 - Create the Service Description</h3>
-<pre><service name="UserGuideSampleService">
- <description>
- This is a sample service created in the Axis2 User's Guide
- </description>
-
- <parameter name="ServiceClass"
-locked="false">org.apache.axis2.axis2userguide.SampleService
-</parameter>
-
- <operation name="sayHello">
- <messageReceiver
-class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
- </operation>
- <operation name="ping">
- <messageReceiver
-class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
- </operation>
-</service></pre>
-
-<p>This document defines the service, what it's called by the <a
-href="webadminguide.html">Web Administration Application</a>, and the class
-used to serve requests. For each operation, it defines the appropriate
-message receiver class.</p>
-
-<p>Create a new directory, META-INF, in the main directory for the class. (In
-this case, that's the same directory that contains the org directory) and
-place the services.xml file in it.</p>
-
-<p>Create the .aar file by typing: jar cvf SampleService.aar ./*</p>
-
-<p>Deploy the SampleService.aar file by using the <a
-href="webadminguide.html">Web Administration application</a> or by copying it
-to the Axis2 services directory.</p>
-
-<p>Now you can create a client class that accesses the service directly (see
-Code Listing 10).</p>
-
-<h3>Code Listing 10 - Create a Client Class that Accesses the Service
-Directly</h3>
-<pre>package org.apache.axis2.axis2userguide;
-
-import javax.xml.stream.XMLStreamException;
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.Constants;
-import org.apache.axis2.client.ServiceClient;
-
-public class SampleClient {
-
- private static EndpointReference targetEPR =
- new EndpointReference(
- "http://localhost:8080/axis2/services/UserGuideSampleService");
-
- public static OMElement greetUserPayload(String personToGreet) {
- OMFactory fac = OMAbstractFactory.getOMFactory();
- OMNamespace omNs = fac.createOMNamespace(
- "http://example1.org/example1", "example1");
- OMElement method = fac.createOMElement("sayHello", omNs);
- OMElement value = fac.createOMElement("personToGreet",
-omNs);
- value.addChild(fac.createOMText(value, personToGreet));
- method.addChild(value);
- return method;
- }
-
- public static void main(String[] args) {
- try {
- OMElement payload =
-SampleClient.greetUserPayload("John");
- Options options = new Options();
- options.setTo(targetEPR);
-
-options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
-
- ServiceClient sender = new ServiceClient();
- sender.setOptions(options);
- OMElement result = sender.sendReceive(payload);
-
- String response = result.getFirstElement().getText();
- System.out.println(response);
-
- } catch (Exception e) { //(XMLStreamException e) {
- System.out.println(e.toString());
- }
- }
-
-}</pre>
-
-<p>This class uses the same technique of sending and receiving OMElements,
-but it's also important to note the use of the Options class. This class
-enables you to determine properties such as the transport used for the return
-message -- the transport used for the outgoing message can be inferred from
-the URL of the destination -- and the SOAP version to use. In addition to
-providing setter and getter methods of specific properties that affect how
-the client interacts with the service, the Options class enables you to
-create inheritance relationships between Options objects, so that if a
-property is not found in the current Options object used, the client can
-check the parent Options object of the current Options object.</p>
-
-<p>Compile and run the above SampleClient.java. Make sure to have all axis2
-libraries in your class path. If all has gone well, 'Hello, John' will be
-shown as the output in the console.</p>
-<a name="deploypojo"></a>
-
-<h2>Deploying Plain Old Java Objects (POJOs)</h2>
-
-<p>One very easy way to create a Web service is simply to deploy the Java
-objects that represent the service. Start with the class, shown in Code
-Listing 11.</p>
-
-<h3><b>Code Listing 11 - Creating the Class SampleService</b></h3>
-<pre>package org.apache.axis2.axis2userguide;
-
-public class SampleService {
-
- public void doInOnly(){
- return;
- }
-
- public String noParameters(){
- return "Hello";
- }
-
- public String twoWayOneParameterEcho(String toEcho){
- return toEcho;
- }
-
- public boolean multipleParametersAdd(float price, int itemId,
- String description, String itemName){
- //Code to handle the logic
- return true;
- }
-
-}</pre>
-
-<p>Next, you'll need to tell Axis2 what class corresponds to what Web service
-calls. Do this by creating a file called services.xml and adding the
-following shown in Code Listing 12.</p>
-
-<h3><b>Code Listing 12 - Creating services.xml</b></h3>
-<pre><service name="SampleService" scope="application">
- <description>
- Sample Service
- </description>
- <messageReceivers>
- <messageReceiver
- mep="http://www.w3.org/2004/08/wsdl/in-only"
- class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
- <messageReceiver
- mep="http://www.w3.org/2004/08/wsdl/in-out"
- class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
- </messageReceivers>
- <parameter name="ServiceClass">
- org.apache.axis2.axis2userguide.SampleService
- </parameter>
-</service></pre>
-
-<p>This file makes the InOnly and InOut MEPs available to the service and
-tells Axis2 which class to call; operations must match method names. In other
-words, Axis2 automatically sends a call to the multipleParametersAdd
-operation to the
-org.apache.axis2.axis2userguide.SampleService.multipleParametersAdd()
-method.</p>
-
-<p>Now it's time to create the distribution. Arrange your files in the
-following directory structure (see Code Listing 13).</p>
-
-<h3><b>Code Listing 13- Create the Directory Structure for the
-Distribution</b></h3>
-<pre> - SampleService
- - META-INF
- - services.xml
- - org
- - apache
- - axis2
- - axis2userguide
- - SampleService.class</pre>
-
-<p>Finally, deploy the service by copying the SampleService directory to the
-webapps/axis2/WEB-INF/services directory on the servlet engine. You can check to make
-sure that it's been properly deployed by checking <a
-href="http://<host>:<port>/axis2/services/listServices">http://<host>:<port>/axis2/services/listServices</a>.</p>
-<a name="deployrun"></a>
-
-<h2>Deploying and Running an Axis2 Service Created from WSDL</h2>
-
-<p>If you have a WSDL file, you can easily create and deploy a service based
-on that description. For example, to create a service based on the same WSDL
-file used in the <a href="userguide-creatingclients.html">clients section</a>
-of this document, you'd employ the following steps.</p>
-
-<p><b>The short story:</b></p>
-<ol>
- <li>If you haven't already, <a
- href="http://ws.apache.org/axis2/download/1_1/download.cgi#std-bin">download</a>
- the Axis2 standard distribution.</li>
- <li>Generate the skeleton using the WSDL2Java utility, as in: <br />
-
- <pre>java org.apache.axis2.wsdl.WSDL2Java -uri file:///C:/apps/axis2/samples/zSample/Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d adb -s -wv 1.1 -ss -sd -ssi</pre>
- </li>
- <li>Open the *Skeleton.java file and add the functionality of your service
- to the generated methods.</li>
- <li>Build a service using Ant by typing ant jar.server</li>
- <li>Deploy the service by copying the build/lib/*.aar file to
- <J2EE_HOME>/webapps/axis2/WEB-INF/services</li>
- <li>Check http://<server>:<port>/axis2/services/listServices to
- make sure the service has been properly deployed</li>
-</ol>
-
-<p><b>The long story:</b></p>
-
-<p>As was the case in generating clients, you will need the <a
-href="http://ws.apache.org/axis2/download/1_1/download.cgi#std-bin">Axis2
-Standard Distribution</a>, because the <a
-href="http://ws.apache.org/axis2/download/1_1/download.cgi#war">Axis2 War
-Distribution</a> does not include the WSDL2Java utility. Once you've got it
-downloaded and unpacked, make sure that you set the AXIS2_HOME variable to
-point to the location in which you've unpacked it.</p>
-
-<p>Now you are ready to generate the actual service. To keep things neat,
-create a new directory and change to it. The WSDL file is the same one
-referenced in <a href="userguide-creatingclients#generating.xhtml">Generating
-Clients</a> and includes four operations: NoParameters,
-TwoWayOneParameterEcho, MultipleParametersAddItem, and DoInOnly. To generate
-the service, use the WSDL2Java utility, as in Code Listing 14.</p>
-
-<h3>Code Listing 14 - Using the WSDL2Java Utility to Generate the Service</h3>
-<pre>java org.apache.axis2.wsdl.WSDL2Java -uri
-file:///C:/apps/axis2/samples/zSample/Axis2UserGuide.wsdl -p
-org.apache.axis2.axis2userguide -d adb -s -wv 1.1 -ss -sd</pre>
-
-<p>This statement tells the utility you want to create a service out of the
-operations in the file Axis2UserGuide.wsdl, and that the Java classes
-generated should be in the org.apache.axis2.axis2userguide package (-p). (You
-should see the appropriate directories created.) It also indicates that you
-want to use the Axis2 DataBinding Framework, or ADB (-d), to generate only
-synchronous, or blocking code (-s), and to generate server-side code (-ss) as
-opposed to a client, including the services.xml service descriptor file
-(-sd). It also specifies version 1.1 for the WSDL file (-wv).
-</p>
-
-<p>At this point, you should see three new items in your chosen directory:
-the build.xml file, which includes instructions for Ant, the src directory,
-which includes all of the generated classes and stubs, the resources
-directory, which includes a regenerated version of the WSDL, and the
-services.xml file, which ultimately controls the service's behavior.</p>
-
-<p>You can compile the service at this point, but it doesn't actually do
-anything yet. You can solve that problem by opening the
-src\org\apache\axis2\axis2userguide\Axis2UserGuideServiceSkeleton.java file
-and either editing the code in bold -- make sure you manage parameter numbers
--- or replacing all of the code with the following in Code Listing 15.</p>
-
-<h3>Code Listing 15 - Compiling the Service</h3>
-<pre>/**
- * Axis2UserGuideServiceSkeleton.java
- *
- * This file was auto-generated from WSDL
- * by the Apache Axis2 version: SNAPSHOT Oct 15, 2006 (11:23:18
-GMT+00:00)
- */
-package org.apache.axis2.axis2userguide;
-/**
- * Axis2UserGuideServiceSkeleton java skeleton for the axisService
- */
-public class Axis2UserGuideServiceSkeleton {
-
-
- /**
- * Auto generated method signature
-
- * @param param7
-
- */
- public org.apache.axis2.axis2userguide.NoParametersResponse
-NoParameters
- (org.apache.axis2.axis2userguide.NoParametersRequest param7)
-
- {
- <b>System.out.println(param7);
-
- NoParametersResponse res =
- new NoParametersResponse();
-
- return res;</b>
- }
-
-
- /**
- * Auto generated method signature
-
- * @param param9
-
- */
- public
-org.apache.axis2.axis2userguide.TwoWayOneParameterEchoResponse
-TwoWayOneParameterEcho
- (
- org.apache.axis2.axis2userguide.TwoWayOneParameterEchoRequest
-param9
- )
-
- {
- <b>System.out.println(param9.getEchoString());
-
- TwoWayOneParameterEchoResponse res =
- new TwoWayOneParameterEchoResponse();
-
- res.setEchoString(param9.getEchoString());
-
- return res;</b>
- }
-
-
- /**
- * Auto generated method signature
-
- * @param param11
-
- */
- public void DoInOnly
- (
- org.apache.axis2.axis2userguide.DoInOnlyRequest param11
- )
-
- {
- <b>System.out.println(param11.getMessageString());</b>
- }
-
-
- /**
- * Auto generated method signature
-
- * @param param12
-
- */
- public
-org.apache.axis2.axis2userguide.MultipleParametersAddItemResponse
-MultipleParametersAddItem
- (
-
-org.apache.axis2.axis2userguide.MultipleParametersAddItemRequest
-param12
- )
-
- {
- <b>System.out.println(param12.getPrice());
- System.out.println(param12.getItemId());
- System.out.println(param12.getDescription());
- System.out.println(param12.getItemName());
-
- MultipleParametersAddItemResponse res =
- new MultipleParametersAddItemResponse();
-
- res.setSuccessfulAdd(true);
- res.setItemId(param12.getItemId());
-
- return res;</b>
- }
-
-}</pre>
-
-<p>As in the case of generating clients, all of these classes, such as
-MultipleParametersAddItemRequest and TwoWayOneParameterEchoResponse, are
-generated by the utility, and can be found in the same directory as the
-skeleton file. They include methods such as setSuccessfulAdd(), which set the
-value of the content of an element in the response, and getItemName(), which
-retrieve the content of elements in the request.</p>
-
-<p>Save the file and compile it by typing: ant jar.server</p>
-
-<p>If all goes well, you should see the BUILD SUCCESSFUL message in your
-window, and the Axis2UserGuideService.aar file in the newly created build/lib
-directory.</p>
-
-<p><img alt="The BUILD SUCCESSFUL message in your window"
-src="images/fig05.jpg" /></p>
-
-<p>Now you need to deploy the service to the server. To do that, copy the
-Axis2UserGuideService.aar file to the WEB-INF/services directory of the
-application server. (You also have the option to use the administration
-tools. See the <a href="webadminguide.html">Web Administrator's Guide</a> for
-more information.)</p>
-
-<p>To verify that the service has been properly deployed, check the list of
-services at <a
-href="http://<host>:<port>/axis2/services/listServices">http://<host>:<port>/axis2/services/listServices</a>.</p>
-
-<p><img alt="Checking the list of services" src="images/fig06.jpg" /></p>
-
-<p>Now you should be able to access the service using any of the clients
-built in the <a href="userguide-creatingclients.html#generating">Generating
-Clients</a> document.</p>
-
-<p><strong>See Next Section</strong>- <a
-href="userguide-samples.html">Samples</a></p>
-</body>
-</html>
+<?xml version="1.0" encoding=""?>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta http-equiv="content-type" content="" />
+ <title>Introducing Axis2</title>
+ <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
+ media="all" />
+</head>
+
+<body>
+<a name="buildservices"></a>
+
+<h1>Apache Axis2 User's Guide -Building Services</h1>
+
+<p>Now that you know how to use Axis2 to generate clients from WSDL, this
+section digs a little deeper, showing you how to create services, and how to
+create both services and clients "from scratch", so to speak.</p>
+<ul>
+ <li><a href="userguide.html#intro">Introducing Axis2</a><br />
+
+ <ul>
+ <li><a href="userguide.html#whatis">What is Axis2</a></li>
+ <li><a href="userguide.html#underhood">What's under the hood?</a></li>
+ <li><a href="userguide.html#handlessoap">How Axis2 handles SOAP
+ messages</a></li>
+ <li><a href="userguide.html#distributions">Axis2 distributions</a></li>
+ <li><a href="userguide.html#sbd">The Axis2 Standard Binary
+ Distribution</a></li>
+ <li><a href="userguide.html#hierarchy">Axis2.war Directory
+ hierarchy</a></li>
+ <li><a href="userguide.html#docs">Axis2 Documents Distribution</a></li>
+ <li><a href="userguide.html#clients">Axis2 and clients</a></li>
+ </ul>
+ </li>
+ <li><a href="userguide-installingtesting.html#installingtesting">Installing
+ and testing client code</a></li>
+ <li><a href="userguide-introtoservices.html#introservices">Introduction to
+ Services</a><br />
+
+ <ul>
+ <li><a href="userguide-introtoservices.html#messageexchange">Message
+ Exchange Patterns</a></li>
+ </ul>
+ </li>
+ <li><a href="userguide-creatingclients.html#createclients">Creating
+ Clients</a><br />
+
+ <ul>
+ <li><a href="userguide-creatingclients.html#choosingclient">Choosing a
+ Client Generation Method</a></li>
+ <li><a href="userguide-creatingclients.html#generating">Generating
+ Clients</a></li>
+ <li><a href="userguide-creatingclients.html#adb">Axis Data Binding
+ (ADB)</a></li>
+ </ul>
+ </li>
+ <li><a
+ href="userguide-buildingservices.html#buildservices"><strong>Building
+ Services</strong></a><br />
+
+ <ul>
+ <li><a
+ href="userguide-buildingservices.html#getcomfortable"><strong>Getting
+ Comfortable with Available Options</strong></a></li>
+ <li><a
+ href="userguide-buildingservices.html#createscratch"><strong>Creating
+ a service from scratch</strong></a></li>
+ <li><a
+ href="userguide-buildingservices.html#deploypojo"><strong>Deploying
+ Plain Old Java Objects</strong></a></li>
+ <li><a
+ href="userguide-buildingservices.html#deployrun"><strong>Deploying
+ and running an Axis2 service created from WSDL</strong></a></li>
+ </ul>
+ </li>
+ <li><a href="userguide-samples.html">Samples</a></li>
+ <li><a href="userguide-forfurtherstudy.html">For Further Study</a></li>
+</ul>
+
+<p><a name="getcomfortable"></a></p>
+
+<h2>Getting Comfortable with Available Options</h2>
+
+<p>Axis2 provides a number of ways to create a service, such as:</p>
+<ul>
+ <li>Create a service and build it from scratch: In this case, you build
+ your service class to specifically access AXIOM OMElement objects, then
+ create the services.xml file and package it up for deployment.</li>
+ <li>Deploy Plain Old Java Objects (POJOs) as a service.</li>
+ <li>Generate the service from WSDL: Just as you can generate clients with
+ WSDL, you can generate the skeleton of a service.</li>
+</ul>
+
+<p>Let's look at these three options.</p>
+<a name="createscratch"></a>
+
+<h2>Creating a Service From Scratch</h2>
+
+<p>Creating a service from scratch is not the most convenient way to do it,
+but it does give you the most control. The process involves several steps.</p>
+
+<p><b>The short story:</b></p>
+<ol>
+ <li>Create the service class, with each operation represented by a method
+ that takes as its argument a org.apache.axiom.om.OMElement object. (An
+ OMElement is how the AXIs2 Object Model (AXIOM) represents an XML
+ element.)</li>
+ <li>Create the service descriptor, services.xml, which defines the class to
+ be used by the service and the appropriate message receivers.</li>
+ <li>Create the .aar file, with the classes in their proper locations based
+ on package and the services.xml file in the META-INF directory.</li>
+ <li>Deploy the .aar file by using the <a href="webadminguide.html">Web
+ Administration application</a> or by copying it to the Axis2 services
+ directory.</li>
+</ol>
+
+<p><b>The long story:</b></p>
+
+<p>Start by creating the service class, a plain Java class that uses classes
+from the Axis2 libraries (see Code Listing 8).</p>
+
+<h3>Code Listing 8-Creating the Service Class</h3>
+<pre>package org.apache.axis2.axis2userguide;
+
+import javax.xml.stream.XMLStreamException;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+
+public class SampleService {
+
+ public OMElement sayHello(OMElement element)
+ throws XMLStreamException {
+ element.build();
+ element.detach();
+
+ String rootName = element.getLocalName();
+ System.out.println("Reading "+rootName+" element");
+
+ OMElement childElement = element.getFirstElement();
+ String personToGreet = childElement.getText();
+
+ OMFactory fac = OMAbstractFactory.getOMFactory();
+ OMNamespace omNs = fac.createOMNamespace(
+ "http://example1.org/example1", "example1");
+ OMElement method = fac.createOMElement("sayHelloResponse",
+omNs);
+ OMElement value = fac.createOMElement("greeting", omNs);
+ value.addChild(fac.createOMText(value, "Hello,
+"+personToGreet));
+ method.addChild(value);
+
+ return method;
+ }
+
+ private void ping(){
+ }
+
+}</pre>
+
+<p>Make sure to include Axis2 libraries in your class path when compiling the
+source.</p>
+
+<p>Axis2 uses AXIOM, or the AXIs Object Model, a DOM (Document Object Model)
+-like structure that is based on the StAX API ( Streaming API for XML).
+Methods that act as services must take as their argument an OMElement, which
+represents the payload of the incoming SOAP message. (An OMElement is just
+AXIOM's way of representing an XML element, like a DOM Element object.) In
+this case, you're extracting the contents of the first child of the payload
+element, adding text to it, and using it as content for the return OMElement.
+Unless this is an "in only" service, these methods must return an OMElement,
+because that becomes the payload of the return SOAP message.</p>
+
+<p>To turn this class into a service, create the service description file,
+services.xml, as in Code Listing 9.</p>
+
+<h3>Code Listing 9 - Create the Service Description</h3>
+<pre><service name="UserGuideSampleService">
+ <description>
+ This is a sample service created in the Axis2 User's Guide
+ </description>
+
+ <parameter name="ServiceClass"
+locked="false">org.apache.axis2.axis2userguide.SampleService
+</parameter>
+
+ <operation name="sayHello">
+ <messageReceiver
+class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ </operation>
+ <operation name="ping">
+ <messageReceiver
+class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+ </operation>
+</service></pre>
+
+<p>This document defines the service, what it's called by the <a
+href="webadminguide.html">Web Administration Application</a>, and the class
+used to serve requests. For each operation, it defines the appropriate
+message receiver class.</p>
+
+<p>Create a new directory, META-INF, in the main directory for the class. (In
+this case, that's the same directory that contains the org directory) and
+place the services.xml file in it.</p>
+
+<p>Create the .aar file by typing: jar cvf SampleService.aar ./*</p>
+
+<p>Deploy the SampleService.aar file by using the <a
+href="webadminguide.html">Web Administration application</a> or by copying it
+to the Axis2 services directory.</p>
+
+<p>Now you can create a client class that accesses the service directly (see
+Code Listing 10).</p>
+
+<h3>Code Listing 10 - Create a Client Class that Accesses the Service
+Directly</h3>
+<pre>package org.apache.axis2.axis2userguide;
+
+import javax.xml.stream.XMLStreamException;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.Constants;
+import org.apache.axis2.client.ServiceClient;
+
+public class SampleClient {
+
+ private static EndpointReference targetEPR =
+ new EndpointReference(
+ "http://localhost:8080/axis2/services/UserGuideSampleService");
+
+ public static OMElement greetUserPayload(String personToGreet) {
+ OMFactory fac = OMAbstractFactory.getOMFactory();
+ OMNamespace omNs = fac.createOMNamespace(
+ "http://example1.org/example1", "example1");
+ OMElement method = fac.createOMElement("sayHello", omNs);
+ OMElement value = fac.createOMElement("personToGreet",
+omNs);
+ value.addChild(fac.createOMText(value, personToGreet));
+ method.addChild(value);
+ return method;
+ }
+
+ public static void main(String[] args) {
+ try {
+ OMElement payload =
+SampleClient.greetUserPayload("John");
+ Options options = new Options();
+ options.setTo(targetEPR);
+
+options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
+
+ ServiceClient sender = new ServiceClient();
+ sender.setOptions(options);
+ OMElement result = sender.sendReceive(payload);
+
+ String response = result.getFirstElement().getText();
+ System.out.println(response);
+
+ } catch (Exception e) { //(XMLStreamException e) {
+ System.out.println(e.toString());
+ }
+ }
+
+}</pre>
+
+<p>This class uses the same technique of sending and receiving OMElements,
+but it's also important to note the use of the Options class. This class
+enables you to determine properties such as the transport used for the return
+message -- the transport used for the outgoing message can be inferred from
+the URL of the destination -- and the SOAP version to use. In addition to
+providing setter and getter methods of specific properties that affect how
+the client interacts with the service, the Options class enables you to
+create inheritance relationships between Options objects, so that if a
+property is not found in the current Options object used, the client can
+check the parent Options object of the current Options object.</p>
+
+<p>Compile and run the above SampleClient.java. Make sure to have all axis2
+libraries in your class path. If all has gone well, 'Hello, John' will be
+shown as the output in the console.</p>
+<a name="deploypojo"></a>
+
+<h2>Deploying Plain Old Java Objects (POJOs)</h2>
+
+<p>One very easy way to create a Web service is simply to deploy the Java
+objects that represent the service. Start with the class, shown in Code
+Listing 11.</p>
+
+<h3><b>Code Listing 11 - Creating the Class SampleService</b></h3>
+<pre>package org.apache.axis2.axis2userguide;
+
+public class SampleService {
+
+ public void doInOnly(){
+ return;
+ }
+
+ public String noParameters(){
+ return "Hello";
+ }
+
+ public String twoWayOneParameterEcho(String toEcho){
+ return toEcho;
+ }
+
+ public boolean multipleParametersAdd(float price, int itemId,
+ String description, String itemName){
+ //Code to handle the logic
+ return true;
+ }
+
+}</pre>
+
+<p>Next, you'll need to tell Axis2 what class corresponds to what Web service
+calls. Do this by creating a file called services.xml and adding the
+following shown in Code Listing 12.</p>
+
+<h3><b>Code Listing 12 - Creating services.xml</b></h3>
+<pre><service name="SampleService" scope="application">
+ <description>
+ Sample Service
+ </description>
+ <messageReceivers>
+ <messageReceiver
+ mep="http://www.w3.org/2004/08/wsdl/in-only"
+ class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
+ <messageReceiver
+ mep="http://www.w3.org/2004/08/wsdl/in-out"
+ class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+ </messageReceivers>
+ <parameter name="ServiceClass">
+ org.apache.axis2.axis2userguide.SampleService
+ </parameter>
+</service></pre>
+
+<p>This file makes the InOnly and InOut MEPs available to the service and
+tells Axis2 which class to call; operations must match method names. In other
+words, Axis2 automatically sends a call to the multipleParametersAdd
+operation to the
+org.apache.axis2.axis2userguide.SampleService.multipleParametersAdd()
+method.</p>
+
+<p>Now it's time to create the distribution. Arrange your files in the
+following directory structure (see Code Listing 13).</p>
+
+<h3><b>Code Listing 13- Create the Directory Structure for the
+Distribution</b></h3>
+<pre> - SampleService
+ - META-INF
+ - services.xml
+ - org
+ - apache
+ - axis2
+ - axis2userguide
+ - SampleService.class</pre>
+
+<p>Finally, deploy the service by copying the SampleService directory to the
+webapps/axis2/WEB-INF/services directory on the servlet engine. You can check to make
+sure that it's been properly deployed by checking <a
+href="http://<host>:<port>/axis2/services/listServices">http://<host>:<port>/axis2/services/listServices</a>.</p>
+<a name="deployrun"></a>
+
+<h2>Deploying and Running an Axis2 Service Created from WSDL</h2>
+
+<p>If you have a WSDL file, you can easily create and deploy a service based
+on that description. For example, to create a service based on the same WSDL
+file used in the <a href="userguide-creatingclients.html">clients section</a>
+of this document, you'd employ the following steps.</p>
+
+<p><b>The short story:</b></p>
+<ol>
+ <li>If you haven't already, <a
+ href="http://ws.apache.org/axis2/download/1_1/download.cgi#std-bin">download</a>
+ the Axis2 standard distribution.</li>
+ <li>Generate the skeleton using the WSDL2Java utility, as in: <br />
+
+ <pre>java org.apache.axis2.wsdl.WSDL2Java -uri file:///C:/apps/axis2/samples/zSample/Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d adb -s -wv 1.1 -ss -sd -ssi</pre>
+ </li>
+ <li>Open the *Skeleton.java file and add the functionality of your service
+ to the generated methods.</li>
+ <li>Build a service using Ant by typing ant jar.server</li>
+ <li>Deploy the service by copying the build/lib/*.aar file to
+ <J2EE_HOME>/webapps/axis2/WEB-INF/services</li>
+ <li>Check http://<server>:<port>/axis2/services/listServices to
+ make sure the service has been properly deployed</li>
+</ol>
+
+<p><b>The long story:</b></p>
+
+<p>As was the case in generating clients, you will need the <a
+href="http://ws.apache.org/axis2/download/1_1/download.cgi#std-bin">Axis2
+Standard Distribution</a>, because the <a
+href="http://ws.apache.org/axis2/download/1_1/download.cgi#war">Axis2 War
+Distribution</a> does not include the WSDL2Java utility. Once you've got it
+downloaded and unpacked, make sure that you set the AXIS2_HOME variable to
+point to the location in which you've unpacked it.</p>
+
+<p>Now you are ready to generate the actual service. To keep things neat,
+create a new directory and change to it. The WSDL file is the same one
+referenced in <a href="userguide-creatingclients.html#generating">Generating
+Clients</a> and includes four operations: NoParameters,
+TwoWayOneParameterEcho, MultipleParametersAddItem, and DoInOnly. To generate
+the service, use the WSDL2Java utility, as in Code Listing 14.</p>
+
+<h3>Code Listing 14 - Using the WSDL2Java Utility to Generate the Service</h3>
+<pre>java org.apache.axis2.wsdl.WSDL2Java -uri
+file:///C:/apps/axis2/samples/zSample/Axis2UserGuide.wsdl -p
+org.apache.axis2.axis2userguide -d adb -s -wv 1.1 -ss -sd</pre>
+
+<p>This statement tells the utility you want to create a service out of the
+operations in the file Axis2UserGuide.wsdl, and that the Java classes
+generated should be in the org.apache.axis2.axis2userguide package (-p). (You
+should see the appropriate directories created.) It also indicates that you
+want to use the Axis2 DataBinding Framework, or ADB (-d), to generate only
+synchronous, or blocking code (-s), and to generate server-side code (-ss) as
+opposed to a client, including the services.xml service descriptor file
+(-sd). It also specifies version 1.1 for the WSDL file (-wv).
+</p>
+
+<p>At this point, you should see three new items in your chosen directory:
+the build.xml file, which includes instructions for Ant, the src directory,
+which includes all of the generated classes and stubs, the resources
+directory, which includes a regenerated version of the WSDL, and the
+services.xml file, which ultimately controls the service's behavior.</p>
+
+<p>You can compile the service at this point, but it doesn't actually do
+anything yet. You can solve that problem by opening the
+src\org\apache\axis2\axis2userguide\Axis2UserGuideServiceSkeleton.java file
+and either editing the code in bold -- make sure you manage parameter numbers
+-- or replacing all of the code with the following in Code Listing 15.</p>
+
+<h3>Code Listing 15 - Compiling the Service</h3>
+<pre>/**
+ * Axis2UserGuideServiceSkeleton.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: SNAPSHOT Oct 15, 2006 (11:23:18
+GMT+00:00)
+ */
+package org.apache.axis2.axis2userguide;
+/**
+ * Axis2UserGuideServiceSkeleton java skeleton for the axisService
+ */
+public class Axis2UserGuideServiceSkeleton {
+
+
+ /**
+ * Auto generated method signature
+
+ * @param param7
+
+ */
+ public org.apache.axis2.axis2userguide.NoParametersResponse
+NoParameters
+ (org.apache.axis2.axis2userguide.NoParametersRequest param7)
+
+ {
+ <b>System.out.println(param7);
+
+ NoParametersResponse res =
+ new NoParametersResponse();
+
+ return res;</b>
+ }
+
+
+ /**
+ * Auto generated method signature
+
+ * @param param9
+
+ */
+ public
+org.apache.axis2.axis2userguide.TwoWayOneParameterEchoResponse
+TwoWayOneParameterEcho
+ (
+ org.apache.axis2.axis2userguide.TwoWayOneParameterEchoRequest
+param9
+ )
+
+ {
+ <b>System.out.println(param9.getEchoString());
+
+ TwoWayOneParameterEchoResponse res =
+ new TwoWayOneParameterEchoResponse();
+
+ res.setEchoString(param9.getEchoString());
+
+ return res;</b>
+ }
+
+
+ /**
+ * Auto generated method signature
+
+ * @param param11
+
+ */
+ public void DoInOnly
+ (
+ org.apache.axis2.axis2userguide.DoInOnlyRequest param11
+ )
+
+ {
+ <b>System.out.println(param11.getMessageString());</b>
+ }
+
+
+ /**
+ * Auto generated method signature
+
+ * @param param12
+
+ */
+ public
+org.apache.axis2.axis2userguide.MultipleParametersAddItemResponse
+MultipleParametersAddItem
+ (
+
+org.apache.axis2.axis2userguide.MultipleParametersAddItemRequest
+param12
+ )
+
+ {
+ <b>System.out.println(param12.getPrice());
+ System.out.println(param12.getItemId());
+ System.out.println(param12.getDescription());
+ System.out.println(param12.getItemName());
+
+ MultipleParametersAddItemResponse res =
+ new MultipleParametersAddItemResponse();
+
+ res.setSuccessfulAdd(true);
+ res.setItemId(param12.getItemId());
+
+ return res;</b>
+ }
+
+}</pre>
+
+<p>As in the case of generating clients, all of these classes, such as
+MultipleParametersAddItemRequest and TwoWayOneParameterEchoResponse, are
+generated by the utility, and can be found in the same directory as the
+skeleton file. They include methods such as setSuccessfulAdd(), which set the
+value of the content of an element in the response, and getItemName(), which
+retrieve the content of elements in the request.</p>
+
+<p>Save the file and compile it by typing: ant jar.server</p>
+
+<p>If all goes well, you should see the BUILD SUCCESSFUL message in your
+window, and the Axis2UserGuideService.aar file in the newly created build/lib
+directory.</p>
+
+<p><img alt="The BUILD SUCCESSFUL message in your window"
+src="images/fig05.jpg" /></p>
+
+<p>Now you need to deploy the service to the server. To do that, copy the
+Axis2UserGuideService.aar file to the WEB-INF/services directory of the
+application server. (You also have the option to use the administration
+tools. See the <a href="webadminguide.html">Web Administrator's Guide</a> for
+more information.)</p>
+
+<p>To verify that the service has been properly deployed, check the list of
+services at <a
+href="http://<host>:<port>/axis2/services/listServices">http://<host>:<port>/axis2/services/listServices</a>.</p>
+
+<p><img alt="Checking the list of services" src="images/fig06.jpg" /></p>
+
+<p>Now you should be able to access the service using any of the clients
+built in the <a href="userguide-creatingclients.html#generating">Generating
+Clients</a> document.</p>
+
+<p><strong>See Next Section</strong>- <a
+href="userguide-samples.html">Samples</a></p>
+</body>
+</html>
Modified: webservices/axis2/branches/java/1_1/xdocs/archived_news.html
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/xdocs/archived_news.html?view=diff&rev=489001&r1=489000&r2=489001
==============================================================================
--- webservices/axis2/branches/java/1_1/xdocs/archived_news.html (original)
+++ webservices/axis2/branches/java/1_1/xdocs/archived_news.html Wed Dec 20 01:38:01 2006
@@ -7,7 +7,8 @@
<title>Apache Axis2 Archived News</title>
<meta name="generator" content="amaya 9.2.1, see http://www.w3.org/Amaya/"
/>
- <link href="css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
+ <link href="css/axis-docs.css" rel="stylesheet" type="text/css" media="all"
+ />
</head>
<body xml:lang="en">
@@ -20,6 +21,7 @@
<h3>Apache Axis2 Releases:</h3>
<ul>
+ <li><a href="#1_1">13th November 2006- Version 1.1</a></li>
<li><a href="#1_0">04 May 2006- Version 1.0</a></li>
<li><a href="#0_95">23 March 2006- Version 0.95</a></li>
<li><a href="#0_94">11 January 2006- Version 0.94</a></li>
@@ -30,8 +32,114 @@
<li><a href="#M2">07 June 2005 - Milestone 2</a></li>
<li><a href="#M1">24 February 2005 - Milestone 1</a></li>
</ul>
+<a></a>
+
+<h2>13th November 2006 - Apache Axis2/Java Version 1.1 Released!</h2>
+
+<p>[<a href="http://ws.apache.org/axis2/download/1_1/download.cgi">Download
+1.1</a>]</p>
+
+<p>Apache Axis2 Version 1.1 comes to you with better Axis2 Databinding
+Framework (ADB) support, <a
+href="http://www.w3.org/TR/SOAP-attachments">attachments API</a>, Spring and
+complete support for SOAP with Attachments (SwA). Check out the complete
+features list below.</p>
+
+<h3>Programming Model</h3>
+<ul>
+ <li>Improved, XML-centric client API including full WSDL and policy
+ support</li>
+ <li>Support for any message exchange pattern</li>
+ <li>Synchronous and asynchronous calls</li>
+ <li>Archived service deployment model</li>
+ <li>Archived module deployment model supporting controlled extensibility
+ with versioning support</li>
+ <li><a href="#Hot_Deployment">Hot deployment</a></li>
+ <li>WS-Policy driven code generation extensions</li>
+ <li>Flexible service life cycle model</li>
+ <li>Support for querying service's WSDL (using ?wsdl), schema (using ?xsd)
+ and policies (using ?policy)</li>
+</ul>
+
+<h3>Supported Specifications</h3>
+<ul>
+ <li>SOAP 1.1 and 1.2</li>
+ <li>Message Transmission Optimization Mechanism (MTOM), XML Optimized
+ Packaging (XOP) and SOAP with Attachments</li>
+ <li>WSDL 1.1, including both SOAP and HTTP bindings</li>
+ <li>WS-Addressing (submission and final)</li>
+ <li>WS-Policy</li>
+ <li>SAAJ 1.1</li>
+</ul>
+
+<h3>Transports</h3>
+<ul>
+ <li>HTTP</li>
+ <li>SMTP</li>
+ <li>JMS</li>
+ <li>TCP</li>
+</ul>
+
+<h3>Supported Data Bindings</h3>
+<ul>
+ <li>Axis Data Binding (ADB)</li>
+ <li>XMLBeans</li>
+ <li>JibX</li>
+ <li>JaxMe</li>
+</ul>
+<a></a>
+
+<h2>Tools Included In This Release</h2>
+
+<p>[<a href="http://ws.apache.org/axis2/tools/index.html">Download Tool
+Plug-ins</a>]</p>
+<ol type="1">
+ <li>Axis2 Web Application (Web App)</li>
+ <li>WSDL2WS- <a href="tools/1_1/eclipse/wsdl2java-plugin.html">eclipse
+ plug-in</a><a>/</a> <a href="tools/1_1/CodegenToolReference.html">Command
+ line version</a><a>/</a><a
+ href="tools/1_1/idea/Idea_plug-in_userguide.html#WSDL2Java_Code_Generation">IntelliJ
+ IDEA plug-in</a><a>/</a><a
+ href="tools/1_1/maven-plugins/maven-wsdl2code-plugin.html">Maven2
+ WSDL2Code Plug-in</a></li>
+ <li>Service Archive Wizard- <a
+ href="tools/1_1/eclipse/servicearchiver-plugin.html">eclipse plug-in</a>/
+ <a
+ href="tools/1_1/idea/Idea_plug-in_userguide.html#Create_Service_Archive">IntelliJ
+ IDEA plug-in</a>/ <a
+ href="tools/1_1/maven-plugins/maven-aar-plugin.html">Maven2 AAR
+ Plug-in</a></li>
+ <li>Java2WSDL- <a
+ href="tools/1_1/maven-plugins/maven-java2wsdl-plugin.html">Maven2
+ Java2WSDL Plug-in</a></li>
+</ol>
+
+<h2>Extension Modules</h2>
+<ul>
+ <li>Apache Rampart: Supporting WS-Security (and soon WS-Policy)</li>
+ <li>Apache Sandesha2: Supporting WS-Reliable Messaging</li>
+</ul>
+(Apache Axis2 comes built in with a module that supports WS-Addressing.)
+
+<h2>Known Issues and Limitations</h2>
+<ul>
+ <li>JaxMe and JAXBRI data binding support is experimental</li>
+ <li>AXIS2-595: Hot re-deployment in Apache Tomcat has problems</li>
+ <li>Axis Data Binding (ADB) does not support the following construct(s):
+ <ol>
+ <li>AXIS2-983: Support for Simple Type Union and Simple Type List</li>
+ <li>AXIS2-1092: Support for xs:list inside an xs:simpleType</li>
+ <li>AXIS2-1093: Support for xs:union inside xs:simpleType</li>
+ </ol>
+ </li>
+ <li>No support yet for unwrapping of doc/lit WSDL files (in stub
+ generation)</li>
+ <li>No support yet for rpc/encoded style WSDL documents (in stub
+ generation)</li>
+ <li>Idea plugin shows random behavior when XMLBeans is used</li>
+</ul>
+<a></a>
-<a name="1_0"></a>
<h2>04 May 2006 - Apache Axis2 Version 1.0 Released!</h2>
<p>[<a href="http://ws.apache.org/axis2/download.cgi">Download 1.0</a>]</p>
@@ -50,24 +158,23 @@
and reliability. Modules currently available or under development include:</p>
<ul>
<li><a
- href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrm"
- target="_blank">WS-ReliableMessaging</a> - Supported by <a
- href="http://ws.apache.org/sandesha/sandesha2/">Apache Sandesha2</a></li>
+ href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrm">WS-ReliableMessaging</a>
+ - Supported by <a href="http://ws.apache.org/sandesha/sandesha2/">Apache
+ Sandesha2</a></li>
<li><a
- href="http://www-128.ibm.com/developerworks/library/specification/ws-tx/#coor"
- target="_blank">WS-Coordination</a> and <a
- href="http://www-128.ibm.com/developerworks/library/specification/ws-tx/#atom"
- target="_blank">WS-AtomicTransaction</a> - Supported by <a
- href="http://ws.apache.org/kandula/">Apache Kandula2</a></li>
+ href="http://www-128.ibm.com/developerworks/library/specification/ws-tx/#coor">WS-Coordination</a>
+ and <a
+ href="http://www-128.ibm.com/developerworks/library/specification/ws-tx/#atom">WS-AtomicTransaction</a>
+ - Supported by <a href="http://ws.apache.org/kandula/">Apache
+ Kandula2</a></li>
<li><a
- href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss"
- target="_blank">WS-Security</a> - Supported by <a
+ href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss">WS-Security</a>
+ - Supported by <a
href="http://ws.apache.org/axis2/modules/index.html">Apache
Rampart</a></li>
- <li><a href="http://www.w3.org/Submission/ws-addressing/"
- target="_blank">WS-Addressing</a> - <a
- href="http://ws.apache.org/axis2/modules/index.html">Module</a> included
- as part of Axis2 core</li>
+ <li><a href="http://www.w3.org/Submission/ws-addressing/">WS-Addressing</a>
+ - <a href="http://ws.apache.org/axis2/modules/index.html">Module</a>
+ included as part of Axis2 core</li>
</ul>
<p>Apache Axis2 is built on <a
@@ -86,7 +193,8 @@
<li>Archived service deployment model</li>
<li>Archived module deployment model supporting controlled extensibility
with versioning support</li>
- <li><a href="1_1/installationguide.html#hot_deployment">Hot deployment</a></li>
+ <li><a href="1_1/installationguide.html#hot_deployment">Hot
+ deployment</a></li>
<li>WS-Policy driven code generation extensions</li>
<li>Flexible service lifecyle model</li>
<li>Support for querying service's WSDL (using ?wsdl), schema (using ?xsd)
@@ -120,24 +228,23 @@
<li>JaxMe</li>
</ul>
-<h2><a name="Tools_included_in this_Release">Tools Included In This
-Release</a></h2>
+<h2><a>Tools Included In This Release</a></h2>
-<p><a href="http://ws.apache.org/axis2/tools/index.html"
-target="_blank">[Download plug-ins]</a></p>
+<p><a href="http://ws.apache.org/axis2/tools/index.html">[Download
+plug-ins]</a></p>
<ol type="1">
<li>Axis2 Web Application (Web App)</li>
- <li>WSDL2WS- <a href="../tools/1_0/eclipse/wsdl2java-plugin.html"
- target="_blank">eclipse plug-in</a><a>/</a> <a
- href="../tools/1_0/CodegenToolReference.html" target="_blank">Command
- line version</a><a>/</a><a
- href="../tools/1_0/idea/Idea_plug-in_userguide.html#WSDL2Java_Code_Generation"
- target="_blank">IntelliJ IDEA plug-in</a></li>
+ <li>WSDL2WS- <a href="../tools/1_0/eclipse/wsdl2java-plugin.html">eclipse
+ plug-in</a><a>/</a> <a
+ href="../tools/1_0/CodegenToolReference.html">Command line
+ version</a><a>/</a><a
+ href="../tools/1_0/idea/Idea_plug-in_userguide.html#WSDL2Java_Code_Generation">IntelliJ
+ IDEA plug-in</a></li>
<li>Service Archive Wizard- <a
- href="../tools/1_0/eclipse/servicearchiver-plugin.html"
- target="_blank">eclipse plug-in</a>/ <a
- href="../tools/1_0/idea/Idea_plug-in_userguide.html#Create_Service_Archive"
- target="_blank">IntelliJ IDEA plug-in</a></li>
+ href="../tools/1_0/eclipse/servicearchiver-plugin.html">eclipse
+ plug-in</a>/ <a
+ href="../tools/1_0/idea/Idea_plug-in_userguide.html#Create_Service_Archive">IntelliJ
+ IDEA plug-in</a></li>
</ol>
<h2>Extension Modules</h2>
@@ -170,8 +277,6 @@
<li>No support yet for rpc/encoded style WSDL documents (in stub
generation)</li>
</ul>
-
-
<a id="_0_95"></a>
<h2>23 March 2006 - Apache Axis2 Version 0.95 Released!</h2>
Modified: webservices/axis2/branches/java/1_1/xdocs/index.html
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/xdocs/index.html?view=diff&rev=489001&r1=489000&r2=489001
==============================================================================
--- webservices/axis2/branches/java/1_1/xdocs/index.html (original)
+++ webservices/axis2/branches/java/1_1/xdocs/index.html Wed Dec 20 01:38:01 2006
@@ -1,294 +1,294 @@
-<html>
-<head>
- <meta http-equiv="content-type" content="">
- <title>Apache Axis2/Java - Next Generation Web Services</title>
- <link href="css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
-</head>
-
-<body lang="en">
-<h1>Welcome to Apache Axis2/Java</h1>
-
-<h2>13th November 2006 - Apache Axis2/Java Version 1.1 Released!</h2>
-
-<p>[ <a
-href="http://ws.apache.org/axis2/download.cgi"><strong>Download</strong></a>
-] | [ <a href="1_1/index.html"><strong>Documents Home</strong></a> ]</p>
-
-<p>Apache Axis2 is the core engine for Web services. It is a complete
-re-design and re-write of the widely used <a
-href="http://ws.apache.org/axis/">Apache Axis</a> SOAP stack to build on the
-lessons learnt from Apache Axis.</p>
-
-<h3><em>Apache Axis Project in a Nutshell:</em></h3>
-
-<p>Apache Axis is an implementation of the SOAP ("Simple Object Access
-Protocol") <a href="http://www.w3.org/TR/SOAP">submission</a> to W3C.</p>
-
-<p>Extract from the draft W3C specification:</p>
-
-<blockquote>
- "SOAP is a lightweight protocol for exchanging structured information in a
- decentralized, distributed environment. It is an XML based protocol that
- consists of three parts: an envelope that defines a framework for
- describing what is in a message and how to process it, a set of encoding
- rules for expressing instances of application-defined datatypes, and a
- convention for representing remote procedure calls and
-responses."</blockquote>
-
-<p>This project is a follow-on to the <a
-href="http://ws.apache.org/soap">Apache SOAP project</a>.</p>
-
-<p>Please see the <a href="http://ws.apache.org/axis/ref.html">Axis Reference
-Library</a> for a list of technical resources that should prove useful on
-this project.</p>
-
-<h3><em>Why Apache Axis2:</em></h3>
-
-<p>A new architecture for Axis was introduced during the August 2004 Summit
-in Colombo, Sri Lanka. This new architecture Axis2 is based on is more
-flexible, efficient and configurable in comparison to <a
-href="http://ws.apache.org/axis/java/architecture-guide.html">Axis1.x
-architecture</a>. Some well established concepts from Axis 1.x, like handlers
-etc., have been preserved in this new architecture.</p>
-
-<p>Apache Axis2 not only supports SOAP 1.1 and SOAP 1.2, but it also has
-integrated support for the widely popular <a
-href="http://www.xfront.com/REST-Web-Services.html">REST style of Web
-services</a>: the same business logic implementation can offer both a WS-*
-style interface as well as a REST style interface simultaneously.</p>
-
-<p>Apache Axis2 is more efficient, more modular and more XML-oriented than
-the older version. It is carefully designed to support the easy addition of
-plug-in "modules" that extend its functionality for features such as security
-and reliability. <a
-href="http://ws.apache.org/axis2/modules/index.html">Modules</a> currently
-available or under development include:</p>
-<ul>
- <li><a
- href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrm"
- target="_blank">WS-ReliableMessaging</a> - Supported by <a
- href="http://ws.apache.org/sandesha/sandesha2/">Apache Sandesha2</a></li>
- <li><a
- href="http://www-128.ibm.com/developerworks/library/specification/ws-tx/#coor"
- target="_blank">WS-Coordination</a> and <a
- href="http://www-128.ibm.com/developerworks/library/specification/ws-tx/#atom"
- target="_blank">WS-AtomicTransaction</a> - Supported by <a
- href="http://ws.apache.org/kandula/">Apache Kandula2</a></li>
- <li><a
- href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss"
- target="_blank">WS-Security</a> - Supported by <a
- href="http://ws.apache.org/axis2/modules/index.html">Apache
- Rampart</a></li>
- <li><a href="http://www.w3.org/Submission/ws-addressing/"
- target="_blank">WS-Addressing</a> -Module included as part of Axis2
- core</li>
-</ul>
-
-<p>Apache Axis2 is built on <a
-href="http://ws.apache.org/commons/axiom/index.html">Apache AXIOM</a>, a new
-high performant, pull-based XML object model that was released two days
-ago.</p>
-
-<p>Axis2 comes with many new features, enhancements and industry
-specification implementations. The key features offered are as follows:</p>
-<ul>
- <li><p style="margin-bottom: 0in"><strong>Speed</strong> - Axis2 uses its
- own object model and StAX (Streaming API for XML) parsing to achieve
- significantly greater speed than earlier versions of Apache Axis.</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong>Low memory foot print</strong>-
- Axis2 was designed ground-up keeping low memory foot print in mind.</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong>AXIOM</strong> - Axis2 comes with
- its own light-weight object model, AXIOM, for message processing which is
- extensible, highly performant and is developer convenient.</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong><a name="Hot_Deployment"></a>Hot
- Deployment</strong> - Axis2 is equipped with the capability of
- deploying Web service & handlers while the system is up and running.
- In other words, new services can be added to the system without having to
- shut down the server. Simply drop the required Web service archive into
- the services directory in the repository and the deployment model will
- automatically deploy the service and make it available for use.</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong>Asynchronous Web
- services</strong> - Axis2 now supports asynchronous Web services &
- asynchronous Web services invocation using non-blocking clients and
- transports .</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong>MEP Support</strong> - Axis2 now
- comes handy with the flexibility to support Message Exchange Patterns
- (MEPs) with in-built support for basic MEPs defined in WSDL 2.0.</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong>Flexibility</strong> - The Axis2
- architecture gives the developer complete freedom to insert extensions
- into the engine for custom header processing, system management, and
- <em>anything else you can imagine</em>.</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong>Stability</strong> - Axis2
- defines a set of published interfaces which change relatively slowly
- compared to the rest of Axis.</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong>Component-oriented
- Deployment</strong> - You can easily define reusable networks of Handlers
- to implement common patterns of processing for your applications, or to
- distribute to partners.</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong>Transport Framework</strong> - We
- have a clean and simple abstraction for integrating and using Transports
- (i.e., senders and listeners for SOAP over various protocols such as
- SMTP, FTP, message-oriented middleware, etc), and the core of the engine
- is completely transport-independent.</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong>WSDL support</strong> - Axis2
- supports the Web Service Description Language, version <a
- href="http://www.w3.org/TR/wsdl">1.1</a> and <a
- href="http://www.w3.org/TR/wsdl20/">2.0</a>, which allows you to easily
- build stubs to access remote services, and also to automatically export
- machine-readable descriptions of your deployed services from Axis2.</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong>Add-ons</strong> - Several Web
- services specifications have been incorporated including <a
- href="http://ws.apache.org/wss4j/" target="_blank">WSS4J</a> for security
- (Apache Rampart), <a href="http://ws.apache.org/sandesha/"
- target="_blank">Sandesha</a> for reliable messaging, <a
- href="http://ws.apache.org/kandula/" target="_blank">Kandula</a> which is
- an encapsulation of WS-Coordination, WS-AtomicTransaction and
- WS-BusinessActivity.</p>
- </li>
- <li><p style="margin-bottom: 0in"><strong>Composition and
- Extensibility</strong> - Modules and phases improve support for
- composability and extensibility. Modules supports composability and is
- able to add support for new WS-* specifications in a simple and clean
- manner. They are however not <a href="#Hot_Deployment">hot deployable</a>
- as they change the overall behavior of the system.</p>
- </li>
-</ul>
-
-<p>We hope you enjoy using Axis2. Please note that this is an open-source
-effort. If you feel the code could use new features or fixes, or the
-documentation can be improved, please get involved and lend us a hand! The
-Axis developer community welcomes your participation.</p>
-
-<p>Let us know what you think! Send your feedback on Axis2 to "<a
-href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a>". Make sure
-to prefix the subject of the mail with [Axis2].</p>
-
-<h2>Features of Axis2 Latest Version</h2>
-
-<p>Apache Axis2 Version 1.1 comes to you with better Axis2 Databinding
-Framework (ADB) support, <a
-href="http://www.w3.org/TR/SOAP-attachments">attachments API</a>, Spring and
-complete support for SOAP with Attachments (SwA). Check out the complete
-features list below.</p>
-
-<h3>Programming Model</h3>
-<ul>
- <li>Improved, XML-centric client API including full WSDL and policy
- support</li>
- <li>Support for any message exchange pattern</li>
- <li>Synchronous and asynchronous calls</li>
- <li>Archived service deployment model</li>
- <li>Archived module deployment model supporting controlled extensibility
- with versioning support</li>
- <li><a href="#Hot_Deployment">Hot deployment</a></li>
- <li>WS-Policy driven code generation extensions</li>
- <li>Flexible service life cycle model</li>
- <li>Support for querying service's WSDL (using ?wsdl), schema (using ?xsd)
- and policies (using ?policy)</li>
-</ul>
-
-<h3>Supported Specifications</h3>
-<ul>
- <li>SOAP 1.1 and 1.2</li>
- <li>Message Transmission Optimization Mechanism (MTOM), XML Optimized
- Packaging (XOP) and SOAP with Attachments</li>
- <li>WSDL 1.1, including both SOAP and HTTP bindings</li>
- <li>WS-Addressing (submission and final)</li>
- <li>WS-Policy</li>
- <li>SAAJ 1.1</li>
-</ul>
-
-<h3>Transports</h3>
-<ul>
- <li>HTTP</li>
- <li>SMTP</li>
- <li>JMS</li>
- <li>TCP</li>
-</ul>
-
-<h3>Supported Data Bindings</h3>
-<ul>
- <li>Axis Data Binding (ADB)</li>
- <li>XMLBeans</li>
- <li>JibX</li>
- <li>JaxMe</li>
-</ul>
-
-<h2><a name="Tools_included_in this_Release">Tools Included In This
-Release</a></h2>
-
-<p>[<a href="http://ws.apache.org/axis2/tools/index.html"
-target="_blank">Download Tool Plug-ins</a>]</p>
-<ol type="1">
- <li>Axis2 Web Application (Web App)</li>
- <li>WSDL2WS- <a href="tools/1_1/eclipse/wsdl2java-plugin.html"
- target="_blank">eclipse plug-in</a><a>/</a> <a
- href="tools/1_1/CodegenToolReference.html" target="_blank">Command
- line version</a><a>/</a><a
- href="tools/1_1/idea/Idea_plug-in_userguide.html#WSDL2Java_Code_Generation"
- target="_blank">IntelliJ IDEA plug-in</a><a>/</a><a
- href="tools/1_1/maven-plugins/maven-wsdl2code-plugin.html"
- target="_blank">Maven2 WSDL2Code Plug-in</a></li>
- <li>Service Archive Wizard- <a
- href="tools/1_1/eclipse/servicearchiver-plugin.html"
- target="_blank">eclipse plug-in</a>/ <a
- href="tools/1_1/idea/Idea_plug-in_userguide.html#Create_Service_Archive"
- target="_blank">IntelliJ IDEA plug-in</a>/ <a
- href="tools/1_1/maven-plugins/maven-aar-plugin.html"
+<html>
+<head>
+ <meta http-equiv="content-type" content="">
+ <title>Apache Axis2/Java - Next Generation Web Services</title>
+ <link href="css/axis-docs.css" rel="stylesheet" type="text/css" media="all">
+</head>
+
+<body lang="en">
+<h1>Welcome to Apache Axis2/Java</h1>
+
+<h2>13th December 2006 - Apache Axis2/Java Version 1.1.1 Released!</h2>
+
+<p>[ <a
+href="http://ws.apache.org/axis2/download.cgi"><strong>Download</strong></a>
+] | [ <a href="1_1/index.html"><strong>Documents Home</strong></a> ]</p>
+
+<p>Apache Axis2 is the core engine for Web services. It is a complete
+re-design and re-write of the widely used <a
+href="http://ws.apache.org/axis/">Apache Axis</a> SOAP stack to build on the
+lessons learnt from Apache Axis.</p>
+
+<h3><em>Apache Axis Project in a Nutshell:</em></h3>
+
+<p>Apache Axis is an implementation of the SOAP ("Simple Object Access
+Protocol") <a href="http://www.w3.org/TR/SOAP">submission</a> to W3C.</p>
+
+<p>Extract from the draft W3C specification:</p>
+
+<blockquote>
+ "SOAP is a lightweight protocol for exchanging structured information in a
+ decentralized, distributed environment. It is an XML based protocol that
+ consists of three parts: an envelope that defines a framework for
+ describing what is in a message and how to process it, a set of encoding
+ rules for expressing instances of application-defined datatypes, and a
+ convention for representing remote procedure calls and
+responses."</blockquote>
+
+<p>This project is a follow-on to the <a
+href="http://ws.apache.org/soap">Apache SOAP project</a>.</p>
+
+<p>Please see the <a href="http://ws.apache.org/axis/ref.html">Axis Reference
+Library</a> for a list of technical resources that should prove useful on
+this project.</p>
+
+<h3><em>Why Apache Axis2:</em></h3>
+
+<p>A new architecture for Axis was introduced during the August 2004 Summit
+in Colombo, Sri Lanka. This new architecture Axis2 is based on is more
+flexible, efficient and configurable in comparison to <a
+href="http://ws.apache.org/axis/java/architecture-guide.html">Axis1.x
+architecture</a>. Some well established concepts from Axis 1.x, like handlers
+etc., have been preserved in this new architecture.</p>
+
+<p>Apache Axis2 not only supports SOAP 1.1 and SOAP 1.2, but it also has
+integrated support for the widely popular <a
+href="http://www.xfront.com/REST-Web-Services.html">REST style of Web
+services</a>: the same business logic implementation can offer both a WS-*
+style interface as well as a REST style interface simultaneously.</p>
+
+<p>Apache Axis2 is more efficient, more modular and more XML-oriented than
+the older version. It is carefully designed to support the easy addition of
+plug-in "modules" that extend its functionality for features such as security
+and reliability. <a
+href="http://ws.apache.org/axis2/modules/index.html">Modules</a> currently
+available or under development include:</p>
+<ul>
+ <li><a
+ href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrm"
+ target="_blank">WS-ReliableMessaging</a> - Supported by <a
+ href="http://ws.apache.org/sandesha/sandesha2/">Apache Sandesha2</a></li>
+ <li><a
+ href="http://www-128.ibm.com/developerworks/library/specification/ws-tx/#coor"
+ target="_blank">WS-Coordination</a> and <a
+ href="http://www-128.ibm.com/developerworks/library/specification/ws-tx/#atom"
+ target="_blank">WS-AtomicTransaction</a> - Supported by <a
+ href="http://ws.apache.org/kandula/">Apache Kandula2</a></li>
+ <li><a
+ href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss"
+ target="_blank">WS-Security</a> - Supported by <a
+ href="http://ws.apache.org/axis2/modules/index.html">Apache
+ Rampart</a></li>
+ <li><a href="http://www.w3.org/Submission/ws-addressing/"
+ target="_blank">WS-Addressing</a> -Module included as part of Axis2
+ core</li>
+</ul>
+
+<p>Apache Axis2 is built on <a
+href="http://ws.apache.org/commons/axiom/index.html">Apache AXIOM</a>, a new
+high performant, pull-based XML object model that was released two days
+ago.</p>
+
+<p>Axis2 comes with many new features, enhancements and industry
+specification implementations. The key features offered are as follows:</p>
+<ul>
+ <li><p style="margin-bottom: 0in"><strong>Speed</strong> - Axis2 uses its
+ own object model and StAX (Streaming API for XML) parsing to achieve
+ significantly greater speed than earlier versions of Apache Axis.</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong>Low memory foot print</strong>-
+ Axis2 was designed ground-up keeping low memory foot print in mind.</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong>AXIOM</strong> - Axis2 comes with
+ its own light-weight object model, AXIOM, for message processing which is
+ extensible, highly performant and is developer convenient.</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong><a name="Hot_Deployment"></a>Hot
+ Deployment</strong> - Axis2 is equipped with the capability of deploying
+ Web service & handlers while the system is up and running. In other
+ words, new services can be added to the system without having to shut
+ down the server. Simply drop the required Web service archive into the
+ services directory in the repository and the deployment model will
+ automatically deploy the service and make it available for use.</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong>Asynchronous Web
+ services</strong> - Axis2 now supports asynchronous Web services &
+ asynchronous Web services invocation using non-blocking clients and
+ transports .</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong>MEP Support</strong> - Axis2 now
+ comes handy with the flexibility to support Message Exchange Patterns
+ (MEPs) with in-built support for basic MEPs defined in WSDL 2.0.</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong>Flexibility</strong> - The Axis2
+ architecture gives the developer complete freedom to insert extensions
+ into the engine for custom header processing, system management, and
+ <em>anything else you can imagine</em>.</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong>Stability</strong> - Axis2
+ defines a set of published interfaces which change relatively slowly
+ compared to the rest of Axis.</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong>Component-oriented
+ Deployment</strong> - You can easily define reusable networks of Handlers
+ to implement common patterns of processing for your applications, or to
+ distribute to partners.</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong>Transport Framework</strong> - We
+ have a clean and simple abstraction for integrating and using Transports
+ (i.e., senders and listeners for SOAP over various protocols such as
+ SMTP, FTP, message-oriented middleware, etc), and the core of the engine
+ is completely transport-independent.</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong>WSDL support</strong> - Axis2
+ supports the Web Service Description Language, version <a
+ href="http://www.w3.org/TR/wsdl">1.1</a> and <a
+ href="http://www.w3.org/TR/wsdl20/">2.0</a>, which allows you to easily
+ build stubs to access remote services, and also to automatically export
+ machine-readable descriptions of your deployed services from Axis2.</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong>Add-ons</strong> - Several Web
+ services specifications have been incorporated including <a
+ href="http://ws.apache.org/wss4j/" target="_blank">WSS4J</a> for security
+ (Apache Rampart), <a href="http://ws.apache.org/sandesha/"
+ target="_blank">Sandesha</a> for reliable messaging, <a
+ href="http://ws.apache.org/kandula/" target="_blank">Kandula</a> which is
+ an encapsulation of WS-Coordination, WS-AtomicTransaction and
+ WS-BusinessActivity.</p>
+ </li>
+ <li><p style="margin-bottom: 0in"><strong>Composition and
+ Extensibility</strong> - Modules and phases improve support for
+ composability and extensibility. Modules supports composability and is
+ able to add support for new WS-* specifications in a simple and clean
+ manner. They are however not <a href="#Hot_Deployment">hot deployable</a>
+ as they change the overall behavior of the system.</p>
+ </li>
+</ul>
+
+<p>We hope you enjoy using Axis2. Please note that this is an open-source
+effort. If you feel the code could use new features or fixes, or the
+documentation can be improved, please get involved and lend us a hand! The
+Axis developer community welcomes your participation.</p>
+
+<p>Let us know what you think! Send your feedback on Axis2 to "<a
+href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a>". Make sure
+to prefix the subject of the mail with [Axis2].</p>
+
+<h2>Features of Axis2 Latest Version</h2>
+
+<p>Apache Axis2 Version 1.1 comes to you with better Axis2 Databinding
+Framework (ADB) support, <a
+href="http://www.w3.org/TR/SOAP-attachments">attachments API</a>, Spring and
+complete support for SOAP with Attachments (SwA). Check out the complete
+features list below.</p>
+
+<h3>Programming Model</h3>
+<ul>
+ <li>Improved, XML-centric client API including full WSDL and policy
+ support</li>
+ <li>Support for any message exchange pattern</li>
+ <li>Synchronous and asynchronous calls</li>
+ <li>Archived service deployment model</li>
+ <li>Archived module deployment model supporting controlled extensibility
+ with versioning support</li>
+ <li><a href="#Hot_Deployment">Hot deployment</a></li>
+ <li>WS-Policy driven code generation extensions</li>
+ <li>Flexible service life cycle model</li>
+ <li>Support for querying service's WSDL (using ?wsdl), schema (using ?xsd)
+ and policies (using ?policy)</li>
+</ul>
+
+<h3>Supported Specifications</h3>
+<ul>
+ <li>SOAP 1.1 and 1.2</li>
+ <li>Message Transmission Optimization Mechanism (MTOM), XML Optimized
+ Packaging (XOP) and SOAP with Attachments</li>
+ <li>WSDL 1.1, including both SOAP and HTTP bindings</li>
+ <li>WS-Addressing (submission and final)</li>
+ <li>WS-Policy</li>
+ <li>SAAJ 1.1</li>
+</ul>
+
+<h3>Transports</h3>
+<ul>
+ <li>HTTP</li>
+ <li>SMTP</li>
+ <li>JMS</li>
+ <li>TCP</li>
+</ul>
+
+<h3>Supported Data Bindings</h3>
+<ul>
+ <li>Axis Data Binding (ADB)</li>
+ <li>XMLBeans</li>
+ <li>JibX</li>
+ <li>JaxMe</li>
+</ul>
+
+<h2><a name="Tools_included_in this_Release">Tools Included In This
+Release</a></h2>
+
+<p>[<a href="http://ws.apache.org/axis2/tools/index.html"
+target="_blank">Download Tool Plug-ins</a>]</p>
+<ol type="1">
+ <li>Axis2 Web Application (Web App)</li>
+ <li>WSDL2WS- <a href="tools/1_1/eclipse/wsdl2java-plugin.html"
+ target="_blank">eclipse plug-in</a><a>/</a> <a
+ href="tools/1_1/CodegenToolReference.html" target="_blank">Command line
+ version</a><a>/</a><a
+ href="tools/1_1/idea/Idea_plug-in_userguide.html#WSDL2Java_Code_Generation"
+ target="_blank">IntelliJ IDEA plug-in</a><a>/</a><a
+ href="tools/1_1/maven-plugins/maven-wsdl2code-plugin.html"
+ target="_blank">Maven2 WSDL2Code Plug-in</a></li>
+ <li>Service Archive Wizard- <a
+ href="tools/1_1/eclipse/servicearchiver-plugin.html"
+ target="_blank">eclipse plug-in</a>/ <a
+ href="tools/1_1/idea/Idea_plug-in_userguide.html#Create_Service_Archive"
+ target="_blank">IntelliJ IDEA plug-in</a>/ <a
+ href="tools/1_1/maven-plugins/maven-aar-plugin.html"
target="_blank">Maven2 AAR Plug-in</a></li>
- <li>Java2WSDL- <a href="tools/1_1/maven-plugins/maven-java2wsdl-plugin.html"
- target="_blank">Maven2 Java2WSDL Plug-in</a>
- </li>
-</ol>
-
-<h2>Extension Modules</h2>
-<ul>
- <li>Apache Rampart: Supporting WS-Security (and soon WS-Policy)</li>
- <li>Apache Sandesha2: Supporting WS-Reliable Messaging</li>
-</ul>
-(Apache Axis2 comes built in with a module that supports WS-Addressing.)
-
-<h2>Known Issues and Limitations</h2>
-<ul>
- <li>JaxMe and JAXBRI data binding support is experimental</li>
- <li>AXIS2-595: Hot re-deployment in Apache Tomcat has problems</li>
- <li>Axis Data Binding (ADB) does not support the following construct(s):
- <ol>
- <li>AXIS2-983: Support for Simple Type Union and Simple Type List</li>
- <li>AXIS2-1092: Support for xs:list inside an xs:simpleType</li>
- <li>AXIS2-1093: Support for xs:union inside xs:simpleType</li>
- </ol>
- </li>
- <li>No support yet for unwrapping of doc/lit WSDL files (in stub
- generation)</li>
- <li>No support yet for rpc/encoded style WSDL documents (in stub
+ <li>Java2WSDL- <a
+ href="tools/1_1/maven-plugins/maven-java2wsdl-plugin.html"
+ target="_blank">Maven2 Java2WSDL Plug-in</a></li>
+</ol>
+
+<h2>Extension Modules</h2>
+<ul>
+ <li>Apache Rampart: Supporting WS-Security (and soon WS-Policy)</li>
+ <li>Apache Sandesha2: Supporting WS-Reliable Messaging</li>
+</ul>
+(Apache Axis2 comes built in with a module that supports WS-Addressing.)
+
+<h2>Known Issues and Limitations</h2>
+<ul>
+ <li>JaxMe and JAXBRI data binding support is experimental</li>
+ <li>AXIS2-595: Hot re-deployment in Apache Tomcat has problems</li>
+ <li>Axis Data Binding (ADB) does not support the following construct(s):
+ <ol>
+ <li>AXIS2-983: Support for Simple Type Union and Simple Type List</li>
+ <li>AXIS2-1092: Support for xs:list inside an xs:simpleType</li>
+ <li>AXIS2-1093: Support for xs:union inside xs:simpleType</li>
+ </ol>
+ </li>
+ <li>No support yet for unwrapping of doc/lit WSDL files (in stub
generation)</li>
- <li>Idea plugin shows random behavior when XMLBeans is used</li>
-</ul>
-
-<h2>Archived News</h2>
-
-<p>For information on previous Axis2 releases running up to the current
-release see <a href="archived_news.html" target="_blank">'Axis2 Archived
-News'</a> page.</p>
-For other news items from Apache Software Foundation see:
-<ul>
- <li><a
- href="http://www.apachenews.org/archives/cat_apache_webservices_index.html">Web
- services related news on the Apache News Blog Online</a></li>
- <li><a href="http://www.apachenews.org/">The Apache News Blog
- Online</a></li>
-</ul>
-</body>
-</html>
+ <li>No support yet for rpc/encoded style WSDL documents (in stub
+ generation)</li>
+ <li>Idea plugin shows random behavior when XMLBeans is used</li>
+</ul>
+
+<h2>Archived News</h2>
+
+<p>For information on previous Axis2 releases running up to the current
+release see <a href="archived_news.html" target="_blank">'Axis2 Archived
+News'</a> page.</p>
+For other news items from Apache Software Foundation see:
+<ul>
+ <li><a
+ href="http://www.apachenews.org/archives/cat_apache_webservices_index.html">Web
+ services related news on the Apache News Blog Online</a></li>
+ <li><a href="http://www.apachenews.org/">The Apache News Blog
+ Online</a></li>
+</ul>
+</body>
+</html>
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org