Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 97731 invoked from network); 5 Oct 2006 09:57:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 5 Oct 2006 09:57:54 -0000 Received: (qmail 36786 invoked by uid 500); 5 Oct 2006 09:57:50 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 36668 invoked by uid 500); 5 Oct 2006 09:57:50 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 36657 invoked by uid 500); 5 Oct 2006 09:57:50 -0000 Delivered-To: apmail-ws-axis2-cvs@ws.apache.org Received: (qmail 36654 invoked by uid 99); 5 Oct 2006 09:57:50 -0000 Received: from idunn.apache.osuosl.org (HELO idunn.apache.osuosl.org) (140.211.166.84) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Oct 2006 02:57:50 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=5.0 tests=ALL_TRUSTED,NO_REAL_NAME Received: from [140.211.166.113] ([140.211.166.113:63269] helo=eris.apache.org) by idunn.apache.osuosl.org (ecelerity 2.1.1.8 r(12930)) with ESMTP id 25/72-20288-307D4254 for ; Thu, 05 Oct 2006 02:57:26 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 09C9D1A981F; Thu, 5 Oct 2006 02:56:43 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r453167 [2/6] - in /webservices/axis2/trunk/java/xdocs: ./ adb/ adb/images/ images/ images/archi-guide/ images/userguide/ jibx/ resources/ resources/schemas/ Date: Thu, 05 Oct 2006 09:56:40 -0000 To: axis2-cvs@ws.apache.org From: chatra@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20061005095643.09C9D1A981F@eris.apache.org> X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Added: webservices/axis2/trunk/java/xdocs/adb/adb-howto.html URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/adb/adb-howto.html?view=auto&rev=453167 ============================================================================== --- webservices/axis2/trunk/java/xdocs/adb/adb-howto.html (added) +++ webservices/axis2/trunk/java/xdocs/adb/adb-howto.html Thu Oct 5 02:56:34 2006 @@ -0,0 +1,379 @@ + + + + +ADB - Howto + + +

Axis2 Databinding Framework

+

This document aims to provide the architectural overview of the +Axis2 Databinding Framework (referred to as ADB from here onwards) +and be a guide to anyone who wants to use and modify ADB. The +information is presented under the following topics.

+

Content

+ +

Introduction

+

The objective of the Axis2 Databinding framework is to provide a +lightweight and simple schema compiler/ Java bean generator for +Axis2. By no means it's to be a fully functional schema compiler +like XMLBeans. Note that ADB is written in a fashion that allows it +to be used as a stand-alone schema compiler and also to be extended +to generate code for other languages.

+ +

Architectural Overview

+

ADB is built on a modular architecture that allows it to utilize +a pre configured writer depending on the configuration.The 'big +block diagram' for the code generator architecture is depicted +below

+

ADB architecture

+

ADB utilizes the WS-commons XmlSchema library for reading the +Schema. The object model for the schema comes in the form of an +XmlSchema object. The schema compiler keeps an instance of the +writer (in the default case it's the JavaBeanWriter) which actually +writes the classes. The writers may use whatever technique they +prefer, in the case of the JavaBeanWriter, it uses an XSLT +template. The SchemaCompiler also uses a typemapper object that +tells it what classnames to be used for the QNames that it +encounters. This type mapper is also part of the configuration and +the users can override the default type mapper by overriding the +property setting.

+ +

Code and Dependencies

+

As explained in the previous section, the schema compiler +depends on the WS-Commons XmlSchema library. The XSLT +transformations are dependent on the JVM's DOMimplementation +(either crimson or xerces) which means that the underlying JVM +should be 1.4 or higher. Apart from that ADB has no dependencies on +any other special jar files. The code for the schema compiler is +completely in the org.apache.axis2.schema.* +package. This package resides in the codegen module of the Axis2 +source tree.

+

Following are the important classes and files:

+
    +
  1. SchemaCompiler - The work horse that really +compiles the schema into classes.
  2. +
  3. BeanWriter - BeanWriter represents the kind of +interface the SchemaCompiler accepts as a writer. The writer needs +to handle the actual writing of the clasess
  4. +
  5. JavaBeanWriter - The default implementation of +the BeanWriter interface.
  6. +
  7. TypeMap - represents the interface that the +schema compiler looks towards to find classes
  8. +
  9. JavaTypeMap - the default implementation of +the TypeMap
  10. +
  11. BeanTemplate.xsl - the XSLtemplate the +JavaBeanWriter uses.
  12. +
  13. Schema-compile.properties - The property file +for the schema compiler
  14. +
+

The easiest way to obtain the ADB binaries is to run the maven +build for the codegen module. This will generate the +axis2-codegen-{$version}.jar inside the target +folder which is directly usable when the ADB schema compiler is +required.

+

The runtime dependancies for the ADB generated classes is in the +Axis2 ADB module. Hence to compile and work with the generated +classes the axis2-adb-{$version}.jar needs to be +in the classpath apart from other dependancies like the StAX +utilities.

+

+

Invoking the ADB Code Generator

+

As a Standalone Schema Compiler

+

ADB comes with a main class XSD2Java that allows the schemas to +be compiled just by giving the schema file reference.This main +class is pretty much primitive and does not provide much control +over the code generation process. This is bound to improve in the +near future.

+

Code generator accepts the following parameters

+
    +
  1. The Schema file name - This should be a complete file name +pointing to the local file system
  2. +
  3. The output folder name - This should be the name of a folder +within the local file system
  4. +
+

Since the main class has no validations built in, the compiler +is likely to cough up an unexpected error message if these +parameters are not supplied properly.

+ +

Through the API

+

This is the only way to harness the full potential of the schema +compiler. The current Axis2 integration of ADB happens through this +API. The most important classes and methods of the Schema compiler +are as follows.

+
    +
  • SchemaCompiler - Constructor +

    The constructor of the schema compiler expects a CompilerOptions +object. This compilerOptions object is more of a holder for the +parameters that are passed to the SchemaCompiler. The only +mandatory parameter in the CompilerOptions is the output +directory

    +
  • +
  • SchemaCompiler - Compile(XMLSchema schema) +

    The compile method to call for a single schema. The expected +object is a XMLSchema which is part of the XmlSchema library.

    +
  • +
  • SchemaCompiler - Compile(List schemaList) +

    Similar to the previous method but accepts a list of schemas +instead of one.

    +
  • +
+

For a comprehensive code sample in invoking the schema compiler +through the API, the following classes would be helpful. One would +also need an understanding of the generation modes of the ADB +schema compiler when using it through the API. Hence the following +section includes a brief description of the generation modes .

+
    +
  • org.apache.axis2.schema.XSD2Java
  • +
  • org.apache.axis2.schema.ExtensionUtility
  • +
+ +

Generation Modes

+

ADB extension provides several generation modes for the data +bound classes.

+
    +
  1. Integrated Mode +

    In this mode the classes are generated as inner classes of the +stub, message receiver or the interface. The ADB framework refrains +from writing the classes but provides a map of DOM document objects +that contains the model for the databinding class. The implementers +are free to use the models for their needs. The Axis2 codegen +engine parses these documents within its own XSLT parser to create +the necessary code.

    +

    Integrated mode is supposed to be used by the tool builders.

    +
  2. +
  3. Wrapped Mode +

    In the wrapped mode, the ADB databinder generates one class that +contains all the databound classes. This is convenient when the +number of classes need to be limited.

    +
  4. +
  5. Expanded Mode +

    This is the usual mode where the codegenerator generates a class +for each of the outer elements and the named complex types. The +command line tool (XSD2Java) always generates code in the expanded +mode.

    +
  6. +
+

The rules for generating code (described in the next section) +applies regardless of the mode. Switching these modes can be done +by passing the correct options via the CompilerOptions object. The +following is table lists the options and the consequences of using +them.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Name in OptionsDescription
writeOutputThis determines whether to write the output or not. If the flag +is on then the classes will be written by ADB. The default is +off.
wrapClassesThis determines whether to wrap the generated classes. If the +flag is on then a single class (with adb added to the end of the +specified package) will be generated. The default is off.
mapperClassPackageThe package name for the mapper class. Please see the advanced +section for details of the mapper class
helperModeThe switch that determines whether to switch to helper mode or +not. Please see the advanced section for details of the helper +mode
ns2PackageMapA map that stores the namespace name against the package name +These details are used to override the default packages
+ +

Deep into Generated Code

+

When the schema compiler is invoked (one-way or another) it +generates code depending on the following rules

+
    +
  1. All named complex types become bean classes. Any attribute or +element encapsulated in this complex type will become a field in +the generated class. Note that the support for constructs other +than the sequence and all is not yet implemented.
  2. +
  3. All top level elements become classes. This is a rather +questioning feature since unless classes are generated for the top +level elements the handling of elements become difficult and +messy!
  4. +
  5. SimpleType restrictions are handled by replacing the relevant +type with the basetype
  6. +
+

Once the code is generated according to the rules it looks like +the following. Consider the following piece of schema

+
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xmlns:tns="http://soapinterop.org/types" targetNamespace="http://soapinterop.org/types">
+<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="SOAPStruct">
+  <sequence>
+   <element name="varString" type="xsd:string"/>
+   <element name="varInt" type="xsd:int"/>
+   <element name="varFloat" type="xsd:float"/>
+  </sequence>
+ </complexType>
+<element name="myElement" type="tns:SOAPStruct"/>
+</schema>
+
+

For comprehension let us consider the expanded mode for the code +generator. Unless specifically mentioned, the rest of this document +assumes that the expanded mode of the code generation is used. This +particular schema generates the following two classes in the +designated package, which in this case would be +org.soapinterop.types. This package is derived +from the target namespace of the schema.

+
    +
  1. MyElement.java
  2. +
  3. SOAPStruct.java
  4. +
+

As explained earlier, SOAPStruct refers to the complexType. +MyElement is the class that refers to the element. Just as +expected, the SOAPStruct bean has getters and setters for +varString, varInt and varFloat which are String, int and float +respectively. MyElement on the other hand has a single field +representing the SOAPStruct object that it encapsulates.

+

The most important aspect of the generated code is that it +encapsulates two methods for creation and serializing the beans. +Note that to make this work, the generated beans implement the +org.apache.axis2.databinding.ADBBean interface

+

The creator and reader methods look like the following

+
    +
  • +
    +public javax.xml.stream.XMLStreamReader
    +    getPullParser(javax.xml.namespace.QName qName)
    +
    +

    This method returns a pull parser that throws the right events +for this particular object. However there is a subtle difference +between element based classes and complexType based classes

    +
      +
    1. An element based bean class (like MyElement.java in the +example) will ignore the passed in QName. +Instead of using the passed in QName it'll utilize it's own QName +which is embedded in the class under the constant MY_QNAME, during +the code generation. Hence it is usual to call getPullparser with a +null for the elements.
    2. +
    3. A ComplexType based bean class(like SOAPStruct.java in the +example) will use the passed in QName to return an instance of the +ADBpullparser. This will effectively wrap the elements inside with +an element having the passed QName
    4. +
    +
  • +
  • +
    + public static [Object].Factory. 
    +             parse(javax.xml.stream.XMLStreamReader reader) 
    +             throws java.lang.Exception 
    +
    +

    This method returns a populated instance of the class in +question. Note that

    +
    +[Object]
    +
    +will be replaced by the actual class that contains this method. Say +for SOAPStruct the method looks like +
    +public static SOAPStruct.Factory. 
    +                parse(javax.xml.stream.XMLStreamReader reader) 
    +                throws java.lang.Exception
    +
    +

    Also note that the above parse method is available in the +Factory class generated into the relevant top +level class.Hence one will have to get the static Factory instance +before calling the parse methods

    +
  • +
+ +

An Example!

+

Consider the following XML fragment

+
+<myElement>
+  <varInt>5</varInt>
+  <varString>Hello</varString>
+  <varFloat>3.3</varFloat>
+</myElement>
+
+

Enthusiastic readers might already have figured out that this +piece of XML complies to the Schema mentioned above. The following +piece of code shows how to build a populated instance of MyElement +with this fragment of XML

+
+XMLStreamReader reader = XMLInputFactory.newInstance().
+                                createXMLStreamReader(
+                                        new ByteArrayInputStream(xmlString.getBytes()));
+MyElement elt = MyElement.Factory.parse(reader);
+
+

Although this example takes on the tedious effort of creating a +reader out of the String, inside the Axis2 environment an +XMLStreamReader can be direclty asked from the OMElement! Hence the +parse method becomes a huge advantage for hassle free object +creation.

+

Similarly the reader obtained from the object can also be +utilized as needed. The following code fragment shows how to +utilize the getPullParser method to create an OMElement

+
+XMLStreamReader reader = elt.getPullParser(null);
+OMElement omElt =  new StAXOMBuilder(reader).getDocumentElement();
+
+

That's all to it! If you are interested in learning more on ADB +the following documents may also be helpful. However be sure to +check the limitations section that follows if you are planning to +use ADB for something serious.

+ +

Known Limitations

+

ADB is meant to be a 'Simple' databinding framework and was not +meant to compile all types of schemas. The following limitations +are the most highlighted.

+
    +
  1. Complex Extensions and Restrictions, Simple Extensions and +Restrictions are not supported.
  2. +
+

+

Want to Learn More?

+ +
+ + Added: webservices/axis2/trunk/java/xdocs/adb/adb-tweaking.html URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/adb/adb-tweaking.html?view=auto&rev=453167 ============================================================================== --- webservices/axis2/trunk/java/xdocs/adb/adb-tweaking.html (added) +++ webservices/axis2/trunk/java/xdocs/adb/adb-tweaking.html Thu Oct 5 02:56:34 2006 @@ -0,0 +1,112 @@ + + + +ADB Tweaking Guide + + +

ADB Tweaking Guide

+

This document explains available mechanisms to extend ADB and +possibly adopt it to compile schemas to support other +languages.

+

Content

+ + +

Introduction

+

ADB is written with future extensions in mind, with a clear and +flexible way to extend or modify it's functionality. Available +mechanisms to extend ADB and possibly adopt it to compile schemas +to support other languages are described below.

+ +

Know the Configuration

+

The configuration for the ADB framework is in the +schema-compile.properties file found in the +org.apache.axis2.databinding.schema package. This +properties file has the following important properties

+
    +
  • schema.bean.writer.class +

    This is the writer class. This is used by the schema compiler to +write the beans and should implement the +org.apache.axis2.schema.writer.BeanWriter +interface. The schema compiler delegates the bean writing task to +the specified instance of the BeanWriter.

    +
  • +
  • schema.bean.writer.template +

    This specifies the template to be used in the BeanWriter. The +beanWriter author is free to use any mechanism to write the classes +but the default mechanism is to use a xsl template. This property +may be left blank if the BeanWriter implementation does not require +a template.

    +
  • +
  • schema.bean.typemap +

    This is the type map to be used by the schema compiler. it +should be an implementation of the +org.apache.axis2.schema.typemap interface. The +default typemap implementation encapsulates a hashmap with type +QName to Class name string mapping.

    +
  • +
+ +

The First Tweak - Generate Plain Java Beans

+

The first, most simple tweak for the code generator could be to +switch to plain bean generation. The default behavior of the ADB +framework is to generate ADBBeans, but most users, if they want to +use ADB as a standalone compiler, would love to have plain java +beans. This can in fact be done by simply changing the template +used.

+

The template for plain java beans is already available in the +org.apache.axis2.schema.template package. To make +this work replace the +/org/apache/axis2/databinding/schema/template/ADBBeanTemplate.xsl +with the +/org/apache/axis2/databinding/schema/template/PlainBeanTemplate.xsl +in the schema-compile.properties.

+

Congratulations! You just tweaked ADB to generate plain java +beans.

+

To generate custom formats, the templates need to be modified. +The schema for the xml generated by the JavaBeanWriter is available +in the source tree under the Other directory in the codegen module. +Advanced users with knowledge of XSLT can easily modify the +templates to generate code in their own formats.

+ +

A More Advanced Tweak - Generate Code for Another Language

+

To generate code for another language, there are two main +components are to be written.

+
    +
  • The BeanWriter +

    Implement the BeanWriter interface for this class. A nice +example is the +org.apache.axis2.schema.writer.JavaBeanWriter +which has a lot of reusable code. In fact if the language is OOP +based (such as C# or even C++), one would even be able to extend +the JavaBeanWriter itself.

    +
  • +
  • The TypeMap +

    Implement the TypeMap interface for this class. The +org.apache.axis2.schema.typemap.JavaTypeMap class +is a simple implementation for the typemap where the QName to class +name strings are kept inside a hashmap instance. This technique is +fairly sufficient and only the type names would need to change to +support another language.

    +
  • +
+

Surprisingly this is enough to have other language support for +ADB. Change the configuration and you are ready to generate code +for other languages!

+

This tweaking guide is supposed to be a simple guideline for +anyone who wishes to dig deep into the mechanics of the ADB code +generator. Users are free experiment with it and modify the schema +compiler accordingly to their needs. Also note that the intention +of this section is not to be a step by step guide to +custom code generation. Anyone who wish to do so would need to dig +into the code and get their hands dirty!

+
+ + Added: webservices/axis2/trunk/java/xdocs/adb/images/ADB.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/adb/images/ADB.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/adb/images/ADB.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/axis2config.html URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/axis2config.html?view=auto&rev=453167 ============================================================================== --- webservices/axis2/trunk/java/xdocs/axis2config.html (added) +++ webservices/axis2/trunk/java/xdocs/axis2config.html Thu Oct 5 02:56:34 2006 @@ -0,0 +1,444 @@ + + + + + Axis2 Configuration Documents + + + +

Axis2 Configuration Guide

+ +

In Axis2 there are three kinds of configuration files to configure the +system. First one is to configure whole system (global configuration), second +one is to configure a service (service configuration) and the third one is to +configure a module (module configuration). This document will explain in +detail the above configurations.

+ +

Content

+ + +

Global Configuration

+
    +
  • Writing axis2.xml
  • +
+ +

All the configurations that require starting Axis2 is obtained from the +axis2.xml. The way of specifying them is very simple and easy. The document +is all about the proper way of specifying the configurations in axis2.xml. +There are six top level elements that can be seen in the configuration file +and those can be listed as follows:

+ + + +

Parameter

+ +

In Axis2 a parameter is nothing but name value pair. Each and every top +level parameter available in the axis2.xml (direct sub elements of root +element) will be transformed into properties in AxisConfiguration. Therefore, +the top level parameters in the configuration document can be accessed via +AxisConfiguration in the running system. The correct way of defining a +parameter looks like what is shown below:

+
 
+  <parameter name="name of the parameter" >parameter value </parameter>
+ + +

Transport Receiver

+ +

Depending on the underlying transport that Axis2 is going to run on, you +need to have different transport receivers. The way of adding them to the +system is as follows:

+
 
+<transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">
+        <parameter name="port" >6060</parameter>
+ </transportReceiver> 
+ 
+The above elements shows the way of defining transport receivers in +axis2.xml. Here the name attribute of the 'transportReceiver' element is the +name of transport receiver. It can be http, tcp, smtp, commonshttp etc, and +when the system starts up or when you set the transport at the client side, +one can use these transport names to load the appropriate transport. Class +attribute is to specify actual java classes which implements required +interfaces for the transport. Any transport can have zero or more parameters, +and if there are any, then those parameters can be accessed via the +corresponding transport receiver. + +

Transport Sender

+ +

As same as transport receivers, it is possible to register transport +senders in the system, and later at the run time, those senders can be used +to send the messages. As an example, consider Axis2 running under Apache +Tomcat. Then Axis2 can use TCP transport senders to send messages rather than +HTTP. The way of specifying transport senders is as follows:

+
 
+<transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="xsd:false">HTTP/1.0</parameter>
+ </transportSender> 
+ 
+name: Name of the transport (it is possible to have +http and http1 as transport name) + +

class: Implementation class of the corresponding +transport. As same as transport receivers, transport senders can have zero or +more parameters, and if there is any then it can be accessed via +corresponding transport sender.

+ + +

Phase Order

+ +

The specifying order of phases in execution chain has to be done using +phase order element and it will look like below:

+
<phaseOrder type="inflow">
+         <phase name="TransportIn"/>
+         .
+         .
+</phaseOrder>   
+ +

The most interesting thing is that you can add handlers here as well. If +you want to add a handler which should go in to that phase you can directly +do that by adding a handler element into it. In addition to that there is no +hard coding work for the handler chain anywhere in Axis2 (at any Axis*). So +all those configurations are also done in the phase order element. The +complete configurations will look as follows:

+
<phaseOrder type="inflow">
+        <!--   Global phases    -->
+         <phase name="Transport">
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+        </phase>
+        <phase name="Security"/>
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+
+            <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <!--   Global phases   -->
+        <!--   After the Dispatch phase module author or service author can add any phase he wants    -->
+        <phase name="OperationInPhase"/>
+    </phaseOrder>
+    <phaseOrder type="outflow">
+        <!--   user can add his own phases to this area  -->
+        <phase name="OperationOutPhase"/>
+        <!--  Global phases  -->
+        <!--  these phases will run irrespective of the service  -->
+        <phase name="MessageOut"/>
+        <phase name="PolicyDetermination"/>
+    </phaseOrder>
+    <phaseOrder type="INfaultflow">
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+
+            <handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+
+            <handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+
+            <handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+            <handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher">
+                <order phase="Dispatch"/>
+            </handler>
+        </phase>
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationInFaultPhase"/>
+    </phaseOrder>
+    <phaseOrder type="Outfaultflow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationOutFaultPhase"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+    </phaseOrder>
+ +

type: the attribute represents the type of the flow and +which can only be one of the following:

+
    +
  • inflow
  • +
  • outflow
  • +
  • INfaultflow
  • +
  • Outfaultflow
  • +
+ +

In addition to that, the only child element is allowed inside "phaseOrder" +is "phase" element which represents available phases in the execution chain. +The way of specifying phases inside "phaseOrder" is as follows:

+
 <phase name="Transport"/>
+ +

name: Name of the phase.
+

+ +

There are a number of things that one has to keep in mind when changing a +phaseOrder:

+ +

For the phaseOrder types "inflow" and +"INfaultflow"

+
    +
  • All the phases which are above the "Dispatch" phase including the + "Dispatch" phase are known as "Global phases" and one can add any number + of new phases here and these will be concidered global.
  • +
  • In these two phaseOrder types the phases added after the "Dispatch" + phase are known as "Operation phases".
  • +
+ +

For the phaseOrder types "outflow" and +"Outfaultflow"

+
    +
  • All the phases which are below the "MessageOut" phase, including the + "MessageOut" phase are known as "Global phases", and you can add new + phases according to your requirement.
  • +
  • The phases added before the "MessageOut" phase are known as "Operation + phases".
  • + +

    Note : If you closely look at the default axis2.xml you + will be able to clearly identify that.

    +
+ + +

Module References

+ +

If you want to engage a module, system wide, you can do it by adding top +level module element in axis2.xml. It should look like following:

+
<module ref="addressing"/>  
+ +

ref: the module name which is going to be engage, system +wide.

+ + +

Listeners (Observers)

+ +

In Axis2, AxisConfiguration is observable so that one can register +observers into that, and they will be automatically informed whenever a +change occurs in AxisConfiguration. In the current implementation, the +observers are informed of the following events:

+
    +
  • Deploying a Service
  • +
  • Removing a service
  • +
  • Activate/Inactivate Service
  • +
  • Module deploy
  • +
  • Module remove
  • +
+Registering Observers is very useful for additional features such as RSS feed +generation which will provide service information to subscribers. The correct +way of registering observers should be like below: +
<listener class="org.apache.axis2.ObserverIMPL">
+    <parameter name="RSS_URL" >http://127.0.0.1/rss</parameter>
+  </listener>
+ +

class: Represents an Implementation class of observer, +and it should be noted that the implementation class should implement +AxisObserver interface, and the class has to be available in the classpath. +

+ +

Service Configuration

+
    +
  • Writing services.xml
  • +
+ +

The description of services are specified using services.xml. Each +service archive file needs to have a services.xml in order to be a valid +service and it should be available in the META-INF directory of the archive +file. A very simple services.xml is shown below:

+
<service name="name of the service" scope="name of the scope" targetNamespace="target namespase for the service">
+    <description> The description of the service  </description>  
+
+    <transports> 
+       <transport>HTTP</transport>
+    </transports>
+    
+    <schema schemaNamespace="schema namespace"/> 
+     
+    <messageReceivers>
+            <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
+                             class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+    </messageReceivers>
+     
+     <parameter name="ServiceClass" locked="xsd:false">org.apache.axis2.sample.echo.EchoImpl</parameter>
+    
+    <operation name="echoString" mep="operation MEP"> 
+        <actionMapping>Mapping to action</actionMapping>
+        <module ref=" a module name "/>
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </operation>
+  </service>
+ +

name: The service name will be the name of the +archive file, if the .aar file contains only one service, or else the name of +the service will be the name given by the name attribute.

+ +

scope: The time period in which runtime information of +deployed services will be available. Scope is of several types- +"Application", "SOAPSession", "TransportSession", "Request"

+ +

targetNamespace: Target name space of the service, and +this value will be used when generating the wsdl

+ +

description: This is an optional element if you +want to display any description about the service via Axis2 web-admin module, +then the description can be specified here.

+ +

transports : The transports that the service is going to +be exposed to. This is an optional element. If the transport element is not +present then the service will be exposed in all the transports available in +the system. The transport child element is there to specify the transport +prefix (the name of the transport specified in axis2.xml)

+ +

parameters: A services.xml can have any number of top level +parameters and all the specified parameters will be transformed into service +properties in the corresponding AxisService. There is a compulsory parameter +in a services.xml called ServiceClass which specifies the java class which +really does the job and the class will be loaded by the MessageReceiver.

+ +

operations : If the service impl class is java, then all the public +methods in that service will be exposed and if the user wants to override it +then he has to add the "operation" tag and override it. In the case of +Non-Java or if you do not have a service class, then all the operations the +user wants to expose by the service has to be indicated in the services.xml +and the correct way of specifying is as follows:

+
    <operation name="echoString">
+        <module ref=" a module name "/>
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </operation>
+ +

The only compulsory attribute here is "name", which represents the +operation name that is going to be exposed. Any operation can contain module +references as well as any number of parameters. The most interesting thing is +that one can register custom message receivers per operation, then the +registered message receiver will be the message receiver for the +corresponding operation. If one does not specify the message receiver, then +the default message receiver will do the job.
+

+ +

Module Configuration

+
    +
  • Writing module.xml
  • +
+ +

The description of the module is specified using the module.xml. Each +module archive file needs to have a module.xml in order to be a valid module, +and it should be available in the META-INF directory of the archive file.
+

+ +

A very simple module.xml is shown below:

+
<module class="org.apache.module.Module1Impl">
+    <inflow>
+        .
+        .
+    </inflow>
+    <outflow>
+        .
+        .
+    </outflow>
+
+    <Outfaultflow>
+        .   
+        .
+    </Outfaultflow>
+
+    <INfaultflow>
+        .         
+        .
+    </INfaultflow>
+
+    <operation name="creatSeq" mep="MEP_URI_IN_OUT">
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+        <parameter name="para1" locked="xsd:true">10</parameter>
+    </operation>
+</module>
+ +

class: This is an optional attribute which indicates the +module implementation class. A module may or may not contain a module +implementation class since the module can also be a collection of handlers. +If a module contains an implementation class which implements the +org.apache.axis2.modules.Module interface where at the deployment time its +init(); method will be called.

+ +

parameter: A module can contain any number of parameters and all +the listed parameters in the module.xml will be transformed into +corresponding AxisModule of the module.

+ +

flow: Defining of handlers in a module has to be done inside flows, +and there are four types of flows as listed below.

+ +

It is possible to add any number of handlers into a flow and those +handlers will be available in corresponding chains at the runtime when they +are engaged .

+
    +
  • inflow
  • +
  • outflow
  • +
  • INfaultflow
  • +
  • Outfaultflow
  • +
+ +

operations: If a module wants to add an operation when it is +engaged into a service it can be done by adding an operation tag in +module.xml and the way of specifying the operation is the same as operation +in services.xml.

+ +

handler: The Handler element consists of compulsory and optional +attributes and the way of defining a handler will look as follows:

+
<handler name="handler1" class="handlerClass ">
+            <order phase="userphase1" />
+ </handler>
+ +

Compulsory Attributes
+name: name of the handler
+class: handler implementation class
+phase: name of the phase that the handler should stay in the execution +chain
+
+Optional Attributes :
+phaseLast: to indicate the handler is last handler of the phase
+phaseFirst: to indicate the handler is first handler of the phase.
+before : the handler should be invoked before the handler specified by +the before handler
+after: the handler should be invoked after the handler specified by +the after handler
+

+ +


+

+ + Added: webservices/axis2/trunk/java/xdocs/http-transport.html URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/http-transport.html?view=auto&rev=453167 ============================================================================== --- webservices/axis2/trunk/java/xdocs/http-transport.html (added) +++ webservices/axis2/trunk/java/xdocs/http-transport.html Thu Oct 5 02:56:34 2006 @@ -0,0 +1,196 @@ + + + + + HTTP transports + + + +

HTTP Transport

+ +

This document is all about HTTP sender and HTTP receiver, and how they +work in Axis2.

+ +

Send your feedback or questions to: axis-dev@ws.apache.org. Prefix +subject with [Axis2]. To subscribe to mailing list see here.

+ +

Content

+ + + +

CommonsHTTPTransportSender

+ +

This is the default transport sender that is used in Server API as well as +Client API. As the name implies it is based on commons-httpclient-3.0.1. In +order to acquire the maximum flexibility, this sender has implemented POST +interface and GET interface. GET and HTTP interfaces are also involved in axis2 REST support.

+ +

Chunking and KeepAlive support is also integrated via the +facilities provided by commons-httpclient along with HTTP 1.1 support.

+ +

<transportSender/> element is used to define transport senders in +the axis2.xml as follows:

+
<transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
<parameter name="Transfer-Encoding">chunked</parameter>
</transportSender>
+ +

Above code snippet shows a simplest configuration of the transport +sender for common use. <parameter/> element introduces the additional parameters that +should be compliant with the sender. HTTP PROTOCOL version sets as HTTP/1.0 +or HTTP/1.1. Default version is HTTP/1.1. It should be noted that chunking +support is available only for HTTP/1.1. Thus, even if the user turn on "chunking", if the HTTP version is 1.0, this setting will be ignored by the transport framework. KeepAlive property is default in version 1.1.

+ +

Some absolute properties are provided in runtime such as character encoding style (UTF-8, UTF-16 etc) etc, are provided via MessageContext.

+ + +

HTTPS support

+It should be noted that CommonsHTTPTransportSender can be used to communicate +over https. +
<transportSender name="https" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
<parameter name="Transfer-Encoding">chunked</parameter>
</transportSender>
+ +

Please note that https works only when the server does not expect to +authenticate the clients and where the server has the clients' public keys in +its trust store.

+ + + +

Timeout Configuration

+ +

There are two timeout exists in transport level. They are called, Socket +timeout and Connection timeout. This can be configured in deployment time or +in run time. In deployment time, user has to add the following lines in +axis2.xml.

+ +

For Socket timeout:

+
<parameter name="SO_TIMEOUT" locked="false">some_int_value</parameter>
+ +

For Connection timeout:

+
 <parameter name="CONNECTION_TIMEOUT" locked="false">some_int_value</parameter>
+
+In runtime it's set as follows in the Stub. +
...
+Options options = new Options();
+options.setProperty(HTTPConstants.SO_TIMEOUT,new Integer(timeOutInMilliSeconds));
+options.setProperty(HTTPConstants.CONNECTION_TIMEOUT,new Integer(timeOutInMilliSeconds));
+
+// or
+
+options.setTimeOutInMilliSeconds(timeOutInMilliSeconds);
+...
+ + +

HTTP Version Configuration

+ +

The default HTTP version is 1.1. There are two methods in which user can +change HTTP version to 1.0

+
    +
  1. By defining version in Axis2.xml as shown below.
  2. +
     <parameter name="PROTOCOL" locked="false">HTTP/1.0</parameter>
    +
  3. Or user can change version at runtime by doing the following
  4. +
    ...
    +options.setProperty(org.apache.axis2.context.MessageContextConstants.HTTP_PROTOCOL_VERSION,org.apache.axis2.transport.http.HTTPConstants.HEADER_PROTOCOL_10);
    +...
    +
+ + +

Proxy Authentication

+ +

Commons-http client has the inbuilt ability to support proxy authentication. Axis2 uses deployment time and runtime mechanisms to authenticate proxies. +In deployment time, user has to change the Axis2.xml as follows. This +authentication will be available in http and https.

+
<transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+        <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
+        <parameter name="PROXY" proxy_host="proxy_host_name" proxy_port="proxy_host_port" locked="true>userName:domain:passWord</parameter>
+</transportSender>
+ +

For a particular proxy, if authentication is not available fill +"userName:domain:passWord"as "anonymous:anonymous:anonymous".

+ +

At runtime user can override the PROXY settings with an Object of +HttpTransportProperties.ProxyProperties. On the stub initiate an object of +prior and set it to the MessageContext's property bag via +HttpConstants.PROXY. On the stub, it depicts as follows,

+
...
+Options options = new Options();
+....
+
+HttpTransportProperties.ProxyProperties proxyProperties = new HttpTransportProperties.new ProxyProperties();
+proxyProperties.setProxyHostName(....);
+proxyProperties.setProxyPort(...);
+...
+options.setProperty(HttpConstants.PROXY, proxyProperties);
+....
+ +

The above code would eventually override the deployment proxy +configuration settings.

+ + + +

Basic,Digest and NTLM Authentication

+ +

HttpClient supports three different types of http authentication schemes: Basic, Digest and NTLM. Based on the challenge provided by server httpclient automatically selects the authentication scheme the request should be authenticated with. The most secure will be NTLM and least secure will be Basic.

+ +

NTLM is the most complex of the authentication protocols supported by +HttpClient. It requires an instance of NTCredentials be available for the +domain name of the server or the default credentials. Note that since NTLM +does not use the notion of realms HttpClient uses the domain name of the +server as the name of the realm. Also note that the username provided to the +NTCredentials should not be prefixed with the domain - ie: "axis2" is correct +whereas "DOMAIN\axis2" is not correct.

+ +

There are some significant differences in the way that NTLM works compared +with basic and digest authentication. These differences are generally handled +by HttpClient, however having an understanding of these differences can help +avoid problems when using NTLM authentication.

+
    +
  1. NTLM authentication works almost exactly the same as any other form of + authentication in terms of the HttpClient API. The only difference is + that you need to supply 'NTCredentials' instead of + 'UsernamePasswordCredentials' (NTCredentials actually extends + UsernamePasswordCredentials so you can use NTCredentials right throughout + your application if need be).
  2. +
  3. The realm for NTLM authentication is the domain name of the computer + being connected to, this can be troublesome as servers often have + multiple domain names that refer to them. Only the domain name that + HttpClient connects to (as specified by the HostConfiguration) is used to + look up the credentials. It is generally advised that while initially + testing NTLM authentication, you pass the realm in as null which is used + as the default.
  4. +
  5. NTLM authenticates a connection and not a request, so you need to + authenticate every time a new connection is made and keeping the + connection open during authentication is vital. Due to this, NTLM cannot + be used to authenticate with both a proxy and the server, nor can NTLM be + used with HTTP 1.0 connections or servers that do not support HTTP + keep-alives.
  6. +
+ +

Axis2 also allows to add a custom Authentication Scheme to httpclient.

+ +

The static inner bean Authenticator of HttpTransportProperties will hold the state of the server to be authenticated with. Once filled it has to be set to the Options's property bag with the key as HTTPConstants.AUTHENTICATE. Following code snippet shows the way of configuring the transport framework to use Basic Authentication

+ +
+ ...
+ Options options = new Options();
+ 
+ HttpTransportProperties.Authenticator
+                       auth = new HttpTransportProperties.Authenticator();
+            auth.setUsername("username");
+            auth.setPassword("password");
+            // set if realm or domain is know
+
+ options.setProperty(org.apache.axis2.transport.http.HTTPConstants.BASIC_AUTHENTICATE,auth);
+ ...
+ 
+ + + Added: webservices/axis2/trunk/java/xdocs/images/Architecture.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/Architecture.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/Architecture.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/AxisService.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/AxisService.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/AxisService.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/Component.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/Component.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/Component.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/OM001.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/OM001.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/OM001.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/OM002.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/OM002.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/OM002.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/OM003.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/OM003.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/OM003.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/OM004.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/OM004.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/OM004.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/OM005.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/OM005.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/OM005.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/OM006.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/OM006.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/OM006.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/OM007.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/OM007.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/OM007.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/OM008.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/OM008.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/OM008.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/OM1.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/OM1.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/OM1.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/ServerSideFault.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/ServerSideFault.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/ServerSideFault.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/ServiceDesc.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/ServiceDesc.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/ServiceDesc.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/TotalArch.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/TotalArch.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/TotalArch.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/WomBuilder.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/WomBuilder.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/WomBuilder.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/activate.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/activate.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/activate.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/admin.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/admin.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/admin.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/adminlogin.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/adminlogin.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/adminlogin.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/adminmain.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/adminmain.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/adminmain.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/ant.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/ant.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/ant.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi-guide/CodegenArchitecture-new.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi-guide/CodegenArchitecture-new.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi-guide/CodegenArchitecture-new.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi-guide/CodegenArchitecture.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi-guide/CodegenArchitecture.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi-guide/CodegenArchitecture.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi-guide/all.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi-guide/all.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi-guide/all.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi-guide/big-picture.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi-guide/big-picture.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi-guide/big-picture.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi-guide/contexts.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi-guide/contexts.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi-guide/contexts.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi-guide/phases.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi-guide/phases.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi-guide/phases.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi-guide/soap-processing.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi-guide/soap-processing.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi-guide/soap-processing.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi-guide/soap.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi-guide/soap.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi-guide/soap.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi001.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi001.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi001.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi002.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi002.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi002.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi003.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi003.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi003.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi004.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi004.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi004.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi005.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi005.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi005.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi006.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi006.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi006.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi007.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi007.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi007.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi008.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi008.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi008.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi009.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi009.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi009.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi010.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi010.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi010.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi011.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi011.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi011.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi012.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi012.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi012.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi013.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi013.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi013.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi014.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi014.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi014.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi015.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi015.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi015.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi016.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi016.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi016.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi017.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi017.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi017.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi018.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi018.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi018.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi019.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi019.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi019.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi020.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi020.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi020.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi021.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi021.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi021.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi022.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi022.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi022.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi023.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi023.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi023.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi024.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi024.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi024.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi025.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi025.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi025.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/archi026.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/archi026.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/archi026.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/arrow_left.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/arrow_left.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/arrow_left.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/arrow_right.gif URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/arrow_right.gif?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/arrow_right.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/axis.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/axis.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/axis.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/ayncresult.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/ayncresult.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/ayncresult.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/call.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/call.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/call.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/callback.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/callback.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/callback.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/cases.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/cases.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/cases.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clientAPi.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clientAPi.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clientAPi.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clientside.png URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clientside.png?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clientside.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clip_image002.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clip_image002.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clip_image002.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clip_image004.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clip_image004.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clip_image004.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clip_image006.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clip_image006.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clip_image006.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clip_image008.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clip_image008.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clip_image008.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clip_image010.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clip_image010.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clip_image010.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clip_image012.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clip_image012.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clip_image012.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clip_image014.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clip_image014.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clip_image014.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clip_image016.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clip_image016.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clip_image016.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clip_image018.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clip_image018.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clip_image018.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clip_image020.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clip_image020.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clip_image020.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: webservices/axis2/trunk/java/xdocs/images/clip_image022.jpg URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/images/clip_image022.jpg?view=auto&rev=453167 ============================================================================== Binary file - no diff available. Propchange: webservices/axis2/trunk/java/xdocs/images/clip_image022.jpg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream --------------------------------------------------------------------- To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org For additional commands, e-mail: axis-cvs-help@ws.apache.org