|
|
Axis 2 example source code file (SkeletonInterfaceTemplate.xsl)
This example Axis 2 source code file (SkeletonInterfaceTemplate.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.
The Axis 2 SkeletonInterfaceTemplate.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"/>
<xsl:template match="/interface">
/**
* <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 skeleton interface for the axisService
*/
public interface <xsl:value-of select="@name"> {
<xsl:variable name="isbackcompatible" select="@isbackcompatible"/>
<xsl:for-each select="method">
<xsl:variable name="count">
<xsl:variable name="outputtype">
<xsl:variable name="outputcomplextype">
<xsl:variable name="outputparamcount">
<!-- regardless of the sync or async status, the generated method signature would be just a usual
java method -->
/**
* Auto generated method signature
<xsl:choose>
<xsl:when test="$isbackcompatible = 'true'">
<xsl:variable name="inputcount" select="count(input/param[@location='body' and @type!=''])"/>
<xsl:choose>
<xsl:when test="$inputcount=1">
<!-- should provide the inter complex type to method signature if is available -->
<xsl:variable name="inputComplexType" select="input/param[@location='body' and @type!='']/@complextype"/>
<xsl:choose>
<xsl:when test="string-length(normalize-space($inputComplexType)) > 0">
* @param<xsl:text>
</xsl:when>
<xsl:otherwise>
* @param<xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<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">
* @param<xsl:text>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
* @param<xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
*/
<xsl:choose>
<xsl:when test="$isbackcompatible = 'true'">
public <xsl:choose>void
<xsl:when test="string-length(normalize-space($outputcomplextype)) > 0">
<xsl:when test="$outputtype!=''">
</xsl:choose>
(
<xsl:variable name="inputcount" select="count(input/param[@location='body' and @type!=''])"/>
<xsl:choose>
<xsl:when test="$inputcount=1">
<!-- should provide the inter complex type to method signature if is available -->
<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:when>
<xsl:otherwise>
public <xsl:choose>
<xsl:when test="$count=0 or $outputtype=''">void
<xsl:when test="$outputparamcount=1">
<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">
<!-- 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:otherwise>
</xsl:choose>
<!--add the faults-->
<xsl:for-each select="fault/param[@type!='']">
<xsl:if test="position()=1">throws
<xsl:if test="position()>1">,
</xsl:for-each>;
</xsl:for-each>
}
</xsl:template>
</xsl:stylesheet>
Other Axis 2 examples (source code examples)
Here is a short list of links related to this Axis 2 SkeletonInterfaceTemplate.xsl source code file:
|