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 2003/07/03 18:58:31 UTC
cvs commit: xml-axis/java/src/org/apache/axis/description ServiceDesc.java
dims 2003/07/03 09:58:31
Modified: java/src/org/apache/axis/description ServiceDesc.java
Log:
Fix for Bug 20930 - Input parameter resolution by QName always fails in 1.1 final
from dave_marquard@forgent.com
Revision Changes Path
1.78 +5 -3 xml-axis/java/src/org/apache/axis/description/ServiceDesc.java
Index: ServiceDesc.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/description/ServiceDesc.java,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- ServiceDesc.java 5 Jun 2003 14:13:36 -0000 1.77
+++ ServiceDesc.java 3 Jul 2003 16:58:30 -0000 1.78
@@ -1146,15 +1146,17 @@
for (int k = 0; k < paramTypes.length; k++) {
Class type = paramTypes[k];
ParameterDesc paramDesc = new ParameterDesc();
- String opNamespace = operation.getElementQName().getNamespaceURI();
+ // param should be unqualified if we're using rpc style,
+ // or should use the operation's namespace if its document style
+ String paramNamespace = (this.style == Style.RPC ? "" : operation.getElementQName().getNamespaceURI());
// If we have a name for this param, use it, otherwise call
// it "in*"
if (paramNames != null && paramNames[k] != null &&
paramNames[k].length()>0) {
- paramDesc.setQName(new QName(opNamespace, paramNames[k]));
+ paramDesc.setQName(new QName(paramNamespace, paramNames[k]));
} else {
- paramDesc.setQName(new QName(opNamespace, "in" + k));
+ paramDesc.setQName(new QName(paramNamespace, "in" + k));
}
// If it's a Holder, mark it INOUT, and set the XML type QName