alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Axis 2 example source code file (InterfaceTemplate.xsl)

This example Axis 2 source code file (InterfaceTemplate.xsl) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Axis 2 tags/keywords

apache, asf, asf, code, even, even, foundation, just, just, license, license, see, uri, you

The Axis 2 InterfaceTemplate.xsl source code

<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements. See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership. The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License. You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied. See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text"/>

     <!-- import the databinding template-->
    <xsl:include href="databindsupporter"/>
    <!-- import the other templates for databinding
         Note  -  these names would be handled by a special
         URI resolver during the xslt transformations
     -->
    <xsl:include href="externalTemplate"/>


    <xsl:template match="/interface">
    <xsl:variable name="isSync">
    <xsl:variable name="isAsync">
    <xsl:variable name="callbackname">
    <xsl:variable name="package">
    <xsl:variable name="isbackcompatible" select="@isbackcompatible"/>

/**
 * <xsl:value-of select="@name"/>.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis2 version: #axisVersion# #today#
 */

    package <xsl:value-of select="$package"/>;

    /*
     *  <xsl:value-of select="@name"/> java interface
     */

    public interface <xsl:value-of select="@name"> {
          <xsl:for-each select="method">
            <!-- Code for in-out mep -->
         <xsl:if test="@mep='12'">
         <xsl:variable name="outputtype">
         <xsl:variable name="outputcomplextype">
         <xsl:variable name="outputparamcount">

        <!-- start of the sync block -->                                          
         <xsl:if test="$isSync='1'">

        /**
                * Auto generated method signature
                <xsl:for-each select="input/param[@type!='']">
                    * @param <xsl:value-of select="@name">
                </xsl:text>
         */

         <xsl:choose>
             <xsl:when test="$isbackcompatible='true'">
                    public <xsl:choose>void
                      <xsl:when test="string-length(normalize-space($outputcomplextype)) > 0">
                      <xsl:otherwise>
                        <xsl:text> (

                        <xsl:variable name="inputcount" select="count(input/param[@location='body' and @type!=''])"/>
                        <xsl:choose>
                            <xsl:when test="$inputcount=1">
                                <xsl:variable name="inputComplexType" select="input/param[@location='body' and @type!='']/@complextype"/>
                                <xsl:choose>
                                    <xsl:when test="string-length(normalize-space($inputComplexType)) > 0">
                                       <xsl:value-of select="$inputComplexType"/> 
                                    </xsl:when>
                                    <xsl:otherwise>
                                        <xsl:value-of select="input/param[@location='body' and @type!='']/@type"/> 
                                    </xsl:otherwise>
                                </xsl:choose>
                            </xsl:when>
                            <xsl:otherwise>
                        </xsl:choose>

                        <xsl:if test="$inputcount=1 and input/param[not(@location='body') and @type!='']">,
                        <xsl:for-each select="input/param[not(@location='body') and @type!='']">
                    <xsl:if test="position()>1">, 
                        </xsl:for-each>)
                        throws java.rmi.RemoteException
             </xsl:when>
             <xsl:otherwise>
                     public <xsl:choose>
                    <xsl:when test="$outputtype=''">void
                    <xsl:when test="$outputparamcount=1">
                    <xsl:when test="string-length(normalize-space($outputcomplextype)) > 0">
                    <xsl:otherwise>
                    </xsl:choose>
                        <xsl:text> (

                        <xsl:variable name="inputcount" select="count(input/param[@location='body' and @type!=''])"/>
                        <xsl:choose>
                            <xsl:when test="$inputcount=1">
                                <!-- Even when the parameters are 1 we have to see whether we have the
                              wrapped parameters -->
                                <xsl:variable name="inputWrappedCount" select="count(input/param[@location='body' and @type!='']/param)"/>
                                <xsl:choose>
                                    <xsl:when test="$inputWrappedCount > 0">
                                       <xsl:for-each select="input/param[@location='body' and @type!='']/param">
                                            <xsl:if test="position()>1">, 
                                       </xsl:for-each>
                                    </xsl:when>
                                    <xsl:otherwise>
                                        <xsl:value-of select="input/param[@location='body' and @type!='']/@type"/> 
                                    </xsl:otherwise>
                                </xsl:choose>
                            </xsl:when>
                            <xsl:otherwise>
                        </xsl:choose>

                        <xsl:if test="$inputcount=1 and input/param[not(@location='body') and @type!='']">,
                        <xsl:for-each select="input/param[not(@location='body') and @type!='']">
                    <xsl:if test="position()>1">, 
                        </xsl:for-each>)
                        throws java.rmi.RemoteException
             </xsl:otherwise>
         </xsl:choose>

          <!--add the faults-->
          <xsl:for-each select="fault/param[@type!='']">
          ,<xsl:value-of select="@name"/>
                </xsl:for-each>;

        </xsl:if>

       <!-- start of the async block -->
        <xsl:if test="$isAsync='1'">
         /**
            * Auto generated method signature for Asynchronous Invocations
            <xsl:for-each select="input/param[@type!='']">
                * @param <xsl:value-of select="@name">
            </xsl:text>
          */
        public void start<xsl:value-of select="@name"/>(

             <xsl:variable name="inputcount" select="count(input/param[@location='body' and @type!=''])"/>
         <xsl:choose>
                    <xsl:when test="$inputcount=1">
                        <!-- Even when the parameters are 1 we have to see whether we have the
                      wrapped parameters -->
                        <xsl:variable name="inputWrappedCount" select="count(input/param[@location='body' and @type!='']/param)"/>
                        <xsl:choose>
                            <xsl:when test="$inputWrappedCount > 0">
                               <xsl:for-each select="input/param[@location='body' and @type!='']/param">
                                    <xsl:if test="position()>1">, 
                                </xsl:for-each>
           </xsl:when>
           <xsl:otherwise>
                                <xsl:value-of select="input/param[@location='body' and @type!='']/@type"/> 
           </xsl:otherwise>
         </xsl:choose>
                    </xsl:when>
                    <xsl:otherwise>
                </xsl:choose>
                <xsl:if test="$inputcount=1">,
                <xsl:for-each select="input/param[not(@location='body') and @type!='']">
                   <xsl:value-of select="@type"/> ,
                </xsl:for-each>

            final <xsl:value-of select="$package"/>. callback)

            throws java.rmi.RemoteException;

     </xsl:if>
     </xsl:if>
        <!-- Code for in-only mep -->
       <xsl:if test="@mep='10' or @mep='11'">
       <xsl:variable name="mep">

        public void <xsl:text> (
         <xsl:variable name="inputcount" select="count(input/param[@location='body' and @type!=''])"/>
         <xsl:choose>
                <xsl:when test="$inputcount=1">
                    <!-- Even when the parameters are 1 we have to see whether we have the
                  wrapped parameters -->
                    <xsl:variable name="inputWrappedCount" select="count(input/param[@location='body' and @type!='']/param)"/>
                    <xsl:choose>
                        <xsl:when test="$inputWrappedCount > 0">
                           <xsl:for-each select="input/param[@location='body' and @type!='']/param">
                                <xsl:if test="position()>1">, 
               </xsl:for-each>
           </xsl:when>
           <xsl:otherwise>
                            <xsl:value-of select="input/param[@location='body' and @type!='']/@type"/> 
                        </xsl:otherwise>
                    </xsl:choose>
                </xsl:when>
                <xsl:otherwise>
            </xsl:choose>

           <xsl:if test="$inputcount=1 and input/param[not(@location='body') and @type!='']">,
            <xsl:for-each select="input/param[not(@location='body') and @type!='']">
                <xsl:if test="position()>1">, 
            </xsl:for-each>

        ) throws java.rmi.RemoteException
        <!--add the faults-->
        <xsl:if test="$mep='11'">
               <xsl:for-each select="fault/param[@type!='']">
               ,<xsl:value-of select="@name"/>
               </xsl:for-each>
        </xsl:if>;

        </xsl:if>

      </xsl:for-each>

       <!-- Apply other templates --> 
       //<xsl:apply-templates/>
       }
    </xsl:template>
   </xsl:stylesheet>

Other Axis 2 examples (source code examples)

Here is a short list of links related to this Axis 2 InterfaceTemplate.xsl source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.