Author: ajith
Date: Sun Jul 9 03:57:17 2006
New Revision: 420278
URL: http://svn.apache.org/viewvc?rev=420278&view=rev
Log:
1. Changed the namespace uri of the operation to be the target namespace from
the axis service in the AxisServiceBasedMultiLanguageEmitter.java
2. Changed the ADBDatabindingTemplate.xsl toEnvelope method to utilize the
newly added getOMElement method from ADB beans. This should improve the
performance but Dims would have to run the perf test to find out :)
Modified:
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/emitter/AxisServiceBasedMultiLanguageEmitter.java
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?rev=420278&r1=420277&r2=420278&view=diff
==============================================================================
---
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
Sun Jul 9 03:57:17 2006
@@ -12,7 +12,7 @@
</xsl:for-each>
};
</xsl:if>
- <!-- generate toOM for only non parts - this is WRONG!!!! -->
+ <!-- generate toOM for only non parts and non primitives!!! -->
<xsl:for-each select="[EMAIL PROTECTED]'' and not(@primitive) and
not(@partname)]">
private org.apache.axiom.om.OMElement toOM(<xsl:value-of
select="@type"/> param, boolean optimizeContent){
return param.getOMElement(param.MY_QNAME,
@@ -25,12 +25,11 @@
<xsl:variable name="opnsuri"><xsl:value-of
select="@opnsuri"/></xsl:variable>
<xsl:choose>
<xsl:when test="count(../../[EMAIL PROTECTED]'' and
@direction='in' and @opname=$opname])=1">
+ <!-- Assumption - The ADBBean here is always an element
based bean -->
private org.apache.axiom.soap.SOAPEnvelope
toEnvelope(org.apache.axiom.soap.SOAPFactory factory, <xsl:value-of
select="../../[EMAIL PROTECTED]'' and @direction='in' and
@opname=$opname]/@type"/> param, boolean optimizeContent){
- //note - optimize content is not used here !
- org.apache.axis2.databinding.ADBSOAPModelBuilder builder =
- new
org.apache.axis2.databinding.ADBSOAPModelBuilder(param.getPullParser(<xsl:value-of
select="../../[EMAIL PROTECTED]'' and @direction='in' and
@opname=$opname]/@type"/>.MY_QNAME),
- factory);
- return builder.getEnvelope();
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope =
factory.getDefaultEnvelope();
+
emptyEnvelope.getBody().addChild(param.getOMElement(<xsl:value-of
select="../../[EMAIL PROTECTED]'' and @direction='in' and
@opname=$opname]/@type"/>.MY_QNAME,factory));
+ return emptyEnvelope;
}
</xsl:when>
<xsl:when test="count(../../[EMAIL PROTECTED]'' and
@direction='in' and @opname=$opname]) > 1">
@@ -76,12 +75,11 @@
</xsl:choose>
<xsl:choose>
<xsl:when test="count(../../[EMAIL PROTECTED]''
and @direction='out' and @opname=$opname])=1">
+ <!-- Assumption - The ADBBean here is always an element
based bean -->
private org.apache.axiom.soap.SOAPEnvelope
toEnvelope(org.apache.axiom.soap.SOAPFactory factory, <xsl:value-of
select="../../[EMAIL PROTECTED]'' and @direction='out' and
@opname=$opname]/@type"/> param, boolean optimizeContent){
- //note - optimize content is not used here !
- org.apache.axis2.databinding.ADBSOAPModelBuilder builder =
- new
org.apache.axis2.databinding.ADBSOAPModelBuilder(param.getPullParser(<xsl:value-of
select="../../[EMAIL PROTECTED]'' and @direction='out' and
@opname=$opname]/@type"/>.MY_QNAME),
- factory);
- return builder.getEnvelope();
+ org.apache.axiom.soap.SOAPEnvelope emptyEnvelope =
factory.getDefaultEnvelope();
+
emptyEnvelope.getBody().addChild(param.getOMElement(<xsl:value-of
select="../../[EMAIL PROTECTED]'' and @direction='out' and
@opname=$opname]/@type"/>.MY_QNAME,factory));
+ return emptyEnvelope;
}
</xsl:when>
</xsl:choose>
Modified:
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java
URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java?rev=420278&r1=420277&r2=420278&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java
(original)
+++
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/emitter/AxisServiceBasedMultiLanguageEmitter.java
Sun Jul 9 03:57:17 2006
@@ -1077,7 +1077,10 @@
AxisOperation axisOperation = (AxisOperation)
operationsIterator.next();
elt = doc.createElement("name");
elt.appendChild(doc.createTextNode(axisOperation.getName().getLocalPart()));
-
addAttribute(doc,"opnsuri",axisOperation.getName().getNamespaceURI(),elt);
+
+ //what needs to be put here as the opertation namespace is
actually the
+ //traget namespace of the service
+ addAttribute(doc,"opnsuri",axisService.getTargetNamespace(),elt);
root.appendChild(elt);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]