dims 2003/03/12 13:41:17
Modified: java/src/org/apache/axis/wsdl/toJava Utils.java
Log:
Fix for Bug 17916 - Service.createCall() loses operation namespace URI
Notes:
We were not handling the situation where soap:body was under
mime:multipartRelated/mime:part
Revision Changes Path
1.73 +20 -0 xml-axis/java/src/org/apache/axis/wsdl/toJava/Utils.java
Index: Utils.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/Utils.java,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- Utils.java 3 Mar 2003 11:45:19 -0000 1.72
+++ Utils.java 12 Mar 2003 21:41:17 -0000 1.73
@@ -78,6 +78,7 @@
import javax.wsdl.Part;
import javax.wsdl.extensions.ExtensibilityElement;
import javax.wsdl.extensions.UnknownExtensibilityElement;
+import javax.wsdl.extensions.mime.MIMEMultipartRelated;
import javax.wsdl.extensions.soap.SOAPBody;
import javax.xml.namespace.QName;
import javax.xml.rpc.holders.BooleanHolder;
@@ -652,6 +653,25 @@
SOAPBody body = (SOAPBody) elem;
ns = body.getNamespaceURI();
break;
+ } else if (elem instanceof MIMEMultipartRelated) {
+ Object part = null;
+ javax.wsdl.extensions.mime.MIMEMultipartRelated mpr=
+ (javax.wsdl.extensions.mime.MIMEMultipartRelated) elem;
+ List l = mpr.getMIMEParts();
+ for(int j=0; l!= null && j< l.size() && part == null; j++){
+ javax.wsdl.extensions.mime.MIMEPart mp =
(javax.wsdl.extensions.mime.MIMEPart)l.get(j);
+ List ll= mp.getExtensibilityElements();
+ for(int k=0; ll != null && k < ll.size() && part == null;
k++){
+ part = ll.get(k);
+ if (part instanceof SOAPBody) {
+ SOAPBody body = (SOAPBody) part;
+ ns = body.getNamespaceURI();
+ break;
+ } else {
+ part = null;
+ }
+ }
+ }
} else if (elem instanceof UnknownExtensibilityElement) {
//TODO: After WSDL4J supports soap12, change this code
UnknownExtensibilityElement unkElement =
(UnknownExtensibilityElement) elem;