Return-Path: Delivered-To: apmail-ws-axis-cvs-archive@www.apache.org Received: (qmail 24343 invoked from network); 19 Jan 2006 06:51:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 19 Jan 2006 06:51:16 -0000 Received: (qmail 5991 invoked by uid 500); 19 Jan 2006 06:51:15 -0000 Delivered-To: apmail-ws-axis-cvs-archive@ws.apache.org Received: (qmail 5754 invoked by uid 500); 19 Jan 2006 06:51:13 -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 5743 invoked by uid 500); 19 Jan 2006 06:51:13 -0000 Delivered-To: apmail-ws-axis2-cvs@ws.apache.org Received: (qmail 5740 invoked by uid 99); 19 Jan 2006 06:51:13 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Jan 2006 22:51:13 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 18 Jan 2006 22:51:10 -0800 Received: (qmail 24188 invoked by uid 65534); 19 Jan 2006 06:50:49 -0000 Message-ID: <20060119065049.24187.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r370401 [1/3] - in /webservices/axis2/trunk/java/xdocs/0_94: ./ adb/ tools/idea/ Date: Thu, 19 Jan 2006 06:50:45 -0000 To: axis2-cvs@ws.apache.org From: chinthaka@apache.org X-Mailer: svnmailer-1.0.5 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: chinthaka Date: Wed Jan 18 22:50:19 2006 New Revision: 370401 URL: http://svn.apache.org/viewcvs?rev=370401&view=rev Log: applying Azeez'z patch correcting internal links on xdocs. Thanks Azeez. Good work! Modified: webservices/axis2/trunk/java/xdocs/0_94/CodegenToolReference.html webservices/axis2/trunk/java/xdocs/0_94/CodegenTools-EclipsePlugin.html webservices/axis2/trunk/java/xdocs/0_94/OMTutorial.html webservices/axis2/trunk/java/xdocs/0_94/ServiceArchiveToolReference.html webservices/axis2/trunk/java/xdocs/0_94/adb/adb-howto.html webservices/axis2/trunk/java/xdocs/0_94/axis2config.html webservices/axis2/trunk/java/xdocs/0_94/http-transport.html webservices/axis2/trunk/java/xdocs/0_94/index.html webservices/axis2/trunk/java/xdocs/0_94/mail-transport.html webservices/axis2/trunk/java/xdocs/0_94/mtom-guide.html webservices/axis2/trunk/java/xdocs/0_94/rest-ws.html webservices/axis2/trunk/java/xdocs/0_94/security-module.html webservices/axis2/trunk/java/xdocs/0_94/tools/idea/Idea_plug-in_userguide.html webservices/axis2/trunk/java/xdocs/0_94/transport_howto.html webservices/axis2/trunk/java/xdocs/0_94/userguide.html webservices/axis2/trunk/java/xdocs/0_94/userguide1.html webservices/axis2/trunk/java/xdocs/0_94/userguide2.html webservices/axis2/trunk/java/xdocs/0_94/userguide3.html webservices/axis2/trunk/java/xdocs/0_94/userguide4.html webservices/axis2/trunk/java/xdocs/0_94/userguide5.html webservices/axis2/trunk/java/xdocs/0_94/webadminguide.html Modified: webservices/axis2/trunk/java/xdocs/0_94/CodegenToolReference.html URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/CodegenToolReference.html?rev=370401&r1=370400&r2=370401&view=diff ============================================================================== --- webservices/axis2/trunk/java/xdocs/0_94/CodegenToolReference.html (original) +++ webservices/axis2/trunk/java/xdocs/0_94/CodegenToolReference.html Wed Jan 18 22:50:19 2006 @@ -62,7 +62,7 @@ -p <package name> --package The target package name. If omitted, a default package - (formed using the target  namespace of the WSDL) will be used. + (formed using the target namespace of the WSDL) will be used. @@ -192,8 +192,8 @@ packagename The target package name. If omitted, a - default package (formed using the target  namespace of the WSDL) will - be used.  Maps to the -p option of the command line tool. + default package (formed using the target namespace of the WSDL) will + be used. Maps to the -p option of the command line tool. asynconly @@ -253,15 +253,15 @@ <project name="CodegenExample" default="main" basedir="."> <target name="declare" > <taskdef name="codegen" -        classname="org.apache.axis2.tool.ant.AntCodegenTask" -        classpath="classes"/> + classname="org.apache.axis2.tool.ant.AntCodegenTask" + classpath="classes"/> </target> <target name="main" depends="declare"> <codegen -    wsdlfilename="C:\test\wsdl\CombinedService.wsdl" -    output="C:\" -    serverside="true" -    generateserverxml="true"/> + wsdlfilename="C:\test\wsdl\CombinedService.wsdl" + output="C:\" + serverside="true" + generateserverxml="true"/> </target> </project> @@ -714,19 +714,19 @@ -

 

+

-

 

+

-

 

+

-

 

+

-

 

+

Modified: webservices/axis2/trunk/java/xdocs/0_94/CodegenTools-EclipsePlugin.html URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/CodegenTools-EclipsePlugin.html?rev=370401&r1=370400&r2=370401&view=diff ============================================================================== --- webservices/axis2/trunk/java/xdocs/0_94/CodegenTools-EclipsePlugin.html (original) +++ webservices/axis2/trunk/java/xdocs/0_94/CodegenTools-EclipsePlugin.html Wed Jan 18 22:50:19 2006 @@ -56,8 +56,8 @@

Selecting the wizard and pressing the next button will start the code generator wizard. Following is the first wizard page.

-

+

Selecting the generate code from WSDL option leads to the next page. Note that the Java-to-WSDL tool is disabled.

Modified: webservices/axis2/trunk/java/xdocs/0_94/OMTutorial.html URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/OMTutorial.html?rev=370401&r1=370400&r2=370401&view=diff ============================================================================== --- webservices/axis2/trunk/java/xdocs/0_94/OMTutorial.html (original) +++ webservices/axis2/trunk/java/xdocs/0_94/OMTutorial.html Wed Jan 18 22:50:19 2006 @@ -2,7 +2,7 @@ OM Tutorial - + @@ -10,7 +10,7 @@ - +

Apache Axis2

end of header section --> @@ -118,8 +118,8 @@

The Following image shows how OM API is viewed by the user

-

+

Figure 1

@@ -214,11 +214,11 @@

Code Listing 1

-
//create the parser
+
//create the parser
XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(new FileReader(file)); -
//create the builder
+
//create the builder
OMXMLParserWrapper builder = OMXMLBuilderFactory.createStAXSOAPModelBuilder(OMAbstractFactory.getSOAP11Factory(), parser); -//get the root element (in this case the envelope)
+//get the root element (in this case the envelope)
SOAPEnvelope envelope = (SOAPEnvelope) builder.getDocumentElement();

As the example shows, creating an OM from an input stream is pretty @@ -454,7 +454,7 @@ //dump the output to console with caching envelope.serializeWithCache(writer); writer.flush();

-
 
+

 
 

The above mentioned features of the serializer forces a correct serialization even if only a part of the OM tree is serialized. The following @@ -565,7 +565,7 @@ -

 Known Limitations of OM

+

Known Limitations of OM

Inefficient Namespace serialization

@@ -595,9 +595,9 @@

Serialization of the root element provides the following XML

<x:root xmlns:x="bar" xmlns:y="bar1">
 <x:foo>
-  <y:yuck>blahblah</y:yuck>
+ <y:yuck>blahblah</y:yuck>
  <y:yuck>blah</y:yuck>
- </x:foo>
+</x:foo>
 </x:root>
 
 
@@ -605,9 +605,9 @@

However if the serialization is carried on the foo element then the following XML is produced

<x:foo xmlns:x="bar" >
-  <y:yuck " xmlns:y="bar1">blahblah</y:yuck>
-  <y:yuck " xmlns:y="bar1">blah</y:yuck>
- </x:foo>
+ <y:yuck " xmlns:y="bar1">blahblah</y:yuck>
+ <y:yuck " xmlns:y="bar1">blah</y:yuck>
+</x:foo>
 
 
Modified: webservices/axis2/trunk/java/xdocs/0_94/ServiceArchiveToolReference.html URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/ServiceArchiveToolReference.html?rev=370401&r1=370400&r2=370401&view=diff ============================================================================== --- webservices/axis2/trunk/java/xdocs/0_94/ServiceArchiveToolReference.html (original) +++ webservices/axis2/trunk/java/xdocs/0_94/ServiceArchiveToolReference.html Wed Jan 18 22:50:19 2006 @@ -27,41 +27,41 @@

If the plug-in is properly installed you should see a new wizard under the "New" section.(use the File -> New -> Other or Ctrl + N )

-

Selecting the wizard and pressing the next button will start the service generator wizard. Following is the first wizard page.

-

-

Once the class file folder  is given (which should be a folder in the file +

Once the class file folder is given (which should be a folder in the file system) the next button will be enabled.

Page 2 of the wizard requires you to locate the wsdl file. Note that the WSDL file cannot be skipped in this version of the tool.

-

Select the service.XML file in the next wizard page

-

Note that The service XML file can be generated if needed. To proceed to the service generation page, check the "generate automatically" checkbox.

-

If the automatic mode is not selected, then the wizard will directly jump to the library selection page. However if the automatic mode is selected the wizard will show the following page.

-

@@ -70,21 +70,21 @@ implementation class, type in the fully qualified class name and hit the load button to view the operations.

-

The loaded operations should be displayed in a table. Once this is displayed you can filter the methods by selecting/deselecting the methods using the checkbox at each row.

-

Further filtering can be achieved by using the "search declared methods" only checkbox.

-

Once the method selection is complete the wizard has enough information to @@ -94,28 +94,28 @@

The next step is to add the libraries. The library addition page looks like this

-

The library name (with full path) can be either typed on the text box or browsed for using the browse button.

-

Hit the Add button to add the library to the list. The added libraries should be displayed in the list box

-

-

If any library needs to be removed, highlight it in the list and hit remove. Click next to proceed to the last page of the wizard

-

The last page of the wizard asks for the output location and the output @@ -123,13 +123,13 @@

-

Once all the parameters are filled, hit the finish button to complete the wizard and generate the service archive.

-

If you see the above message, then you've successfully generated the @@ -138,15 +138,15 @@

The plugin also adds a help document to the Eclipse help system. You should see it if you go to Eclipse help content

-

+


-

 

+

-

 

+

-

 

+

-

 

+

Modified: webservices/axis2/trunk/java/xdocs/0_94/adb/adb-howto.html URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/adb/adb-howto.html?rev=370401&r1=370400&r2=370401&view=diff ============================================================================== --- webservices/axis2/trunk/java/xdocs/0_94/adb/adb-howto.html (original) +++ webservices/axis2/trunk/java/xdocs/0_94/adb/adb-howto.html Wed Jan 18 22:50:19 2006 @@ -30,7 +30,7 @@ configured writer depending on the configuration.The 'big block diagram' for the code generator architecture is depicted below

-

+

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 Modified: webservices/axis2/trunk/java/xdocs/0_94/axis2config.html URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/axis2config.html?rev=370401&r1=370400&r2=370401&view=diff ============================================================================== --- webservices/axis2/trunk/java/xdocs/0_94/axis2config.html (original) +++ webservices/axis2/trunk/java/xdocs/0_94/axis2config.html Wed Jan 18 22:50:19 2006 @@ -18,7 +18,8 @@ (module.xml) -

Global Configuration

+ +

Global Configuration

  • Writing axis2.xml
@@ -37,20 +38,22 @@
  • Listeners (Observers)
  • -

    Parameter
    +

    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 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 looks like what is shown below;

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

    Transport Receiver
    + +

    Transport Receiver
    Depending on the underline transport that axis going to be run , need to have different transport receivers so the way of adding them to the system can be -done as follows;

    +done as follows;

     
     <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">
             <parameter name="port" >6060</parameter>
    @@ -66,12 +69,12 @@
     any, then those parameters can be accessed via the corresponding transport
     receiver.
     
    -

    Transport Senders
    +

    Transport Senders
    As same as transport receivers it is possible to register transport senders in the system, and latter at the run time those senders can be used to send the messages. As an example consider Axis2 running under tomcat, then axis can use TCP transport senders to send message rather than HTTP. The way of -specifying transport senders is as follows:

    +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>
    @@ -83,9 +86,9 @@
     more parameters, and if there is any then it can be accessed via
     corresponding transport sender.
     
    -

    Phase Order
    +

    Phase Order
    The specifying order of phases in execution chain has to be done using phase -order element and it will be look like below;

    +order element and it will be look like below;

    <phaseOrder type="inflow">
              <phase name="TransportIn"/>
              .
    @@ -156,9 +159,9 @@
     
     

    In addition to that only child element allowed inside pahseOrder is phase element, which represents available phases in the execution chain. The way of -specifying phase inside phaseOrder has to be done as follows;

    +specifying phase inside phaseOrder has to be done as follows;

     <phase name="TransportIn"/>
    -name: Name of the phase.
    +name: Name of the phase.
    There are number of things that one has to keep in mind when changing pahseOrder,
    + service name: the service name will be the name of the archive file. -
    +
    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.
    -

    Parameter:
    +

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

    -

    Handler
    +

    Handler
    Handler element consists of compulsory and optional attribute and the way of -defining a handler will be look like follows;

    +defining a handler will be look like follows;

    <handler name="handler1" class="handlerClass ">
                 <order phase="userphase1" />
      </handler>
    -
    -Compulsory attributes
    -name: name of the handler
    -nlass: handler implementation class
    +
    +Compulsory attributes
    +name: name of the handler
    +nlass: 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.
    +
    +
    +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 before -handler
    +handler
    after: the handler should be invoked after the handler specified by after -handler
    +handler
    -

    Operations
    +

    Operations
    All the operations you are going to exposeby the service has to be indicated in the services.xml and the correct way of specifying that should be as -follows:

    +follows:

        <operation name="echoString">
             <module ref=" a module name "/>
             <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
         </operation>
    -
    +
    Only compulsory attribute here is name, which represent the operation name that is going to be exposed. Any operation can contains module references, any number of parameters. The most interesting is that one can register custom message receiver 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.
    - +job.
    -

    Module Configuration

    + +

    Module Configuration

    • Writing module.xml

    The description of module is specified using module.xml, each module archive file need to have module.xml in order to be a valid module. And which -has to be available in META-INF directory of the archive file.
    -A very simple module.xml is shown below:

    +has to be available in META-INF directory of the archive file.
    +A very simple module.xml is shown below:

    <module name="module1" class="org.apache.module.Module1Impl">
         <inflow>
             .
    @@ -304,9 +310,9 @@
             <parameter name="para1" locked="xsd:true">10</parameter>
         </operation>
     </module>
    -
    + name: This is a compulsory attribute and which indicates the name of the -module
    +module
    class: This is an optional attribute which indicate module implementation class, a module may or may not contain module implementation class since the module can also be a collection of handlers. If a module contains an @@ -317,16 +323,16 @@ listed parameters in the module.xml will be transformed into corresponding ModuleDescription of the module.

    -

    Flow :
    +

    Flow :
    It is possible to add handlers into a flow directly form services.xml rather than engaging a modules and the way of doing that is through flow elements. It is possible to add any number of handlers into a flow and those handlers will be available in corresponding operations flows in the service (inflow consist of two parts, one part is up to post dispatch phase and other part is -consisting of operation handlers)
    +consisting of operation handlers)
    There are four types of valid flows that can be available in services.xml, and the adding the handles into them can be done by following the above -procedure.
    +procedure.
    Valid flows:

    Modified: webservices/axis2/trunk/java/xdocs/0_94/mail-transport.html URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/mail-transport.html?rev=370401&r1=370400&r2=370401&view=diff ============================================================================== --- webservices/axis2/trunk/java/xdocs/0_94/mail-transport.html (original) +++ webservices/axis2/trunk/java/xdocs/0_94/mail-transport.html Wed Jan 18 22:50:19 2006 @@ -32,9 +32,9 @@

    Broadly speaking there are 3 ways of calling a service through mail.

    - 1. Using the simple mail server included in Axis2.
    - 2. Using a generic mail server.
    - 3. Using mailets.
    + 1. Using the simple mail server included in Axis2.
    + 2. Using a generic mail server.
    + 3. Using mailets.

    @@ -60,7 +60,7 @@

    Now that we have the environment set up, let us start pumping out some code to get the mail functionality off the ground. First we'll have a look at -it from the mail server side.
    +it from the mail server side.

            // Start the mail server using the default configurations.
             ConfigurationContext configContext = UtilsMailServer.start();
    
    Modified: webservices/axis2/trunk/java/xdocs/0_94/mtom-guide.html
    URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/mtom-guide.html?rev=370401&r1=370400&r2=370401&view=diff
    ==============================================================================
    --- webservices/axis2/trunk/java/xdocs/0_94/mtom-guide.html (original)
    +++ webservices/axis2/trunk/java/xdocs/0_94/mtom-guide.html Wed Jan 18 22:50:19 2006
    @@ -35,7 +35,7 @@
     there are times when serializing data into XML does not make sense. Web
     services users may need to transmit binary attachments of various sorts like
     images, drawings, xml docs, etc together with SOAP message. Such data are
    -often in a particular binary format.
    +often in a particular binary format.
    Traditionally, two techniques have been used in dealing with opaque data in XML;

      @@ -238,9 +238,11 @@ -

      +

      <parameter name="enableMTOM" locked="false">true</parameter>
      -
        + +

        +

            User must restart the server after setting this parameter.

          @@ -276,7 +278,8 @@ } }
            Options options = new Options();
             options.setTo(targetEPR); 
    
    Modified: webservices/axis2/trunk/java/xdocs/0_94/rest-ws.html
    URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/rest-ws.html?rev=370401&r1=370400&r2=370401&view=diff
    ==============================================================================
    --- webservices/axis2/trunk/java/xdocs/0_94/rest-ws.html (original)
    +++ webservices/axis2/trunk/java/xdocs/0_94/rest-ws.html Wed Jan 18 22:50:19 2006
    @@ -54,12 +54,12 @@
     
     

    There is an example named, userguide.clients.RESTClient.java which demonstrates the usage of the above, using the "echo"operation of the -

    +

    userguide.example1.MyService 

    of the samples.The class source will be as follows:

    -

    +
    public class RESTClient {
     
         private static String toEpr = "http://localhost:8080/axis2/services/MyService";
    @@ -111,9 +111,9 @@
     
    http://127.0.0.1:8080/axis2/services/version/getVersion

    Result can be shown in the browser as follows:

    - + -

    For example, the following request,

    +

    For example, the following request,

    http://127.0.0.1:8080/axis2/services/version/getVersion
    will be converted to the following SOAP Message for processing by Axis2. @@ -124,5 +124,7 @@ </soapenv:Body> </soapenv:Envelope>
    - + + + Modified: webservices/axis2/trunk/java/xdocs/0_94/security-module.html URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/security-module.html?rev=370401&r1=370400&r2=370401&view=diff ============================================================================== --- webservices/axis2/trunk/java/xdocs/0_94/security-module.html (original) +++ webservices/axis2/trunk/java/xdocs/0_94/security-module.html Wed Jan 18 22:50:19 2006 @@ -1,23 +1,34 @@ -The Security Module +The Security Module +

    Securing SOAP Messages with WSS4J

    -

    Axis2 comes with a module based on WSS4J [1] to provide WS-Security features. This section explains how to engage and configure the security module. Since the security module inserts handlers in the system specific pre-dispatch phase, it must be engaged globally. But it is possible to activate the security module for the inflow or the outflow when required by the service or the clients.

    +

    Axis2 comes with a module based on WSS4J [1] to provide WS-Security features. This section + explains how to engage and configure the security module. Since the security module inserts + handlers in the system specific pre-dispatch phase, it must be engaged globally. But it is + possible to activate the security module for the inflow or the outflow when required by the + service or the clients.

    + +

    The security module (security.mar) is available in the axis2.war but it is not engaged by + default.

    -

    The security module (security.mar) is available in the axis2.war but it is not engaged by default.

    First it should be engaged by inserting the following in the axis2.xml file.

    -	<module ref="security"/>
    +    <module ref="security"/>
     
    -

    The web admin interface can be used when Axis2 is deployed in a servlet container such as Apache Tomcat.

    -

    At the server it is possible to provide security on a per service basis. The configuration parameters should be set in the service.xml file of the service. The client side config parameters should be set in the axis2.xml of the client's Axis2 repository.

    +

    The web admin interface can be used when Axis2 is deployed in a servlet container such as Apache + Tomcat.

    + +

    At the server it is possible to provide security on a per service basis. The configuration + parameters should be set in the service.xml file of the service. The client side config + parameters should be set in the axis2.xml of the client's Axis2 repository.

    The security module uses two parameters:

      -
    • OutflowSecurity
    • -
    • InflowSecurity
    • +
    • OutflowSecurity
    • +
    • InflowSecurity
    The configuration that can go in each of these parameters are described below: @@ -25,145 +36,176 @@

    OutflowSecurity parameter

    This parameter is used to configure the outflow security handler. The outflow - handler can be invoked more than once in the outflow one can provide - configuration for each of these invocations. The 'action' element describes - one of these configurations. Therefore the 'OutflowSecurity' parameter can - contain more than one 'action' elements. The schema of this 'action' element - is available
    here. -

    An outflow configuration to add a timestamp, sing and encrypt - the message once, is shown in Example 1 and - Example 2 shows how to sign the message twice by chaining the outflow - handler (using two 'action' elements)

    - -

    Following is a description of the elements that can go in an 'action' -element of the OutflowSecurity parameter

    -
    +handler can be invoked more than once in the outflow one can provide +configuration for each of these invocations. The 'action' element describes +one of these configurations. Therefore the 'OutflowSecurity' parameter can +contain more than one 'action' elements. The schema of this 'action' element +is available here. +

    An outflow configuration to add a timestamp, sing and encrypt + the message once, is shown in Example 1 and + Example 2 shows how to sign the message twice by chaining the outflow + handler (using two 'action' elements)

    + +

    Following is a description of the elements that can go in an 'action' + element of the OutflowSecurity parameter

    +
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterDescriptionExample
    itemsSecurity actions for the inflowAdd a Timestamp, Sign the SOAP body and Encrypt the SOAP body
    <items> Timestamp Signature Encrypt</items>
    userThe user's nameSet alias of the key to be used to sign
    <user> bob</user>
    passwordCallbackClassCallback class used to provide the password required to create the UsernameToken or to sign the message<passwordCallbackClass> org.apache.axis2.security.PWCallback</passwordCallbackClass>
    signaturePropFileproperty file used to get the signature parameters such as crypto provider, keystore and its passwordSet example.properties file as the signature property file
    <signaturePropFile> example.properties</signaturePropFile>
    signatureKeyIdentifierKey identifier to be used in referring the key in the signatureUse the serial number of the certificate
    <signatureKeyIdentifier> IssuerSerial</signatureKeyIdentifier>
    encryptionKeyIdentifierKey identifier to be used in referring the key in encryptionUse the serial number of the certificate
    <encryptionKeyIdentifier>IssuerSerial</encryptionKeyIdentifier>
    encryptionUserThe user's name for encryption.
    <encryptionUser>alice</encryptionUser>
    encryptionSymAlgorithmSymmetric algorithm to be used for encryptionUse AES-128
    <encryptionSymAlgorithm> http://www.w3.org/2001/04/xmlenc#aes128-cbc</encryptionSymAlgorithm>
    encryptionKeyTransportAlgorithmKey encryption algorithmUse RSA-OAEP
    <parameter name="encryptionSymAlgorithm"> http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p</parameter>
    signaturePartsSign multiple parts in the SOAP messageSign Foo and Bar elements qualified by "http://app.ns/ns"
    <signatureParts> {Element}{http://app.ns/ns}Foo;{Element}{http://app.ns/ns}Bar </signatureParts>
    optimizePartsMTOM Optimize the elements specified by the XPath queryOptimize the CipherValue
    <optimizeParts> //xenc:EncryptedData/xenc:CipherData/xenc:CipherValue </optimizeParts>
    ParameterDescriptionExample
    itemsSecurity actions for the inflowAdd a Timestamp, Sign the SOAP body and Encrypt the SOAP body
    <items> + Timestamp Signature Encrypt</items>
    userThe user's nameSet alias of the key to be used to sign
    <user> bob</user>
    passwordCallbackClassCallback class used to provide the password required to create the UsernameToken or to + sign the message<passwordCallbackClass> org.apache.axis2.security.PWCallback</passwordCallbackClass>
    signaturePropFileproperty file used to get the signature parameters such as crypto provider, keystore and + its passwordSet example.properties file as the signature property file
    <signaturePropFile> + example.properties</signaturePropFile>
    signatureKeyIdentifierKey identifier to be used in referring the key in the signatureUse the serial number of the certificate
    <signatureKeyIdentifier> IssuerSerial</signatureKeyIdentifier> +
    encryptionKeyIdentifierKey identifier to be used in referring the key in encryptionUse the serial number of the certificate
    <encryptionKeyIdentifier>IssuerSerial</encryptionKeyIdentifier> +
    encryptionUserThe user's name for encryption.
    <encryptionUser>alice</encryptionUser>
    encryptionSymAlgorithmSymmetric algorithm to be used for encryptionUse AES-128
    <encryptionSymAlgorithm> + http://www.w3.org/2001/04/xmlenc#aes128-cbc</encryptionSymAlgorithm>
    encryptionKeyTransportAlgorithmKey encryption algorithmUse RSA-OAEP
    <parameter name="encryptionSymAlgorithm"> + http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p</parameter>
    signaturePartsSign multiple parts in the SOAP messageSign Foo and Bar elements qualified by "http://app.ns/ns"
    <signatureParts> + {Element}{http://app.ns/ns}Foo;{Element}{http://app.ns/ns}Bar </signatureParts> +
    optimizePartsMTOM Optimize the elements specified by the XPath queryOptimize the CipherValue
    <optimizeParts> + //xenc:EncryptedData/xenc:CipherData/xenc:CipherValue </optimizeParts>
    -
    +
    +

    InflowSecurity parameter

    -

    This parameter is used to configure the inflow security handler. The 'action' element is used to -encapsulate the configuration elements here as well. The schema of the 'action' element is available here. -Example 3 shows the configuration to decrypt, verify signature and validate timestamp.

    - - - - - - - - - - - - - - - - - - - - - - - - - +

    This parameter is used to configure the inflow security handler. The 'action' element is used to + encapsulate the configuration elements here as well. The schema of the 'action' element is + available here. + Example 3 shows the configuration to decrypt, verify signature and validate + timestamp.

    +
    ParameterDescriptionExample
    itemsSecurity actions for the inflowfirst the incoming message should be decrypted and then the signatures should be verified and should be checked for the availability of the Timestamp
    <items> Timestamp Signature Encrypt</items>
    passwordCallbackClassCallback class used to obtain password for decryption and UsernameToken verification
    <passwordCallbackClass> org.apache.axis2.security.PWCallback</passwordCallbackClass>
    signaturePropFileProperty file used for signature verification
    <signaturePropFile> sig.properties</signaturePropFile>
    decryptionPropFileProperty file used for decryption
    <decryptionPropFile> dec.properties</decryptionPropFile>
    + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterDescriptionExample
    itemsSecurity actions for the inflowfirst the incoming message should be decrypted and then the signatures should be + verified and should be checked for the availability of the Timestamp
    <items> + Timestamp Signature Encrypt</items>
    passwordCallbackClassCallback class used to obtain password for decryption and UsernameToken + verification
    <passwordCallbackClass> org.apache.axis2.security.PWCallback</passwordCallbackClass> +
    signaturePropFileProperty file used for signature verification
    <signaturePropFile> sig.properties</signaturePropFile>
    decryptionPropFileProperty file used for decryption
    <decryptionPropFile> dec.properties</decryptionPropFile>
    -
    -

    Please note that the '.properties' files used in properties such as OutSignaturePropFile are the same property files that are using in the WSS4J project. -Following shows the properties defined in a sample property file

    +
    + +

    Please note that the '.properties' files used in properties such as OutSignaturePropFile are the + same property files that are using in the WSS4J project. + Following shows the properties defined in a sample property file

    -
    -org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
    -org.apache.ws.security.crypto.merlin.keystore.type=pkcs12
    -org.apache.ws.security.crypto.merlin.keystore.password=security
    -org.apache.ws.security.crypto.merlin.keystore.alias=16c73ab6-b892-458f-abf5-2f875f74882e
    -org.apache.ws.security.crypto.merlin.alias.password=security
    -org.apache.ws.security.crypto.merlin.file=keys/x509.PFX.MSFT
    -
    +
    +        org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
    +        org.apache.ws.security.crypto.merlin.keystore.type=pkcs12
    +        org.apache.ws.security.crypto.merlin.keystore.password=security
    +        org.apache.ws.security.crypto.merlin.keystore.alias=16c73ab6-b892-458f-abf5-2f875f74882e
    +        org.apache.ws.security.crypto.merlin.alias.password=security
    +        org.apache.ws.security.crypto.merlin.file=keys/x509.PFX.MSFT
    +    
    -org.apache.ws.security.crypto.provider defines the implementation of the org.apache.ws.security.components.crypto.Crypto -interface to provide the crypto information required by WSS4J. The other properties defined are the configuration - properties used by the implementation class (org.apache.ws.security.components.crypto.Merlin). - +org.apache.ws.security.crypto.provider defines the implementation of the +org.apache.ws.security.components.crypto.Crypto +interface to provide the crypto information required by WSS4J. The other properties defined are the +configuration +properties used by the implementation class (org.apache.ws.security.components.crypto.Merlin). +

    References

    +

    1. Apache WSS4J

    -
    +
    +

    Examples

    -

    Example 1: An outflow configuration to add a timestamp, sing and encrypt - the message once

    -

    + +

    Example 1: An outflow configuration to add a timestamp, sing and encrypt + the message once

    + +

    Example 2: An outflow configuration to sign the message twice and add a timestamp

    -

    + +

    -

    Example 3: An inflow configuration to decrypt, verify signature and validate timestamp

    -

    + +

    Example 3: An inflow configuration to decrypt, verify signature and validate + timestamp

    + +

    Modified: webservices/axis2/trunk/java/xdocs/0_94/tools/idea/Idea_plug-in_userguide.html URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/tools/idea/Idea_plug-in_userguide.html?rev=370401&r1=370400&r2=370401&view=diff ============================================================================== --- webservices/axis2/trunk/java/xdocs/0_94/tools/idea/Idea_plug-in_userguide.html (original) +++ webservices/axis2/trunk/java/xdocs/0_94/tools/idea/Idea_plug-in_userguide.html Wed Jan 18 22:50:19 2006 @@ -11,7 +11,7 @@

    IntelliJ IDEA Plug-ins

    -

    [Download]

    +

    [Download]

    Introduction

    @@ -47,7 +47,8 @@

    Figure3

    -

    WSDL2Java Code Generation

    + +

    WSDL2Java Code Generation

    Select WSDL2Java codegenaration and click OK to generate code from a WSDL file. Then the following window will appear.

    @@ -89,7 +90,8 @@

    If everything has gone well you will see the above message.

    -

    Ceate Service Archive

    + +

    Ceate Service Archive

    First step is to click on Axis2 IDEA plug-in icon and select 'create a service archive' radio button.

    @@ -175,7 +177,8 @@

    If you click No, Next button will enable and you can go to next page.

    -

    Note: From this point onwards the steps are similar to + +

    Note: From this point onwards the steps are similar to all the sub wizards.

    fig12

    Modified: webservices/axis2/trunk/java/xdocs/0_94/transport_howto.html URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/0_94/transport_howto.html?rev=370401&r1=370400&r2=370401&view=diff ============================================================================== --- webservices/axis2/trunk/java/xdocs/0_94/transport_howto.html (original) +++ webservices/axis2/trunk/java/xdocs/0_94/transport_howto.html Wed Jan 18 22:50:19 2006 @@ -70,7 +70,7 @@ should ideally be only done once for the lifetime of the Transport receiver.

    -

    +

    try {
             //Create a factory 
             ConfigurationContextFactory factory = new ConfigurationContextFactory();
    @@ -80,6 +80,7 @@
             log.info(e.getMessage());
     }
    +

    Now we need some kind of a listener to listen to the requests that come in. This you will need to implement according to the transport that you are trying to build. After a message is received at the receiver you can use the