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;
  
  
  

Reply via email to