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 ch...@apache.org on 2006/09/29 13:38:51 UTC
svn commit: r451250 - in /webservices/axis2/trunk/java/modules:
adb-codegen/src/org/apache/axis2/schema/
adb-codegen/src/org/apache/axis2/schema/template/
codegen/src/org/apache/axis2/wsdl/codegen/extension/
codegen/src/org/apache/axis2/wsdl/template/j...
Author: chinthaka
Date: Fri Sep 29 04:38:50 2006
New Revision: 451250
URL: http://svn.apache.org/viewvc?view=rev&rev=451250
Log:
Applying Amila's patch on http://issues.apache.org/jira/browse/AXIS2-1270
Modified:
webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/ExtensionUtility.java
webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBDatabindingTemplate.xsl
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/SchemaUnwrapperExtension.java
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/MessageReceiverTemplate.xsl
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/TestClassTemplate.xsl
webservices/axis2/trunk/java/modules/integration/maven.xml
webservices/axis2/trunk/java/modules/xmlbeans/src/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/ExtensionUtility.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/ExtensionUtility.java?view=diff&rev=451250&r1=451249&r2=451250
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/ExtensionUtility.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/ExtensionUtility.java Fri Sep 29 04:38:50 2006
@@ -233,6 +233,10 @@
// if this is an instance of xs:any, then there is no part name for it. Using ANY_ELEMENT_FIELD_NAME
// for it for now
+
+ //we have to handle both maxoccurs 1 and maxoccurs > 1 situation
+ XmlSchemaAny xmlSchemaAny = (XmlSchemaAny) item;
+
QName partQName = WSDLUtil.getPartQName(opName,
WSDLConstants.INPUT_PART_QNAME_SUFFIX,
Constants.ANY_ELEMENT_FIELD_NAME);
@@ -242,6 +246,7 @@
} else {
mapper.addTypeMappingName(partQName, "org.apache.axiom.om.OMElement");
}
+
}
}
@@ -267,8 +272,14 @@
String className = (String) metaInfoMap.
get(SchemaConstants.SchemaCompilerInfoHolder.CLASSNAME_KEY);
+ // this is a temporary patch
+ // the acual problem is keeping the class name details on the schemaType in
+ // XmlSchema compiler.
+ // we have to store them in XmlElement
if (isArray && !className.endsWith("[]")) {
className += "[]";
+ } else if (!isArray && className.endsWith("[]")){
+ className = className.substring(0,className.length() - 2);
}
QName partQName = WSDLUtil.getPartQName(opName,
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBDatabindingTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBDatabindingTemplate.xsl?view=diff&rev=451250&r1=451249&r2=451250
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBDatabindingTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBDatabindingTemplate.xsl Fri Sep 29 04:38:50 2006
@@ -2,7 +2,9 @@
<xsl:output method="text"/>
<xsl:key name="paramsIn" match="//databinders/param[@direction='in']" use="@type"/>
<xsl:key name="paramsOut" match="//databinders/param[@direction='out']" use="@type"/>
-
+ <xsl:key name="innerParams" match="//databinders/param[@direction='in']/param" use="@partname"/>
+ <!--<xsl:key name="paramsType" match="//databinders/param[@direction='in']" use="@type"/>-->
+
<!-- ################################################################################# -->
<!-- ############################ ADB template ############################## -->
<xsl:template match="databinders[@dbtype='adb']">
@@ -42,71 +44,74 @@
<xsl:variable name="inputElementShortType" select="../../param[@type!='' and @direction='in' and @opname=$opname]/@shorttype"></xsl:variable>
<xsl:variable name="inputElementComplexType" select="../../param[@type!='' and @direction='in' and @opname=$opname]/@complextype"></xsl:variable>
<xsl:variable name="wrappedParameterCount" select="count(../../param[@type!='' and @direction='in' and @opname=$opname]/param)"></xsl:variable>
- <xsl:choose>
- <xsl:when test="$wrappedParameterCount > 0">
- <!-- geneate the toEnvelope method-->
- private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory,
- <xsl:for-each select="../../param[@type!='' and @direction='in' and @opname=$opname]/param">
- <xsl:value-of select="@type"/> param<xsl:value-of select="position()"/>,
- </xsl:for-each>
- boolean optimizeContent){
-
- <xsl:value-of select="$inputElementType"/> wrappedType = new <xsl:value-of select="$inputElementType"/>();
-
+ <xsl:if test="generate-id($inputElement) = generate-id(key('paramsIn', $inputElementType)[1])">
<xsl:choose>
- <!--<xsl:when test="$inputElementComplexType != ''">-->
- <xsl:when test="string-length(normalize-space($inputElementComplexType)) > 0">
- <xsl:value-of select="$inputElementComplexType"/> wrappedComplexType = new <xsl:value-of select="$inputElementComplexType"/>();
- <xsl:for-each select="../../param[@type!='' and @direction='in' and @opname=$opname]/param">
- wrappedComplexType.set<xsl:value-of select="@partname"/>(param<xsl:value-of select="position()"/>);
- </xsl:for-each>
- wrappedType.set<xsl:value-of select="$inputElementShortType"/>(wrappedComplexType);
- </xsl:when>
- <xsl:otherwise>
- <xsl:for-each select="../../param[@type!='' and @direction='in' and @opname=$opname]/param">
- wrappedType.set<xsl:value-of select="@partname"/>(param<xsl:value-of select="position()"/>);
- </xsl:for-each>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:when test="$wrappedParameterCount > 0">
+ <!-- geneate the toEnvelope method-->
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory,
+ <xsl:for-each select="../../param[@type!='' and @direction='in' and @opname=$opname]/param">
+ <xsl:value-of select="@type"/> param<xsl:value-of select="position()"/>,
+ </xsl:for-each>
+ <xsl:value-of select="$inputElementType"/> dummyWrappedType,
+ boolean optimizeContent){
+
+ <xsl:value-of select="$inputElementType"/> wrappedType = new <xsl:value-of select="$inputElementType"/>();
+
+ <xsl:choose>
+ <!--<xsl:when test="$inputElementComplexType != ''">-->
+ <xsl:when test="string-length(normalize-space($inputElementComplexType)) > 0">
+ <xsl:value-of select="$inputElementComplexType"/> wrappedComplexType = new <xsl:value-of select="$inputElementComplexType"/>();
+ <xsl:for-each select="../../param[@type!='' and @direction='in' and @opname=$opname]/param">
+ wrappedComplexType.set<xsl:value-of select="@partname"/>(param<xsl:value-of select="position()"/>);
+ </xsl:for-each>
+ wrappedType.set<xsl:value-of select="$inputElementShortType"/>(wrappedComplexType);
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:for-each select="../../param[@type!='' and @direction='in' and @opname=$opname]/param">
+ wrappedType.set<xsl:value-of select="@partname"/>(param<xsl:value-of select="position()"/>);
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+ <xsl:choose>
+ <xsl:when test="$helpermode">
+ emptyEnvelope.getBody().addChild(<xsl:value-of select="$inputElementType"/>Helper.getOMElement(
+ wrappedType,
+ <xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
+ </xsl:when>
+ <xsl:otherwise>
+ emptyEnvelope.getBody().addChild(wrappedType.getOMElement(<xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
+ </xsl:otherwise>
+ </xsl:choose>
- org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
- <xsl:choose>
- <xsl:when test="$helpermode">
- emptyEnvelope.getBody().addChild(<xsl:value-of select="$inputElementType"/>Helper.getOMElement(
- wrappedType,
- <xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
- </xsl:when>
- <xsl:otherwise>
- emptyEnvelope.getBody().addChild(wrappedType.getOMElement(<xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
- </xsl:otherwise>
- </xsl:choose>
+ return emptyEnvelope;
+ }
- return emptyEnvelope;
- }
-
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="generate-id($inputElement) = generate-id(key('paramsIn', $inputElementType)[1])">
- <!-- Assumption - the parameter is always an ADB element-->
- private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, <xsl:value-of select="$inputElementType"/> param, boolean optimizeContent){
- org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
- <xsl:choose>
- <xsl:when test="$helpermode">
- emptyEnvelope.getBody().addChild(<xsl:value-of select="$inputElementType"/>Helper.getOMElement(
- param,
- <xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
</xsl:when>
<xsl:otherwise>
- emptyEnvelope.getBody().addChild(param.getOMElement(<xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
- </xsl:otherwise>
- </xsl:choose>
- return emptyEnvelope;
- }
- </xsl:if>
+
+ <!-- Assumption - the parameter is always an ADB element-->
+ private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, <xsl:value-of select="$inputElementType"/> param, boolean optimizeContent){
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
+ <xsl:choose>
+ <xsl:when test="$helpermode">
+ emptyEnvelope.getBody().addChild(<xsl:value-of select="$inputElementType"/>Helper.getOMElement(
+ param,
+ <xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
+ </xsl:when>
+ <xsl:otherwise>
+ emptyEnvelope.getBody().addChild(param.getOMElement(<xsl:value-of select="$inputElementType"/>.MY_QNAME,factory));
+ </xsl:otherwise>
+ </xsl:choose>
+ return emptyEnvelope;
+ }
+
</xsl:otherwise>
</xsl:choose>
+ </xsl:if>
</xsl:when>
<xsl:otherwise>
<!-- Do nothing here -->
@@ -142,22 +147,32 @@
</xsl:choose>
<xsl:if test="count(../../param[@type!='' and @direction='in' and @opname=$opname])=1">
<!-- generate the get methods -->
+ <xsl:variable name="inputElement" select="../../param[@type!='' and @direction='in' and @opname=$opname]"></xsl:variable>
+ <xsl:variable name="inputElementType" select="../../param[@type!='' and @direction='in' and @opname=$opname]/@type"></xsl:variable>
<xsl:variable name="inputElementShortType" select="../../param[@type!='' and @direction='in' and @opname=$opname]/@shorttype"></xsl:variable>
<xsl:variable name="inputElementComplexType" select="../../param[@type!='' and @direction='in' and @opname=$opname]/@complextype"></xsl:variable>
<xsl:for-each select="../../param[@type!='' and @direction='in' and @opname=$opname]/param">
- private <xsl:value-of select="@type"/> get<xsl:value-of select="@partname"/>(
- <xsl:value-of select="../@type"/> wrappedType){
- <xsl:choose>
- <!--<xsl:when test="$inputElementComplexType != ''">-->
- <xsl:when test="string-length(normalize-space($inputElementComplexType)) > 0">
- return wrappedType.get<xsl:value-of select="$inputElementShortType"/>().get<xsl:value-of select="@partname"/>();
- </xsl:when>
- <xsl:otherwise>
- return wrappedType.get<xsl:value-of select="@partname"/>();
- </xsl:otherwise>
- </xsl:choose>
- }
+
+ <xsl:variable name="paramElement" select="."></xsl:variable>
+ <xsl:variable name="partName" select="@partname"></xsl:variable>
+
+ <xsl:if test="(generate-id($paramElement) = generate-id(key('innerParams', $partName)[1])) or
+ (generate-id($inputElement) = generate-id(key('paramsIn', $inputElementType)[1]))">
+
+ private <xsl:value-of select="@type"/> get<xsl:value-of select="@partname"/>(
+ <xsl:value-of select="../@type"/> wrappedType){
+ <xsl:choose>
+ <!--<xsl:when test="$inputElementComplexType != ''">-->
+ <xsl:when test="string-length(normalize-space($inputElementComplexType)) > 0">
+ return wrappedType.get<xsl:value-of select="$inputElementShortType"/>().get<xsl:value-of select="@partname"/>();
+ </xsl:when>
+ <xsl:otherwise>
+ return wrappedType.get<xsl:value-of select="@partname"/>();
+ </xsl:otherwise>
+ </xsl:choose>
+ }
+ </xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:if>
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/SchemaUnwrapperExtension.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/SchemaUnwrapperExtension.java?view=diff&rev=451250&r1=451249&r2=451250
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/SchemaUnwrapperExtension.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/SchemaUnwrapperExtension.java Fri Sep 29 04:38:50 2006
@@ -1,6 +1,7 @@
package org.apache.axis2.wsdl.codegen.extension;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.util.URLProcessor;
import org.apache.axis2.description.AxisMessage;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
@@ -184,7 +185,9 @@
XmlSchemaComplexContentExtension schemaExtension = (XmlSchemaComplexContentExtension) content;
// process particles inside this extension, if any
- processXMLSchemaSequence(schemaExtension.getParticle(), message, partNameList);
+ if (schemaExtension.getParticle() != null){
+ processXMLSchemaSequence(schemaExtension.getParticle(), message, partNameList);
+ }
// now we need to get the schema of the extension type from the parent schema. For that let's first retrieve
// the parent schema
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl?view=diff&rev=451250&r1=451249&r2=451250
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl Fri Sep 29 04:38:50 2006
@@ -240,12 +240,15 @@
<!-- 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:variable name="inputElementType" select="input/param[@location='body' and @type!='']/@type"></xsl:variable>
+
<xsl:choose>
<xsl:when test="$inputWrappedCount > 0">
+ <xsl:value-of select="$inputElementType"/><xsl:text> </xsl:text>dummyWrappedType = null;
env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()),
<xsl:for-each select="input/param[@location='body' and @type!='']/param">
<xsl:value-of select="@name"/>,
- </xsl:for-each>
+ </xsl:for-each>dummyWrappedType,
optimizeContent(new javax.xml.namespace.QName("<xsl:value-of select="$method-ns"/>",
"<xsl:value-of select="$method-name"/>")));
</xsl:when>
@@ -442,12 +445,15 @@
<!-- 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:variable name="inputElementType" select="input/param[@location='body' and @type!='']/@type"></xsl:variable>
+
<xsl:choose>
<xsl:when test="$inputWrappedCount > 0">
+ <xsl:value-of select="$inputElementType"/><xsl:text> </xsl:text>dummyWrappedType = null;
env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()),
<xsl:for-each select="input/param[@location='body' and @type!='']/param">
<xsl:value-of select="@name"/>,
- </xsl:for-each>
+ </xsl:for-each> dummyWrappedType,
optimizeContent(new javax.xml.namespace.QName("<xsl:value-of select="$method-ns"/>",
"<xsl:value-of select="$method-name"/>")));
</xsl:when>
@@ -595,12 +601,15 @@
<!-- 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:variable name="inputElementType" select="input/param[@location='body' and @type!='']/@type"></xsl:variable>
+
<xsl:choose>
<xsl:when test="$inputWrappedCount > 0">
+ <xsl:value-of select="$inputElementType"/><xsl:text> </xsl:text>dummyWrappedType = null;
env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()),
<xsl:for-each select="input/param[@location='body' and @type!='']/param">
<xsl:value-of select="@name"/>,
- </xsl:for-each>
+ </xsl:for-each>dummyWrappedType,
optimizeContent(new javax.xml.namespace.QName("<xsl:value-of select="$method-ns"/>",
"<xsl:value-of select="$method-name"/>")));
</xsl:when>
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/MessageReceiverTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/MessageReceiverTemplate.xsl?view=diff&rev=451250&r1=451249&r2=451250
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/MessageReceiverTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/MessageReceiverTemplate.xsl Fri Sep 29 04:38:50 2006
@@ -101,16 +101,16 @@
<xsl:when test="$inputWrappedCount > 0">
<!-- generate the references. the getters need to be
generated by the databinding-->
- <xsl:for-each select="input/param[@location='body' and @type!='']/param">
- <xsl:value-of select="@type"/> param<xsl:value-of select="position()"/>
- = get<xsl:value-of select="@partname"/>(wrappedParam);
- </xsl:for-each>
+ <!--<xsl:for-each select="input/param[@location='body' and @type!='']/param">-->
+ <!--<xsl:value-of select="@type"/> param<xsl:value-of select="position()"/>-->
+ <!--= get<xsl:value-of select="@partname"/>(wrappedParam);-->
+ <!--</xsl:for-each>-->
<xsl:if test="$returntype!=''"><xsl:value-of select="$returnvariable"/> =</xsl:if>
skel.<xsl:value-of select="@name"/>(
<xsl:for-each select="input/param[@location='body' and @type!='']/param">
<xsl:if test="position() > 1">,</xsl:if>
- param<xsl:value-of select="position()"/>
+ get<xsl:value-of select="@partname"/>(wrappedParam)
</xsl:for-each>
);
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/TestClassTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/TestClassTemplate.xsl?view=diff&rev=451250&r1=451249&r2=451250
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/TestClassTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/TestClassTemplate.xsl Fri Sep 29 04:38:50 2006
@@ -1,6 +1,5 @@
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
-
<!-- Incldue the test object creation template -->
<xsl:include href="testObject"/>
@@ -45,22 +44,68 @@
</xsl:text>(<xsl:value-of select="@type"/>)getTestObject(<xsl:value-of select="@type"/>.class);
// todo Fill in the <xsl:value-of select="@name"/> here
</xsl:for-each>
-
<xsl:choose>
<xsl:when test="$outputtype=''">
<!-- for now think there is only one input element -->
//There is no output to be tested!
stub.<xsl:value-of select="@name"/>(
<xsl:for-each select="input/param">
- <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@name"/>
- </xsl:if>
+ <xsl:variable name="opname" select="@opname"/>
+ <xsl:variable name="paramname" select="@name"/>
+ <xsl:variable name="paramcount" select="count(param[@type!='' and @opname=$opname])"/>
+ <xsl:variable name="shorttype" select="@shorttype"/>
+ <xsl:variable name="complextype" select="@complextype"/>
+
+ <xsl:choose>
+ <xsl:when test="$paramcount > 0">
+ <xsl:for-each select="param[@type!='' and @opname=$opname]">
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space($complextype)) > 0">
+ <xsl:if test="position()>1">,</xsl:if><xsl:value-of select="$paramname"/>.get<xsl:value-of select="$shorttype"/>().get<xsl:value-of
+ select="@partname"/>()
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="position()>1">,</xsl:if><xsl:value-of select="$paramname"/>.get<xsl:value-of select="@partname"/>()
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@name"/></xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:for-each>);
</xsl:when>
<xsl:otherwise>
assertNotNull(stub.<xsl:value-of select="@name"/>(
<xsl:for-each select="input/param">
- <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@name"/>
- </xsl:if>
+
+ <xsl:variable name="opname" select="@opname"/>
+ <xsl:variable name="paramname" select="@name"/>
+ <xsl:variable name="paramcount" select="count(param[@type!='' and @opname=$opname])"/>
+ <xsl:variable name="shorttype" select="@shorttype"/>
+ <xsl:variable name="complextype" select="@complextype"/>
+
+ <xsl:choose>
+ <xsl:when test="$paramcount > 0">
+ <xsl:for-each select="param[@type!='' and @opname=$opname]">
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space($complextype)) > 0">
+ <xsl:if test="position()>1">,</xsl:if><xsl:value-of select="$paramname"/>.get<xsl:value-of select="$shorttype"/>().get<xsl:value-of
+ select="@partname"/>()
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="position()>1">,</xsl:if><xsl:value-of select="$paramname"/>.get<xsl:value-of select="@partname"/>()
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@name"/></xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ <!-- if the input/param element contain any attributes then we have to unwrap them-->
+
</xsl:for-each>));
</xsl:otherwise>
</xsl:choose>
@@ -99,7 +144,30 @@
stub.start<xsl:value-of select="@name"/>(
<xsl:for-each select="input/param">
- <xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@name"/>
+ <xsl:variable name="opname" select="@opname"/>
+ <xsl:variable name="paramname" select="@name"/>
+ <xsl:variable name="paramcount" select="count(param[@type!='' and @opname=$opname])"/>
+ <xsl:variable name="shorttype" select="@shorttype"/>
+ <xsl:variable name="complextype" select="@complextype"/>
+
+ <xsl:choose>
+ <xsl:when test="$paramcount > 0">
+ <xsl:for-each select="param[@type!='' and @opname=$opname]">
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space($complextype)) > 0">
+ <xsl:if test="position()>1">,</xsl:if><xsl:value-of select="$paramname"/>.get<xsl:value-of select="$shorttype"/>().get<xsl:value-of
+ select="@partname"/>()
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="position()>1">,</xsl:if><xsl:value-of select="$paramname"/>.get<xsl:value-of select="@partname"/>()
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@name"/></xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:for-each>,
new <xsl:value-of select="$tempCallbackName"/>()
);
@@ -149,7 +217,30 @@
//There is no output to be tested!
stub.<xsl:value-of select="@name"/>(
<xsl:for-each select="input/param">
- <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@name"/></xsl:if>
+ <xsl:variable name="opname" select="@opname"/>
+ <xsl:variable name="paramname" select="@name"/>
+ <xsl:variable name="paramcount" select="count(param[@type!='' and @opname=$opname])"/>
+ <xsl:variable name="shorttype" select="@shorttype"/>
+ <xsl:variable name="complextype" select="@complextype"/>
+
+ <xsl:choose>
+ <xsl:when test="$paramcount > 0">
+ <xsl:for-each select="param[@type!='' and @opname=$opname]">
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space($complextype)) > 0">
+ <xsl:if test="position()>1">,</xsl:if><xsl:value-of select="$paramname"/>.get<xsl:value-of select="$shorttype"/>().get<xsl:value-of
+ select="@partname"/>()
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="position()>1">,</xsl:if><xsl:value-of select="$paramname"/>.get<xsl:value-of select="@partname"/>()
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@name"/></xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:for-each>);
</xsl:when>
@@ -172,4 +263,5 @@
}
</xsl:template>
+
</xsl:stylesheet>
Modified: webservices/axis2/trunk/java/modules/integration/maven.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/maven.xml?view=diff&rev=451250&r1=451249&r2=451250
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/maven.xml (original)
+++ webservices/axis2/trunk/java/modules/integration/maven.xml Fri Sep 29 04:38:50 2006
@@ -168,7 +168,14 @@
</java>
<ant:ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="target/eBaySvc"
target="jar.server"/>
- </j:if>
+ <ant:echo>Running codegen for eBaySvc WSDL with un wrapping </ant:echo>
+ <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">
+ <classpath refid="maven.dependency.classpath"/>
+ <arg line="-ss -sd -g -b -o target/eBaySvcUW -s -t -uw -uri test-resources/eBaySvc.wsdl"/>
+ </java>
+ <ant:ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="target/eBaySvcUW"
+ target="jar.server"/>
+ </j:if>
</j:if>
</preGoal>
Modified: webservices/axis2/trunk/java/modules/xmlbeans/src/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/xmlbeans/src/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl?view=diff&rev=451250&r1=451249&r2=451250
==============================================================================
--- webservices/axis2/trunk/java/modules/xmlbeans/src/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/xmlbeans/src/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl Fri Sep 29 04:38:50 2006
@@ -52,7 +52,7 @@
private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory,
<xsl:for-each select="../../param[@type!='' and @direction='in' and @opname=$opname]/param">
<xsl:value-of select="@type"/> param<xsl:value-of select="position()"/>,
- </xsl:for-each>
+ </xsl:for-each><xsl:value-of select="$inputElementType"/> dummyWrappedType,
boolean optimizeContent){
<xsl:value-of select="$inputElementType"/> wrappedType = <xsl:value-of select="$inputElementType"/>.Factory.newInstance();
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org