You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2007/07/30 17:42:17 UTC
svn commit: r561017 [1/2] - in /webservices/axis2/branches/java/1_3/modules:
codegen/src/org/apache/axis2/wsdl/template/java/ jaxbri/
jaxbri/src/org/apache/axis2/jaxbri/template/
Author: dims
Date: Mon Jul 30 08:42:17 2007
New Revision: 561017
URL: http://svn.apache.org/viewvc?view=rev&rev=561017
Log:
Fix for AXIS2-3031 - compilation errors in generated code for jaxbri when wsdl messages' contain a simpletype part e.g. int, boolean
Modified:
webservices/axis2/branches/java/1_3/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl
webservices/axis2/branches/java/1_3/modules/codegen/src/org/apache/axis2/wsdl/template/java/MessageReceiverTemplate.xsl
webservices/axis2/branches/java/1_3/modules/jaxbri/pom.xml
webservices/axis2/branches/java/1_3/modules/jaxbri/src/org/apache/axis2/jaxbri/template/JaxbRIDatabindingTemplate.xsl
Modified: webservices/axis2/branches/java/1_3/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_3/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl?view=diff&rev=561017&r1=561016&r2=561017
==============================================================================
--- webservices/axis2/branches/java/1_3/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl (original)
+++ webservices/axis2/branches/java/1_3/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl Mon Jul 30 08:42:17 2007
@@ -482,6 +482,10 @@
return toShort(_returnEnv.getBody().getFirstElement(),
getEnvelopeNamespaces(_returnEnv));
</xsl:when>
+ <xsl:when test="$outputtype='boolean'">
+ return toBoolean(_returnEnv.getBody().getFirstElement(),
+ getEnvelopeNamespaces(_returnEnv));
+ </xsl:when>
<xsl:otherwise>
java.lang.Object object = fromOM(
_returnEnv.getBody().getFirstElement() ,
@@ -754,6 +758,10 @@
callback.receiveResult<xsl:value-of select="@name"/>(toShort(resultEnv.getBody().getFirstElement(),
getEnvelopeNamespaces(resultEnv)));
</xsl:when>
+ <xsl:when test="$outputtype='boolean'">
+ callback.receiveResult<xsl:value-of select="@name"/>(toBoolean(resultEnv.getBody().getFirstElement(),
+ getEnvelopeNamespaces(resultEnv)));
+ </xsl:when>
<xsl:otherwise>
java.lang.Object object = fromOM(resultEnv.getBody().getFirstElement(),
<xsl:value-of select="$outputtype"/>.class,
Modified: webservices/axis2/branches/java/1_3/modules/codegen/src/org/apache/axis2/wsdl/template/java/MessageReceiverTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_3/modules/codegen/src/org/apache/axis2/wsdl/template/java/MessageReceiverTemplate.xsl?view=diff&rev=561017&r1=561016&r2=561017
==============================================================================
--- webservices/axis2/branches/java/1_3/modules/codegen/src/org/apache/axis2/wsdl/template/java/MessageReceiverTemplate.xsl (original)
+++ webservices/axis2/branches/java/1_3/modules/codegen/src/org/apache/axis2/wsdl/template/java/MessageReceiverTemplate.xsl Mon Jul 30 08:42:17 2007
@@ -1,626 +1,647 @@
-<!--
- ~ 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"/>
-
- <!-- include the databind supporters -->
- <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"/>
-
-
- <!--Template for in out message receiver -->
- <xsl:template match="/interface[@basereceiver='org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver']">
-
- <xsl:variable name="skeletonname"><xsl:value-of select="@skeletonInterfaceName"/></xsl:variable>
- <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"/> message receiver
- */
-
- public class <xsl:value-of select="@name"/> extends <xsl:value-of select="@basereceiver"/>{
-
-
- public void invokeBusinessLogic(org.apache.axis2.context.MessageContext msgContext, org.apache.axis2.context.MessageContext newMsgContext)
- throws org.apache.axis2.AxisFault{
-
- try {
-
- // get the implementation class for the Web Service
- Object obj = getTheImplementationObject(msgContext);
-
- <xsl:value-of select="$skeletonname"/> skel = (<xsl:value-of select="$skeletonname"/>)obj;
- //Out Envelop
- org.apache.axiom.soap.SOAPEnvelope envelope = null;
- //Find the axisOperation that has been set by the Dispatch phase.
- org.apache.axis2.description.AxisOperation op = msgContext.getOperationContext().getAxisOperation();
- if (op == null) {
- throw new org.apache.axis2.AxisFault("Operation is not located, if this is doclit style the SOAP-ACTION should specified via the SOAP Action to use the RawXMLProvider");
- }
-
- java.lang.String methodName;
- if(op.getName() != null & (methodName = org.apache.axis2.util.JavaUtils.xmlNameToJava(op.getName().getLocalPart())) != null){
-
- <xsl:for-each select="method">
- <xsl:if test="position() > 1">} else </xsl:if>
-
- if("<xsl:value-of select="@name"/>".equals(methodName)){
- <!-- If usedbmethod attribute present, gives name of method to call for implementation -->
- <xsl:variable name="usedbmethod"><xsl:value-of select="@usedbmethod"/></xsl:variable>
- <xsl:choose>
- <xsl:when test="string-length(normalize-space($usedbmethod))=0">
-
- <xsl:variable name="namespace"><xsl:value-of select="@namespace"/></xsl:variable>
-
- <xsl:variable name="name"><xsl:value-of select="@name"/></xsl:variable>
- <xsl:variable name="style"><xsl:value-of select="@style"/></xsl:variable>
-
- <xsl:variable name="returntype" select="output/param[@location='body']/@type"/>
- <xsl:variable name="returnvariable" select="output/param[@location='body']/@name"/>
- <xsl:variable name="returncomplextype"><xsl:value-of select="output/param[@location='body']/@complextype"/></xsl:variable>
- <xsl:variable name="returnparamcount"><xsl:value-of select="count(output/param[@location='body']/param)"/></xsl:variable>
- <xsl:variable name="returnshorttype"><xsl:value-of select="output/param[@location='body']/@shorttype"/></xsl:variable>
- <xsl:variable name="returnpartname"><xsl:value-of select="output/param[@location='body']/param/@partname"/></xsl:variable>
-
- <xsl:if test="string-length(normalize-space($returntype)) > 0">
- <xsl:value-of select="$returntype"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="$returnvariable"/> = null;
- </xsl:if>
-
- <xsl:choose>
- <!-- We really don't need to make a difference between these-->
- <xsl:when test="$style='document' or $style='rpc'">
-
- <xsl:variable name="inputcount" select="count(input/param[@location='body' and @type!=''])"/>
- <xsl:variable name="inputtype" select="input/param[@location='body' and @type!='']/@type"/>
- <xsl:variable name="inputComplexType" select="input/param[@location='body' and @type!='']/@complextype"/>
- <xsl:variable name="operationName" select="input/param[@location='body' and @type!='']/@opname"/>
-
- <xsl:choose>
- <xsl:when test="$isbackcompatible = 'true'">
- <xsl:choose>
- <xsl:when test="$inputcount=1">
- <xsl:value-of select="$inputtype"/> wrappedParam =
- (<xsl:value-of select="$inputtype"/>)fromOM(
- msgContext.getEnvelope().getBody().getFirstElement(),
- <xsl:value-of select="$inputtype"/>.class,
- getEnvelopeNamespaces(msgContext.getEnvelope()));
-
- <xsl:if test="string-length(normalize-space($returntype)) > 0"><xsl:value-of select="$returnvariable"/> =</xsl:if>
- <xsl:choose>
- <xsl:when test="(string-length(normalize-space($inputComplexType)) > 0) and (string-length(normalize-space($returncomplextype)) > 0)">
- wrap<xsl:value-of select="$operationName"/>(skel.<xsl:value-of select="@name"/>(
- get<xsl:value-of select="$operationName"/>(wrappedParam)));
- </xsl:when>
- <xsl:when test="(string-length(normalize-space($inputComplexType)) > 0) and (string-length(normalize-space($returncomplextype)) < 1)">
- skel.<xsl:value-of select="@name"/>(
- get<xsl:value-of select="$operationName"/>(wrappedParam));
- </xsl:when>
- <xsl:when test="(string-length(normalize-space($inputComplexType)) < 1) and (string-length(normalize-space($returncomplextype)) > 0)">
- wrap<xsl:value-of select="$operationName"/>(skel.<xsl:value-of select="@name"/>(wrappedParam));
- </xsl:when>
- <xsl:otherwise>
- skel.<xsl:value-of select="@name"/>(wrappedParam);
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="string-length(normalize-space($returntype)) > 0"><xsl:value-of select="$returnvariable"/> =</xsl:if>
- <xsl:choose>
- <xsl:when test="string-length(normalize-space($returncomplextype)) > 0">
- wrap<xsl:value-of select="$operationName"/>(skel.<xsl:value-of select="@name"/>());
- </xsl:when>
- <xsl:otherwise>
- skel.<xsl:value-of select="@name"/>();
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
-
- <xsl:choose>
- <xsl:when test="$inputcount=1">
- <xsl:value-of select="$inputtype"/> wrappedParam =
- (<xsl:value-of select="$inputtype"/>)fromOM(
- msgContext.getEnvelope().getBody().getFirstElement(),
- <xsl:value-of select="$inputtype"/>.class,
- getEnvelopeNamespaces(msgContext.getEnvelope()));
- <!-- Even when the parameters are 1 we have to see whether we have the
- wrapped parameters -->
- <xsl:if test="string-length(normalize-space($returntype)) > 0"><xsl:value-of select="$returnvariable"/> =
- <!-- set the response wrappers if unwrapping on -->
- <xsl:choose>
- <xsl:when test="$returnparamcount=1">
- wrap<xsl:value-of select="$returnshorttype"/><xsl:value-of
- select="$returnpartname"/>(
- </xsl:when>
- <xsl:when test="string-length(normalize-space($returncomplextype)) > 0">
- wrap<xsl:value-of select="$operationName"/>(
- </xsl:when>
- </xsl:choose>
- </xsl:if>
- <xsl:variable name="inputWrappedCount" select="count(input/param[@location='body' and @type!='']/param)"/>
- <xsl:choose>
- <xsl:when test="($inputWrappedCount > 0)">
- <!-- generate the references. the getters need to be
- generated by the databinding-->
-
- <!-- wrap it if it in unwarping mode -->
- skel.<xsl:value-of select="@name"/>(
- <xsl:for-each select="input/param[@location='body' and @type!='']/param">
- <xsl:if test="position() > 1">,</xsl:if>
- get<xsl:value-of select="@partname"/>(wrappedParam)
- </xsl:for-each>)
- </xsl:when>
- <xsl:otherwise>
- skel.<xsl:value-of select="@name"/>(wrappedParam)
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="string-length(normalize-space($returntype)) > 0">
- <xsl:if test="($returnparamcount=1) or (string-length(normalize-space($returncomplextype)) > 0)">
- )
- </xsl:if>
- </xsl:if>;
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="string-length(normalize-space($returntype)) > 0"><xsl:value-of select="$returnvariable"/> =
- <xsl:choose>
- <xsl:when test="$returnparamcount=1">
- wrap<xsl:value-of select="$returnshorttype"/><xsl:value-of
- select="$returnpartname"/>(
- </xsl:when>
- <xsl:when test="string-length(normalize-space($returncomplextype)) > 0">
- wrap<xsl:value-of select="$operationName"/>(
- </xsl:when>
- </xsl:choose>
- </xsl:if>
- skel.<xsl:value-of select="@name"/>()
- <xsl:if test="string-length(normalize-space($returntype)) > 0">
- <xsl:if test="($returnparamcount=1) or (string-length(normalize-space($returncomplextype)) > 0)">
- )
- </xsl:if>
- </xsl:if>;
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
-
-
- <xsl:choose>
- <xsl:when test="string-length(normalize-space($returntype)) > 0">
- envelope = toEnvelope(getSOAPFactory(msgContext), <xsl:value-of select="$returnvariable"/>, false);
- </xsl:when>
- <xsl:otherwise>
- envelope = getSOAPFactory(msgContext).getDefaultEnvelope();
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
-
- <xsl:otherwise>
- //Unknown style!! No code is generated
- throw new java.lang.UnsupportedOperationException("Unknown Style");
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
-
- <xsl:otherwise>
- envelope = <xsl:value-of select="$usedbmethod"/>(msgContext.getEnvelope().getBody().getFirstElement(), skel, getSOAPFactory(msgContext));
- </xsl:otherwise>
-
- </xsl:choose>
-
- </xsl:for-each>
- <xsl:if test="method">
- } else {
- throw new java.lang.RuntimeException("method not found");
- }
- </xsl:if>
-
- newMsgContext.setEnvelope(envelope);
- }
- <xsl:for-each select="fault-list/fault">
- <xsl:if test="position()=1">}</xsl:if> catch (<xsl:value-of select="@name"/> e) {
-
- msgContext.setProperty(org.apache.axis2.Constants.FAULT_NAME,"<xsl:value-of select="@localname"/>");
- org.apache.axis2.AxisFault f = createAxisFault(e);
- if (e.getFaultMessage() != null){
- f.setDetail(toOM(e.getFaultMessage(),false));
- }
- throw f;
- }
- </xsl:for-each>
- <!-- put the extra bracket-->
- <xsl:if test="count(fault-list/fault)=0">}</xsl:if>
- catch (java.lang.Exception e) {
- throw org.apache.axis2.AxisFault.makeFault(e);
- }
- }
- <!-- Call templates recursively-->
- //<xsl:apply-templates><xsl:with-param name="context">message-receiver</xsl:with-param></xsl:apply-templates>
-
- /**
- * A utility method that copies the namepaces from the SOAPEnvelope
- */
- private java.util.Map getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
- java.util.Map returnMap = new java.util.HashMap();
- java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
- while (namespaceIterator.hasNext()) {
- org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) namespaceIterator.next();
- returnMap.put(ns.getPrefix(),ns.getNamespaceURI());
- }
- return returnMap;
- }
-
- private org.apache.axis2.AxisFault createAxisFault(java.lang.Exception e) {
- org.apache.axis2.AxisFault f;
- Throwable cause = e.getCause();
- if (cause != null) {
- f = new org.apache.axis2.AxisFault(e.getMessage(), cause);
- } else {
- f = new org.apache.axis2.AxisFault(e.getMessage());
- }
-
- return f;
- }
-
- }//end of class
- </xsl:template>
- <!-- end of template for in-out message receiver -->
-
- <!-- start of in-only -->
- <xsl:template match="/interface[@basereceiver='org.apache.axis2.receivers.AbstractInMessageReceiver']">
- <xsl:variable name="skeletonname"><xsl:value-of select="@skeletonInterfaceName"/></xsl:variable>
-
-/**
- * <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"/> message receiver
- */
-
- public class <xsl:value-of select="@name"/> extends <xsl:value-of select="@basereceiver"/>{
-
- public void invokeBusinessLogic(org.apache.axis2.context.MessageContext inMessage) throws org.apache.axis2.AxisFault{
-
- try {
-
- // get the implementation class for the Web Service
- Object obj = getTheImplementationObject(inMessage);
-
- <xsl:value-of select="$skeletonname"/> skel = (<xsl:value-of select="$skeletonname"/>)obj;
- //Out Envelop
- org.apache.axiom.soap.SOAPEnvelope envelope = null;
- //Find the axisOperation that has been set by the Dispatch phase.
- org.apache.axis2.description.AxisOperation op = inMessage.getOperationContext().getAxisOperation();
- if (op == null) {
- throw new org.apache.axis2.AxisFault("Operation is not located, if this is doclit style the SOAP-ACTION should specified via the SOAP Action to use the RawXMLProvider");
- }
-
- java.lang.String methodName;
- if(op.getName() != null & (methodName = org.apache.axis2.util.JavaUtils.xmlNameToJava(op.getName().getLocalPart())) != null){
-
- <xsl:for-each select="method">
-
- <xsl:variable name="style"><xsl:value-of select="@style"/></xsl:variable>
-
- <xsl:if test="position() > 1">} else </xsl:if>
- if("<xsl:value-of select="@name"/>".equals(methodName)){
- <!-- If usedbmethod attribute present, gives name of method to call for implementation -->
- <xsl:variable name="usedbmethod"><xsl:value-of select="@usedbmethod"/></xsl:variable>
- <xsl:choose>
- <xsl:when test="string-length(normalize-space($usedbmethod))=0">
-
- <xsl:choose>
- <!-- style does not matter since we create the message formats correctly -->
- <xsl:when test="$style='rpc' or $style='document'">
-
- <xsl:variable name="paramCount" select="count(input/param[@location='body' and @type!=''])"/>
- <xsl:variable name="inputWrappedCount" select="count(input/param[@location='body' and @type!='']/param)"/>
- <xsl:choose>
- <xsl:when test="$paramCount =1">
- <xsl:value-of select="input/param[@location='body' and @type!='']/@type"/> wrappedParam = (<xsl:value-of select="input/param[@location='body' and @type!='']/@type"/>)fromOM(
- inMessage.getEnvelope().getBody().getFirstElement(),
- <xsl:value-of select="input/param[@location='body' and @type!='']/@type"/>.class,
- getEnvelopeNamespaces(inMessage.getEnvelope()));
- <xsl:choose>
- <xsl:when test="($inputWrappedCount > 0)">
- <!-- generate the references. the getters need to be
- generated by the databinding-->
-
- <!-- wrap it if it in unwarping mode -->
- skel.<xsl:value-of select="@name"/>(
- <xsl:for-each select="input/param[@location='body' and @type!='']/param">
- <xsl:if test="position() > 1">,</xsl:if>
- get<xsl:value-of select="@partname"/>(wrappedParam)
- </xsl:for-each>);
- </xsl:when>
- <xsl:otherwise>
- skel.<xsl:value-of select="@name"/>(wrappedParam);
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- skel.<xsl:value-of select="@name"/>();
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
-
- <xsl:otherwise>
- //Unknown style!! No code is generated
- throw new java.lang.UnsupportedOperationException("Unknown Style");
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:when>
-
- <xsl:otherwise>
- <xsl:value-of select="$usedbmethod"/>(inMessage.getEnvelope().getBody().getFirstElement(), skel, null);
- </xsl:otherwise>
-
- </xsl:choose>
- </xsl:for-each>
- <xsl:if test="method">
- } else {
- throw new java.lang.RuntimeException("method not found");
- }
- </xsl:if>
-
- }
- } catch (java.lang.Exception e) {
- throw org.apache.axis2.AxisFault.makeFault(e);
- }
- }
-
-
- <!-- Call templates recursively-->
- //<xsl:apply-templates><xsl:with-param name="context">message-receiver</xsl:with-param></xsl:apply-templates>
-
-
-
- /**
- * A utility method that copies the namepaces from the SOAPEnvelope
- */
- private java.util.Map getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
- java.util.Map returnMap = new java.util.HashMap();
- java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
- while (namespaceIterator.hasNext()) {
- org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) namespaceIterator.next();
- returnMap.put(ns.getPrefix(),ns.getNamespaceURI());
- }
- return returnMap;
- }
-
-
-
- }//end of class
-
- </xsl:template>
-
- <!--Template for robust in message receiver -->
- <xsl:template match="/interface[@basereceiver='org.apache.axis2.receivers.AbstractRobustInMessageReceiver']">
-
- <xsl:variable name="skeletonname"><xsl:value-of select="@skeletonInterfaceName"/></xsl:variable>
- <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"/> message receiver
- */
-
- public class <xsl:value-of select="@name"/> extends <xsl:value-of select="@basereceiver"/>{
-
-
- public void invokeBusinessLogic(org.apache.axis2.context.MessageContext msgContext)
- throws org.apache.axis2.AxisFault{
-
- try {
-
- // get the implementation class for the Web Service
- Object obj = getTheImplementationObject(msgContext);
-
- <xsl:value-of select="$skeletonname"/> skel = (<xsl:value-of select="$skeletonname"/>)obj;
- //Out Envelop
- org.apache.axiom.soap.SOAPEnvelope envelope = null;
- //Find the axisOperation that has been set by the Dispatch phase.
- org.apache.axis2.description.AxisOperation op = msgContext.getOperationContext().getAxisOperation();
- if (op == null) {
- throw new org.apache.axis2.AxisFault("Operation is not located, if this is doclit style the SOAP-ACTION should specified via the SOAP Action to use the RawXMLProvider");
- }
-
- java.lang.String methodName;
- if(op.getName() != null & (methodName = org.apache.axis2.util.JavaUtils.xmlNameToJava(op.getName().getLocalPart())) != null){
-
- <xsl:for-each select="method">
- <xsl:if test="position() > 1">} else </xsl:if>
- if("<xsl:value-of select="@name"/>".equals(methodName)){
- <!-- If usedbmethod attribute present, gives name of method to call for implementation -->
- <xsl:variable name="usedbmethod"><xsl:value-of select="@usedbmethod"/></xsl:variable>
- <xsl:choose>
- <xsl:when test="string-length(normalize-space($usedbmethod))=0">
-
- <xsl:variable name="style"><xsl:value-of select="@style"/></xsl:variable>
-
- <xsl:choose>
- <!-- We really don't need to make a difference between these-->
- <xsl:when test="$style='document' or $style='rpc'">
- //doc style
- <xsl:variable name="inputcount" select="count(input/param[@location='body' and @type!=''])"/>
- <xsl:variable name="inputtype" select="input/param[@location='body' and @type!='']/@type"/>
- <xsl:variable name="operationName" select="input/param[@location='body' and @type!='']/@opname"/>
-
- <xsl:choose>
- <xsl:when test="$isbackcompatible = 'true'">
- <xsl:choose>
- <xsl:when test="$inputcount=1">
- <xsl:value-of select="$inputtype"/> wrappedParam =
- (<xsl:value-of select="$inputtype"/>)fromOM(
- msgContext.getEnvelope().getBody().getFirstElement(),
- <xsl:value-of select="$inputtype"/>.class,
- getEnvelopeNamespaces(msgContext.getEnvelope()));
- <!-- Even when the parameters are 1 we have to see whether we have the
- wrapped parameters -->
- <xsl:variable name="inputComplexType" select="count(input/param[@location='body' and @type!='']/param)"/>
- <xsl:variable name="operationName" select="input/param[@location='body' and @type!='']/@opname"/>
- <xsl:choose>
- <xsl:when test="string-length(normalize-space($inputComplexType)) > 0">
- skel.<xsl:value-of select="@name"/>(
- get<xsl:value-of select="$operationName"/>(wrappedParam)
- );
- </xsl:when>
- <xsl:otherwise>
- skel.<xsl:value-of select="@name"/>(wrappedParam) ;
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- skel.<xsl:value-of select="@name"/>();
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="$inputcount=1">
- <xsl:value-of select="$inputtype"/> wrappedParam =
- (<xsl:value-of select="$inputtype"/>)fromOM(
- msgContext.getEnvelope().getBody().getFirstElement(),
- <xsl:value-of select="$inputtype"/>.class,
- getEnvelopeNamespaces(msgContext.getEnvelope()));
- <!-- 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">
- skel.<xsl:value-of select="@name"/>(
- <xsl:for-each select="input/param[@location='body' and @type!='']/param">
- <xsl:if test="position() > 1">,</xsl:if>
- get<xsl:value-of select="@partname"/>(wrappedParam)
- </xsl:for-each>
-
- );
- </xsl:when>
- <xsl:otherwise>
- skel.<xsl:value-of select="@name"/>(wrappedParam) ;
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- skel.<xsl:value-of select="@name"/>();
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
-
- envelope = getSOAPFactory(msgContext).getDefaultEnvelope();
- </xsl:when>
-
- <xsl:otherwise>
- //Unknown style!! No code is generated
- throw new java.lang.UnsupportedOperationException("Unknown Style");
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
-
- <xsl:otherwise>
- envelope = <xsl:value-of select="$usedbmethod"/>(msgContext.getEnvelope().getBody().getFirstElement(), skel, getSOAPFactory(msgContext));
- </xsl:otherwise>
-
- </xsl:choose>
- </xsl:for-each>
- <xsl:if test="method">
- } else {
- throw new java.lang.RuntimeException("method not found");
- }
- </xsl:if>
-
- }
- <xsl:for-each select="fault-list/fault">
- <xsl:if test="position()=1">}</xsl:if> catch (<xsl:value-of select="@name"/> e) {
- msgContext.setProperty(org.apache.axis2.Constants.FAULT_NAME,"<xsl:value-of select="@localname"/>");
- org.apache.axis2.AxisFault f = createAxisFault(e);
- if (e.getFaultMessage() != null){
- f.setDetail(toOM(e.getFaultMessage(),false));
- }
- throw f;
- }
- </xsl:for-each>
- <!-- put the extra bracket-->
- <xsl:if test="count(fault-list/fault)=0">}</xsl:if>
- catch (java.lang.Exception e) {
- throw org.apache.axis2.AxisFault.makeFault(e);
- }
- }
- <!-- Call templates recursively-->
- //<xsl:apply-templates><xsl:with-param name="context">message-receiver</xsl:with-param></xsl:apply-templates>
-
- /**
- * A utility method that copies the namepaces from the SOAPEnvelope
- */
- private java.util.Map getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
- java.util.Map returnMap = new java.util.HashMap();
- java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
- while (namespaceIterator.hasNext()) {
- org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) namespaceIterator.next();
- returnMap.put(ns.getPrefix(),ns.getNamespaceURI());
- }
- return returnMap;
- }
-
- private org.apache.axis2.AxisFault createAxisFault(java.lang.Exception e) {
- org.apache.axis2.AxisFault f;
- Throwable cause = e.getCause();
- if (cause != null) {
- f = new org.apache.axis2.AxisFault(e.getMessage(), cause);
- } else {
- f = new org.apache.axis2.AxisFault(e.getMessage());
- }
-
- return f;
- }
-
- }//end of class
- </xsl:template>
- <!-- end of template for robust in message receiver -->
-
-</xsl:stylesheet>
+<!--
+ ~ 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"/>
+
+ <!-- include the databind supporters -->
+ <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"/>
+
+
+ <!--Template for in out message receiver -->
+ <xsl:template match="/interface[@basereceiver='org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver']">
+
+ <xsl:variable name="skeletonname"><xsl:value-of select="@skeletonInterfaceName"/></xsl:variable>
+ <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"/> message receiver
+ */
+
+ public class <xsl:value-of select="@name"/> extends <xsl:value-of select="@basereceiver"/>{
+
+
+ public void invokeBusinessLogic(org.apache.axis2.context.MessageContext msgContext, org.apache.axis2.context.MessageContext newMsgContext)
+ throws org.apache.axis2.AxisFault{
+
+ try {
+
+ // get the implementation class for the Web Service
+ Object obj = getTheImplementationObject(msgContext);
+
+ <xsl:value-of select="$skeletonname"/> skel = (<xsl:value-of select="$skeletonname"/>)obj;
+ //Out Envelop
+ org.apache.axiom.soap.SOAPEnvelope envelope = null;
+ //Find the axisOperation that has been set by the Dispatch phase.
+ org.apache.axis2.description.AxisOperation op = msgContext.getOperationContext().getAxisOperation();
+ if (op == null) {
+ throw new org.apache.axis2.AxisFault("Operation is not located, if this is doclit style the SOAP-ACTION should specified via the SOAP Action to use the RawXMLProvider");
+ }
+
+ java.lang.String methodName;
+ if(op.getName() != null & (methodName = org.apache.axis2.util.JavaUtils.xmlNameToJava(op.getName().getLocalPart())) != null){
+
+ <xsl:for-each select="method">
+ <xsl:if test="position() > 1">} else </xsl:if>
+
+ if("<xsl:value-of select="@name"/>".equals(methodName)){
+ <!-- If usedbmethod attribute present, gives name of method to call for implementation -->
+ <xsl:variable name="usedbmethod"><xsl:value-of select="@usedbmethod"/></xsl:variable>
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space($usedbmethod))=0">
+
+ <xsl:variable name="namespace"><xsl:value-of select="@namespace"/></xsl:variable>
+
+ <xsl:variable name="name"><xsl:value-of select="@name"/></xsl:variable>
+ <xsl:variable name="style"><xsl:value-of select="@style"/></xsl:variable>
+
+ <xsl:variable name="returntype" select="output/param[@location='body']/@type"/>
+ <xsl:variable name="returnvariable" select="output/param[@location='body']/@name"/>
+ <xsl:variable name="returncomplextype"><xsl:value-of select="output/param[@location='body']/@complextype"/></xsl:variable>
+ <xsl:variable name="returnparamcount"><xsl:value-of select="count(output/param[@location='body']/param)"/></xsl:variable>
+ <xsl:variable name="returnshorttype"><xsl:value-of select="output/param[@location='body']/@shorttype"/></xsl:variable>
+ <xsl:variable name="returnpartname"><xsl:value-of select="output/param[@location='body']/param/@partname"/></xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$returntype = 'byte' or $returntype = 'short' or $returntype = 'int' or $returntype = 'long' or $returntype = 'float' or $returntype = 'double'">
+ <xsl:value-of select="$returntype"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$returnvariable"/> = 0;
+ </xsl:when>
+
+ <xsl:when test="$returntype = 'boolean'">
+ <xsl:value-of select="$returntype"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$returnvariable"/> = false;
+ </xsl:when>
+
+ <xsl:when test="$returntype = 'char'">
+ <xsl:value-of select="$returntype"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$returnvariable"/> = '\u0000';
+ </xsl:when>
+
+ <xsl:when test="string-length(normalize-space($returntype)) > 0">
+ <xsl:value-of select="$returntype"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$returnvariable"/> = null;
+ </xsl:when>
+
+ </xsl:choose>
+
+ <xsl:choose>
+ <!-- We really don't need to make a difference between these-->
+ <xsl:when test="$style='document' or $style='rpc'">
+
+ <xsl:variable name="inputcount" select="count(input/param[@location='body' and @type!=''])"/>
+ <xsl:variable name="inputtype" select="input/param[@location='body' and @type!='']/@type"/>
+ <xsl:variable name="inputComplexType" select="input/param[@location='body' and @type!='']/@complextype"/>
+ <xsl:variable name="operationName" select="input/param[@location='body' and @type!='']/@opname"/>
+
+ <xsl:choose>
+ <xsl:when test="$isbackcompatible = 'true'">
+ <xsl:choose>
+ <xsl:when test="$inputcount=1">
+ <xsl:value-of select="$inputtype"/> wrappedParam =
+ (<xsl:value-of select="$inputtype"/>)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ <xsl:value-of select="$inputtype"/>.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+
+ <xsl:if test="string-length(normalize-space($returntype)) > 0"><xsl:value-of select="$returnvariable"/> =</xsl:if>
+ <xsl:choose>
+ <xsl:when test="(string-length(normalize-space($inputComplexType)) > 0) and (string-length(normalize-space($returncomplextype)) > 0)">
+ wrap<xsl:value-of select="$operationName"/>(skel.<xsl:value-of select="@name"/>(
+ get<xsl:value-of select="$operationName"/>(wrappedParam)));
+ </xsl:when>
+ <xsl:when test="(string-length(normalize-space($inputComplexType)) > 0) and (string-length(normalize-space($returncomplextype)) < 1)">
+ skel.<xsl:value-of select="@name"/>(
+ get<xsl:value-of select="$operationName"/>(wrappedParam));
+ </xsl:when>
+ <xsl:when test="(string-length(normalize-space($inputComplexType)) < 1) and (string-length(normalize-space($returncomplextype)) > 0)">
+ wrap<xsl:value-of select="$operationName"/>(skel.<xsl:value-of select="@name"/>(wrappedParam));
+ </xsl:when>
+ <xsl:otherwise>
+ skel.<xsl:value-of select="@name"/>(wrappedParam);
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="string-length(normalize-space($returntype)) > 0"><xsl:value-of select="$returnvariable"/> =</xsl:if>
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space($returncomplextype)) > 0">
+ wrap<xsl:value-of select="$operationName"/>(skel.<xsl:value-of select="@name"/>());
+ </xsl:when>
+ <xsl:otherwise>
+ skel.<xsl:value-of select="@name"/>();
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+
+ <xsl:choose>
+ <xsl:when test="$inputcount=1">
+ <xsl:value-of select="$inputtype"/> wrappedParam =
+ (<xsl:value-of select="$inputtype"/>)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ <xsl:value-of select="$inputtype"/>.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+ <!-- Even when the parameters are 1 we have to see whether we have the
+ wrapped parameters -->
+ <xsl:if test="string-length(normalize-space($returntype)) > 0"><xsl:value-of select="$returnvariable"/> =
+ <!-- set the response wrappers if unwrapping on -->
+ <xsl:choose>
+ <xsl:when test="$returnparamcount=1">
+ wrap<xsl:value-of select="$returnshorttype"/><xsl:value-of
+ select="$returnpartname"/>(
+ </xsl:when>
+ <xsl:when test="string-length(normalize-space($returncomplextype)) > 0">
+ wrap<xsl:value-of select="$operationName"/>(
+ </xsl:when>
+ </xsl:choose>
+ </xsl:if>
+ <xsl:variable name="inputWrappedCount" select="count(input/param[@location='body' and @type!='']/param)"/>
+ <xsl:choose>
+ <xsl:when test="($inputWrappedCount > 0)">
+ <!-- generate the references. the getters need to be
+ generated by the databinding-->
+
+ <!-- wrap it if it in unwarping mode -->
+ skel.<xsl:value-of select="@name"/>(
+ <xsl:for-each select="input/param[@location='body' and @type!='']/param">
+ <xsl:if test="position() > 1">,</xsl:if>
+ get<xsl:value-of select="@partname"/>(wrappedParam)
+ </xsl:for-each>)
+ </xsl:when>
+ <xsl:otherwise>
+ skel.<xsl:value-of select="@name"/>(wrappedParam)
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:if test="string-length(normalize-space($returntype)) > 0">
+ <xsl:if test="($returnparamcount=1) or (string-length(normalize-space($returncomplextype)) > 0)">
+ )
+ </xsl:if>
+ </xsl:if>;
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="string-length(normalize-space($returntype)) > 0"><xsl:value-of select="$returnvariable"/> =
+ <xsl:choose>
+ <xsl:when test="$returnparamcount=1">
+ wrap<xsl:value-of select="$returnshorttype"/><xsl:value-of
+ select="$returnpartname"/>(
+ </xsl:when>
+ <xsl:when test="string-length(normalize-space($returncomplextype)) > 0">
+ wrap<xsl:value-of select="$operationName"/>(
+ </xsl:when>
+ </xsl:choose>
+ </xsl:if>
+ skel.<xsl:value-of select="@name"/>()
+ <xsl:if test="string-length(normalize-space($returntype)) > 0">
+ <xsl:if test="($returnparamcount=1) or (string-length(normalize-space($returncomplextype)) > 0)">
+ )
+ </xsl:if>
+ </xsl:if>;
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+
+
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space($returntype)) > 0">
+ envelope = toEnvelope(getSOAPFactory(msgContext), <xsl:value-of select="$returnvariable"/>, false);
+ </xsl:when>
+ <xsl:otherwise>
+ envelope = getSOAPFactory(msgContext).getDefaultEnvelope();
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <xsl:otherwise>
+ //Unknown style!! No code is generated
+ throw new java.lang.UnsupportedOperationException("Unknown Style");
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <xsl:otherwise>
+ envelope = <xsl:value-of select="$usedbmethod"/>(msgContext.getEnvelope().getBody().getFirstElement(), skel, getSOAPFactory(msgContext));
+ </xsl:otherwise>
+
+ </xsl:choose>
+
+ </xsl:for-each>
+ <xsl:if test="method">
+ } else {
+ throw new java.lang.RuntimeException("method not found");
+ }
+ </xsl:if>
+
+ newMsgContext.setEnvelope(envelope);
+ }
+ <xsl:for-each select="fault-list/fault">
+ <xsl:if test="position()=1">}</xsl:if> catch (<xsl:value-of select="@name"/> e) {
+
+ msgContext.setProperty(org.apache.axis2.Constants.FAULT_NAME,"<xsl:value-of select="@localname"/>");
+ org.apache.axis2.AxisFault f = createAxisFault(e);
+ if (e.getFaultMessage() != null){
+ f.setDetail(toOM(e.getFaultMessage(),false));
+ }
+ throw f;
+ }
+ </xsl:for-each>
+ <!-- put the extra bracket-->
+ <xsl:if test="count(fault-list/fault)=0">}</xsl:if>
+ catch (java.lang.Exception e) {
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+ <!-- Call templates recursively-->
+ //<xsl:apply-templates><xsl:with-param name="context">message-receiver</xsl:with-param></xsl:apply-templates>
+
+ /**
+ * A utility method that copies the namepaces from the SOAPEnvelope
+ */
+ private java.util.Map getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
+ java.util.Map returnMap = new java.util.HashMap();
+ java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
+ while (namespaceIterator.hasNext()) {
+ org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) namespaceIterator.next();
+ returnMap.put(ns.getPrefix(),ns.getNamespaceURI());
+ }
+ return returnMap;
+ }
+
+ private org.apache.axis2.AxisFault createAxisFault(java.lang.Exception e) {
+ org.apache.axis2.AxisFault f;
+ Throwable cause = e.getCause();
+ if (cause != null) {
+ f = new org.apache.axis2.AxisFault(e.getMessage(), cause);
+ } else {
+ f = new org.apache.axis2.AxisFault(e.getMessage());
+ }
+
+ return f;
+ }
+
+ }//end of class
+ </xsl:template>
+ <!-- end of template for in-out message receiver -->
+
+ <!-- start of in-only -->
+ <xsl:template match="/interface[@basereceiver='org.apache.axis2.receivers.AbstractInMessageReceiver']">
+ <xsl:variable name="skeletonname"><xsl:value-of select="@skeletonInterfaceName"/></xsl:variable>
+
+/**
+ * <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"/> message receiver
+ */
+
+ public class <xsl:value-of select="@name"/> extends <xsl:value-of select="@basereceiver"/>{
+
+ public void invokeBusinessLogic(org.apache.axis2.context.MessageContext inMessage) throws org.apache.axis2.AxisFault{
+
+ try {
+
+ // get the implementation class for the Web Service
+ Object obj = getTheImplementationObject(inMessage);
+
+ <xsl:value-of select="$skeletonname"/> skel = (<xsl:value-of select="$skeletonname"/>)obj;
+ //Out Envelop
+ org.apache.axiom.soap.SOAPEnvelope envelope = null;
+ //Find the axisOperation that has been set by the Dispatch phase.
+ org.apache.axis2.description.AxisOperation op = inMessage.getOperationContext().getAxisOperation();
+ if (op == null) {
+ throw new org.apache.axis2.AxisFault("Operation is not located, if this is doclit style the SOAP-ACTION should specified via the SOAP Action to use the RawXMLProvider");
+ }
+
+ java.lang.String methodName;
+ if(op.getName() != null & (methodName = org.apache.axis2.util.JavaUtils.xmlNameToJava(op.getName().getLocalPart())) != null){
+
+ <xsl:for-each select="method">
+
+ <xsl:variable name="style"><xsl:value-of select="@style"/></xsl:variable>
+
+ <xsl:if test="position() > 1">} else </xsl:if>
+ if("<xsl:value-of select="@name"/>".equals(methodName)){
+ <!-- If usedbmethod attribute present, gives name of method to call for implementation -->
+ <xsl:variable name="usedbmethod"><xsl:value-of select="@usedbmethod"/></xsl:variable>
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space($usedbmethod))=0">
+
+ <xsl:choose>
+ <!-- style does not matter since we create the message formats correctly -->
+ <xsl:when test="$style='rpc' or $style='document'">
+
+ <xsl:variable name="paramCount" select="count(input/param[@location='body' and @type!=''])"/>
+ <xsl:variable name="inputWrappedCount" select="count(input/param[@location='body' and @type!='']/param)"/>
+ <xsl:choose>
+ <xsl:when test="$paramCount =1">
+ <xsl:value-of select="input/param[@location='body' and @type!='']/@type"/> wrappedParam = (<xsl:value-of select="input/param[@location='body' and @type!='']/@type"/>)fromOM(
+ inMessage.getEnvelope().getBody().getFirstElement(),
+ <xsl:value-of select="input/param[@location='body' and @type!='']/@type"/>.class,
+ getEnvelopeNamespaces(inMessage.getEnvelope()));
+ <xsl:choose>
+ <xsl:when test="($inputWrappedCount > 0)">
+ <!-- generate the references. the getters need to be
+ generated by the databinding-->
+
+ <!-- wrap it if it in unwarping mode -->
+ skel.<xsl:value-of select="@name"/>(
+ <xsl:for-each select="input/param[@location='body' and @type!='']/param">
+ <xsl:if test="position() > 1">,</xsl:if>
+ get<xsl:value-of select="@partname"/>(wrappedParam)
+ </xsl:for-each>);
+ </xsl:when>
+ <xsl:otherwise>
+ skel.<xsl:value-of select="@name"/>(wrappedParam);
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ skel.<xsl:value-of select="@name"/>();
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <xsl:otherwise>
+ //Unknown style!! No code is generated
+ throw new java.lang.UnsupportedOperationException("Unknown Style");
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:when>
+
+ <xsl:otherwise>
+ <xsl:value-of select="$usedbmethod"/>(inMessage.getEnvelope().getBody().getFirstElement(), skel, null);
+ </xsl:otherwise>
+
+ </xsl:choose>
+ </xsl:for-each>
+ <xsl:if test="method">
+ } else {
+ throw new java.lang.RuntimeException("method not found");
+ }
+ </xsl:if>
+
+ }
+ } catch (java.lang.Exception e) {
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+
+
+ <!-- Call templates recursively-->
+ //<xsl:apply-templates><xsl:with-param name="context">message-receiver</xsl:with-param></xsl:apply-templates>
+
+
+
+ /**
+ * A utility method that copies the namepaces from the SOAPEnvelope
+ */
+ private java.util.Map getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
+ java.util.Map returnMap = new java.util.HashMap();
+ java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
+ while (namespaceIterator.hasNext()) {
+ org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) namespaceIterator.next();
+ returnMap.put(ns.getPrefix(),ns.getNamespaceURI());
+ }
+ return returnMap;
+ }
+
+
+
+ }//end of class
+
+ </xsl:template>
+
+ <!--Template for robust in message receiver -->
+ <xsl:template match="/interface[@basereceiver='org.apache.axis2.receivers.AbstractRobustInMessageReceiver']">
+
+ <xsl:variable name="skeletonname"><xsl:value-of select="@skeletonInterfaceName"/></xsl:variable>
+ <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"/> message receiver
+ */
+
+ public class <xsl:value-of select="@name"/> extends <xsl:value-of select="@basereceiver"/>{
+
+
+ public void invokeBusinessLogic(org.apache.axis2.context.MessageContext msgContext)
+ throws org.apache.axis2.AxisFault{
+
+ try {
+
+ // get the implementation class for the Web Service
+ Object obj = getTheImplementationObject(msgContext);
+
+ <xsl:value-of select="$skeletonname"/> skel = (<xsl:value-of select="$skeletonname"/>)obj;
+ //Out Envelop
+ org.apache.axiom.soap.SOAPEnvelope envelope = null;
+ //Find the axisOperation that has been set by the Dispatch phase.
+ org.apache.axis2.description.AxisOperation op = msgContext.getOperationContext().getAxisOperation();
+ if (op == null) {
+ throw new org.apache.axis2.AxisFault("Operation is not located, if this is doclit style the SOAP-ACTION should specified via the SOAP Action to use the RawXMLProvider");
+ }
+
+ java.lang.String methodName;
+ if(op.getName() != null & (methodName = org.apache.axis2.util.JavaUtils.xmlNameToJava(op.getName().getLocalPart())) != null){
+
+ <xsl:for-each select="method">
+ <xsl:if test="position() > 1">} else </xsl:if>
+ if("<xsl:value-of select="@name"/>".equals(methodName)){
+ <!-- If usedbmethod attribute present, gives name of method to call for implementation -->
+ <xsl:variable name="usedbmethod"><xsl:value-of select="@usedbmethod"/></xsl:variable>
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space($usedbmethod))=0">
+
+ <xsl:variable name="style"><xsl:value-of select="@style"/></xsl:variable>
+
+ <xsl:choose>
+ <!-- We really don't need to make a difference between these-->
+ <xsl:when test="$style='document' or $style='rpc'">
+ //doc style
+ <xsl:variable name="inputcount" select="count(input/param[@location='body' and @type!=''])"/>
+ <xsl:variable name="inputtype" select="input/param[@location='body' and @type!='']/@type"/>
+ <xsl:variable name="operationName" select="input/param[@location='body' and @type!='']/@opname"/>
+
+ <xsl:choose>
+ <xsl:when test="$isbackcompatible = 'true'">
+ <xsl:choose>
+ <xsl:when test="$inputcount=1">
+ <xsl:value-of select="$inputtype"/> wrappedParam =
+ (<xsl:value-of select="$inputtype"/>)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ <xsl:value-of select="$inputtype"/>.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+ <!-- Even when the parameters are 1 we have to see whether we have the
+ wrapped parameters -->
+ <xsl:variable name="inputComplexType" select="count(input/param[@location='body' and @type!='']/param)"/>
+ <xsl:variable name="operationName" select="input/param[@location='body' and @type!='']/@opname"/>
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space($inputComplexType)) > 0">
+ skel.<xsl:value-of select="@name"/>(
+ get<xsl:value-of select="$operationName"/>(wrappedParam)
+ );
+ </xsl:when>
+ <xsl:otherwise>
+ skel.<xsl:value-of select="@name"/>(wrappedParam) ;
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ skel.<xsl:value-of select="@name"/>();
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$inputcount=1">
+ <xsl:value-of select="$inputtype"/> wrappedParam =
+ (<xsl:value-of select="$inputtype"/>)fromOM(
+ msgContext.getEnvelope().getBody().getFirstElement(),
+ <xsl:value-of select="$inputtype"/>.class,
+ getEnvelopeNamespaces(msgContext.getEnvelope()));
+ <!-- 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">
+ skel.<xsl:value-of select="@name"/>(
+ <xsl:for-each select="input/param[@location='body' and @type!='']/param">
+ <xsl:if test="position() > 1">,</xsl:if>
+ get<xsl:value-of select="@partname"/>(wrappedParam)
+ </xsl:for-each>
+
+ );
+ </xsl:when>
+ <xsl:otherwise>
+ skel.<xsl:value-of select="@name"/>(wrappedParam) ;
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ skel.<xsl:value-of select="@name"/>();
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ envelope = getSOAPFactory(msgContext).getDefaultEnvelope();
+ </xsl:when>
+
+ <xsl:otherwise>
+ //Unknown style!! No code is generated
+ throw new java.lang.UnsupportedOperationException("Unknown Style");
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <xsl:otherwise>
+ envelope = <xsl:value-of select="$usedbmethod"/>(msgContext.getEnvelope().getBody().getFirstElement(), skel, getSOAPFactory(msgContext));
+ </xsl:otherwise>
+
+ </xsl:choose>
+ </xsl:for-each>
+ <xsl:if test="method">
+ } else {
+ throw new java.lang.RuntimeException("method not found");
+ }
+ </xsl:if>
+
+ }
+ <xsl:for-each select="fault-list/fault">
+ <xsl:if test="position()=1">}</xsl:if> catch (<xsl:value-of select="@name"/> e) {
+ msgContext.setProperty(org.apache.axis2.Constants.FAULT_NAME,"<xsl:value-of select="@localname"/>");
+ org.apache.axis2.AxisFault f = createAxisFault(e);
+ if (e.getFaultMessage() != null){
+ f.setDetail(toOM(e.getFaultMessage(),false));
+ }
+ throw f;
+ }
+ </xsl:for-each>
+ <!-- put the extra bracket-->
+ <xsl:if test="count(fault-list/fault)=0">}</xsl:if>
+ catch (java.lang.Exception e) {
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
+ }
+ <!-- Call templates recursively-->
+ //<xsl:apply-templates><xsl:with-param name="context">message-receiver</xsl:with-param></xsl:apply-templates>
+
+ /**
+ * A utility method that copies the namepaces from the SOAPEnvelope
+ */
+ private java.util.Map getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
+ java.util.Map returnMap = new java.util.HashMap();
+ java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
+ while (namespaceIterator.hasNext()) {
+ org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) namespaceIterator.next();
+ returnMap.put(ns.getPrefix(),ns.getNamespaceURI());
+ }
+ return returnMap;
+ }
+
+ private org.apache.axis2.AxisFault createAxisFault(java.lang.Exception e) {
+ org.apache.axis2.AxisFault f;
+ Throwable cause = e.getCause();
+ if (cause != null) {
+ f = new org.apache.axis2.AxisFault(e.getMessage(), cause);
+ } else {
+ f = new org.apache.axis2.AxisFault(e.getMessage());
+ }
+
+ return f;
+ }
+
+ }//end of class
+ </xsl:template>
+ <!-- end of template for robust in message receiver -->
+
+</xsl:stylesheet>
Modified: webservices/axis2/branches/java/1_3/modules/jaxbri/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_3/modules/jaxbri/pom.xml?view=diff&rev=561017&r1=561016&r2=561017
==============================================================================
--- webservices/axis2/branches/java/1_3/modules/jaxbri/pom.xml (original)
+++ webservices/axis2/branches/java/1_3/modules/jaxbri/pom.xml Mon Jul 30 08:42:17 2007
@@ -117,17 +117,13 @@
<classpath location="${compiled.classes.dir}"/>
<arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/DocLitBareService.wsdl"/>
</java>
- <echo>Generating Service Client for Test01 test</echo>
+ <echo>Generating Service / Service Client for Test01 test</echo>
<java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">
<classpath refid="maven.runtime.classpath"/>
<classpath location="${compiled.classes.dir}"/>
- <arg line="-d jaxbri -o target/wsdl/Test01 -u -uri ${wsdl.source.dir}/Test01.wsdl"/>
+ <arg line="-d jaxbri -ss -sd -t -o target/wsdl/Test01 -u -uri ${wsdl.source.dir}/Test01.wsdl"/>
</java>
- <javac fork="true" destdir="${schema.generated.src.dir}" debug="on">
- <classpath refid="maven.runtime.classpath"/>
- <classpath location="${compiled.classes.dir}"/>
- <src path="target/wsdl/Test01"/>
- </javac>
+ <ant dir="target/wsdl/Test01"/>
</tasks>
</configuration>
<goals>
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org