The Axis 2 StubHeaderTemplate.xsl source code
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/class">
<xsl:variable name="interfaceName">
<xsl:variable name="callbackname">
<xsl:variable name="isSync">
<xsl:variable name="isAsync">
<xsl:variable name="soapVersion">
<xsl:variable name="method-prefix">
<xsl:variable name="qname">
/**
* <xsl:value-of select="@name"/>.h
*
* This file was auto-generated from WSDL for "<xsl:value-of select="$qname"/>" service
* by the Apache Axis2/C version: #axisVersion# #today#
*/
#include <stdio.h>
#include <axiom.h>
#include <axutil_utils.h>
#include <axiom_soap.h>
#include <axis2_client.h>
#include <axis2_stub.h>
<xsl:for-each select="method">
<xsl:if test="output/param[@ours and @type!='']">
<xsl:variable name="outputtype">adb_
#include "<xsl:value-of select="$outputtype"/>.h"
</xsl:if>
<xsl:for-each select="input/param[@type!='' and @ours ]">
<xsl:variable name="inputtype">adb_
#include "<xsl:value-of select="$inputtype"/>.h"
</xsl:for-each>
</xsl:for-each>
/* function prototypes - for header file*/
/**
* <xsl:value-of select="$method-prefix"/>_create
* create and return the stub with services populated
* params - env : environment ( mandatory)
* - client_home : Axis2/C home ( mandatory )
* - endpoint_uri : service endpoint uri( optional ) - if NULL default picked from wsdl used
*/
axis2_stub_t*
<xsl:value-of select="$method-prefix"/>_create (const axutil_env_t *env,
axis2_char_t *client_home,
axis2_char_t *endpoint_uri);
/**
* <xsl:value-of select="$method-prefix"/>_populate_services
* populate the svc in stub with the service and operations
*/
void <xsl:value-of select="$method-prefix"/>_populate_services( axis2_stub_t *stub, const axutil_env_t *env);
/**
* <xsl:value-of select="$method-prefix"/>_get_endpoint_uri_from_wsdl
* return the endpoint URI picked from wsdl
*/
axis2_char_t *<xsl:value-of select="$method-prefix"/>_get_endpoint_uri_from_wsdl ( const axutil_env_t *env );
<xsl:if test="$isSync='1'">
<xsl:for-each select="method">
/**
* auto generated function declaration
* for "<xsl:value-of select="@qname"/>" operation.
<!-- select only the body parameters -->
<xsl:for-each select="input/param[@type!='']">* @param
*/
<xsl:variable name="outputours">
<xsl:variable name="outputtype">
<xsl:choose>
<xsl:when test="output/param/@ours">adb__t*
<xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="$outputtype=''">axis2_status_t
<xsl:when test="$outputtype!=''">
</xsl:choose>
<xsl:text>
<xsl:value-of select="$method-prefix"/>_( axis2_stub_t *stub, const axutil_env_t *env,
<xsl:variable name="inputtype">
<xsl:if test="@ours">adb__t*
</xsl:variable>
<xsl:if test="position()>1">,
</xsl:for-each>);
</xsl:for-each>
</xsl:if>
<!-- Async method prototype generation -->
<xsl:if test="$isAsync='1'">
<xsl:for-each select="method">
/**
* auto generated function declaration
* for "<xsl:value-of select="@qname"/>" operation.
<!-- select only the body parameters -->
<xsl:for-each select="input/param[@type!='']">* @param
* @param on_complete callback to handle on complete
* @param on_error callback to handle on error
*/
<xsl:variable name="mep">
<xsl:if test="$mep='12'">
void <xsl:value-of select="$method-prefix"/>__start( axis2_stub_t *stub, const axutil_env_t *env,
<xsl:variable name="inputtype">
<xsl:if test="@ours">adb__t*
</xsl:variable>
<xsl:if test="position()>1">,
</xsl:for-each>,
axis2_status_t ( AXIS2_CALL *on_complete ) (struct axis2_callback *, const axutil_env_t* ) ,
axis2_status_t ( AXIS2_CALL *on_error ) (struct axis2_callback *, const axutil_env_t*, int ) );
</xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Other Axis 2 examples (source code examples)
Here is a short list of links related to this Axis 2 StubHeaderTemplate.xsl source code file: