You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by aj...@apache.org on 2006/03/07 07:42:37 UTC
svn commit: r383801 - in
/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java:
DatabindingTemplate.xsl InterfaceImplementationTemplate.xsl
SkeletonTemplate.xsl
Author: ajith
Date: Mon Mar 6 22:42:36 2006
New Revision: 383801
URL: http://svn.apache.org/viewcvs?rev=383801&view=rev
Log:
1. Fixed a codegen bug that led to wrong code generattion for empty messages
2. Fixed the JIRA for throwing unsupported exceptions in unimplemented skeletons.
Modified:
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/DatabindingTemplate.xsl
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/SkeletonTemplate.xsl
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/DatabindingTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/DatabindingTemplate.xsl?rev=383801&r1=383800&r2=383801&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/DatabindingTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/DatabindingTemplate.xsl Mon Mar 6 22:42:36 2006
@@ -21,6 +21,7 @@
(org.apache.ws.commons.om.OMAbstractFactory.getOMFactory(),new org.apache.axis2.util.StreamWrapper(param.newXMLStreamReader())) ;
org.apache.ws.commons.om.OMElement documentElement = builder.getDocumentElement();
+
<xsl:if test="$base64">
optimizeContent(documentElement,qNameArray);
</xsl:if>
@@ -31,15 +32,25 @@
private org.apache.ws.commons.soap.SOAPEnvelope toEnvelope(org.apache.ws.commons.soap.SOAPFactory factory, <xsl:value-of select="@type"/> param){
org.apache.ws.commons.soap.SOAPEnvelope envelope = factory.getDefaultEnvelope();
- envelope.getBody().addChild(toOM(param));
+ if (param != null){
+ envelope.getBody().addChild(toOM(param));
+ }
return envelope;
}
</xsl:if>
</xsl:for-each>
- public org.apache.xmlbeans.XmlObject fromOM(org.apache.ws.commons.om.OMElement param,
- java.lang.Class type){
+ /**
+ * get the default envelope
+ */
+ private org.apache.ws.commons.soap.SOAPEnvelope toEnvelope(org.apache.ws.commons.soap.SOAPFactory factory){
+ return factory.getDefaultEnvelope();
+ }
+
+ public org.apache.xmlbeans.XmlObject fromOM(
+ org.apache.ws.commons.om.OMElement param,
+ java.lang.Class type){
try{
<xsl:for-each select="param">
<xsl:if test="@type!=''">
@@ -107,7 +118,9 @@
private org.apache.ws.commons.soap.SOAPEnvelope toEnvelope(
org.apache.ws.commons.soap.SOAPFactory factory, Object param) {
org.apache.ws.commons.soap.SOAPEnvelope envelope = factory.getDefaultEnvelope();
- envelope.getBody().addChild(toOM(param));
+ if (param != null){
+ envelope.getBody().addChild(toOM(param));
+ }
return envelope;
}
@@ -193,6 +206,14 @@
</xsl:if>
</xsl:for-each>
+ /**
+ * get the default envelope
+ */
+ private org.apache.ws.commons.soap.SOAPEnvelope toEnvelope(org.apache.ws.commons.soap.SOAPFactory factory){
+ return factory.getDefaultEnvelope();
+ }
+
+
private java.lang.Object fromOM(org.apache.ws.commons.om.OMElement param,
java.lang.Class type){
@@ -228,6 +249,14 @@
envelope.getBody().addChild(param);
return envelope;
}
+
+ /**
+ * get the default envelope
+ */
+ private org.apache.ws.commons.soap.SOAPEnvelope toEnvelope(org.apache.ws.commons.soap.SOAPFactory factory){
+ return factory.getDefaultEnvelope();
+ }
+
</xsl:template>
</xsl:stylesheet>
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl?rev=383801&r1=383800&r2=383801&view=diff
==============================================================================
--- 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 Mon Mar 6 22:42:36 2006
@@ -212,8 +212,17 @@
</xsl:when>
<xsl:when test="$style='doc'">
//Style is Doc.
+ <!-- Let's assume there is only one parameters here -->
<xsl:for-each select="input/param[@location='body']">
- env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), <xsl:value-of select="@name"/>);
+ <xsl:choose>
+ <xsl:when test="@type!=''">
+ env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), <xsl:value-of select="@name"/>);
+ </xsl:when>
+ <xsl:otherwise>
+ env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()));
+ </xsl:otherwise>
+ </xsl:choose>
+
</xsl:for-each>
<xsl:for-each select="input/param[@location='header']">
// add the children only if the parameter is not null
@@ -319,7 +328,14 @@
<xsl:when test="$style='doc'">
//Style is Doc.
<xsl:for-each select="input/param[@location='body']">
- env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), <xsl:value-of select="@name"/>);
+ <xsl:choose>
+ <xsl:when test="@type!=''">
+ env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), <xsl:value-of select="@name"/>);
+ </xsl:when>
+ <xsl:otherwise>
+ env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()));
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:for-each>
<xsl:for-each select="input/param[@location='header']">
// add the headers only if they are not null
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/SkeletonTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/SkeletonTemplate.xsl?rev=383801&r1=383800&r2=383801&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/SkeletonTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/template/java/SkeletonTemplate.xsl Mon Mar 6 22:42:36 2006
@@ -28,7 +28,7 @@
<xsl:if test="@type!=''"><xsl:if test="position()>1">,</xsl:if><xsl:value-of select="@type"/><xsl:text> </xsl:text><xsl:value-of select="@name"/></xsl:if>
</xsl:for-each> ) throws Exception {
//Todo fill this with the necessary business logic
- <xsl:if test="$outputtype!=''">return null;</xsl:if>
+ <xsl:if test="$outputtype!=''">throw new java.lang.UnsupportedOperationException();</xsl:if>
}
</xsl:for-each>
}