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 2004/10/20 15:49:35 UTC

cvs commit: ws-axis/java/test/wsdl/clash VerifyFilesTestCase.java

dims        2004/10/20 06:49:35

  Modified:    java/test/wsdl/qualify2 AttributeQualify_BindingImpl.java
                        AttributeQualify_ServiceTestCase.java
               java/test/wsdl/datatypes DataTypes_BindingImpl.java
                        DataTypesTestCase.java
               java/src/org/apache/axis/wsdl/toJava
                        JavaGeneratorFactory.java
               java/test/wsdl/polymorphism
                        PolymorphismTest_ServiceTestCase.java
                        PolymorphismTestSoapImpl.java
               java/test/wsdl/qualify Qualify_BindingImpl.java
                        Qualify_ServiceTestCase.java
               java/test/wsdl/extensibility server-deploy.wsdd
               java/src/org/apache/axis/wsdl/symbolTable SymbolTable.java
               java/test/wsdl/primitiveWrappers
                        TypeWrapper_BindingImpl.java
               java/test/wsdl/clash VerifyFilesTestCase.java
  Added:       java/test/wsdl/wsrf build.xml
                        wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl
  Log:
  Possible fix for AXIS-1614 - Name collision of generated code caused by AXIS-1598
  from Jongjin Choi
  
  Revision  Changes    Path
  1.4       +1 -1      ws-axis/java/test/wsdl/qualify2/AttributeQualify_BindingImpl.java
  
  Index: AttributeQualify_BindingImpl.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/qualify2/AttributeQualify_BindingImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AttributeQualify_BindingImpl.java	25 Feb 2004 14:03:04 -0000	1.3
  +++ AttributeQualify_BindingImpl.java	20 Oct 2004 13:49:35 -0000	1.4
  @@ -33,7 +33,7 @@
   import org.w3c.dom.Attr;
   import org.w3c.dom.Element;
   
  -public class AttributeQualify_BindingImpl implements test.wsdl.qualify2.AttributeQualify_Port {
  +public class AttributeQualify_BindingImpl implements test.wsdl.qualify2.AttributeQualify_PortType {
   
       public static final String NAMESPACE = "urn:attributeQualify";
   
  
  
  
  1.5       +1 -1      ws-axis/java/test/wsdl/qualify2/AttributeQualify_ServiceTestCase.java
  
  Index: AttributeQualify_ServiceTestCase.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/qualify2/AttributeQualify_ServiceTestCase.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- AttributeQualify_ServiceTestCase.java	25 Feb 2004 14:03:04 -0000	1.4
  +++ AttributeQualify_ServiceTestCase.java	20 Oct 2004 13:49:35 -0000	1.5
  @@ -40,7 +40,7 @@
       }
   
       public void test1AttributeQualifyEchoPhone() {
  -        test.wsdl.qualify2.AttributeQualify_Port binding;
  +        test.wsdl.qualify2.AttributeQualify_PortType binding;
           test.wsdl.qualify2.AttributeQualify_ServiceLocator locator = new test.wsdl.qualify2.AttributeQualify_ServiceLocator();
           try {
               binding = locator.getAttributeQualify();
  
  
  
  1.1                  ws-axis/java/test/wsdl/wsrf/build.xml
  
  Index: build.xml
  ===================================================================
  <?xml version="1.0" ?>
  <!DOCTYPE project [
          <!ENTITY properties SYSTEM "file:../../../xmls/properties.xml">
          <!ENTITY paths  SYSTEM "file:../../../xmls/path_refs.xml">
          <!ENTITY taskdefs SYSTEM "file:../../../xmls/taskdefs.xml">
          <!ENTITY taskdefs_post_compile SYSTEM "file:../../../xmls/taskdefs_post_compile.xml">
          <!ENTITY targets SYSTEM "file:../../../xmls/targets.xml">
  ]>
  
  <!-- ===================================================================
  <description>
     Test/Sample Component file for Axis
  
  Notes:
     This is a build file for use with the Jakarta Ant build tool.
  
  Prerequisites:
  
     jakarta-ant from http://jakarta.apache.org
  
  Build Instructions:
     To compile
          ant compile
     To execute
          ant run
  
  Author:
    Matt Seibert mseibert@us.ibm.com
  
  Copyright:
    Copyright (c) 2002-2003 Apache Software Foundation.
  </description>
  ==================================================================== -->
  
  <project default="compile">
  
  <property name="axis.home" location="../../.." />
  <property name="componentName" value="test/wsdl/wsrf" />
          &properties;
          &paths;
          &taskdefs;
          &taskdefs_post_compile;
          &targets;
  
  <target name="clean">
      <echo message="Removing ${build.dir}/classes/${componentName} and ${build.dir}/work/${componentName}" />
      <delete dir="${build.dir}/classes/${componentName}"/>
      <delete dir="${build.dir}/work/${componentName}"/>
  </target>
  
  <target name="copy" depends="setenv"/>
  
  <target name="compile" depends="copy">
    <echo message="Compiling test.wsdl.wsrf"/>
  
      <!-- local version of the WSDL -->
      <wsdl2java url="${axis.home}/test/wsdl/wsrf/wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl"
                 output="${axis.home}/build/work"
                 verbose="no"
                 serverSide="no"
                 testcase="no">
          <mapping namespace="http://www.tempuri.org" package="test.wsdl.wsrf"/>
          <mapping namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" package="test.wsdl.wsrf.draft"/>
          <mapping namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" package="test.wsdl.wsrf.draft.xsd"/>
      </wsdl2java>
  
      <copy todir="${build.dir}/work/test/wsdl/wsrf" overwrite="yes">
        <fileset dir="${axis.home}/test/wsdl/wsrf">
          <include name="*TestCase.java"/>
        </fileset>
      </copy>
  
      <javac srcdir="${build.dir}/work" destdir="${build.dest}" nowarn="${nowarn}" source="${source}" fork="${javac.fork}"
             debug="${debug}">
        <classpath refid="classpath" />
        <include name="test/wsdl/wsrf/**/*.java" />
      </javac>
  </target>
  
  <target name="run" >
    <antcall target="execute-Component-noServer" />
  </target>
  
  </project>
  
  
  
  1.1                  ws-axis/java/test/wsdl/wsrf/wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl
  
  Index: wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <wsdl:definitions name="WS-ResourcePropertiesImpl"
    xmlns="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:wsbf=
    "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd"
    xmlns:wsrp=
    "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" 
    xmlns:wsrpw=
    "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" 
    xmlns:tns="http://www.tempuri.org"
    targetNamespace="http://www.tempuri.org"
  >
  <wsdl:import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl" location="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"/>
  
  <wsdl:binding name="GetResourcePropertySoapBinding" type="wsrpw:GetResourceProperty">
  	<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  	<wsdl:operation name="GetResourceProperty">
  		<wsdl:input>
  			<soap:body use="literal"/>
  		</wsdl:input>
  		<wsdl:output>
  			<soap:body use="literal"/>
  		</wsdl:output>
  		<wsdl:fault name="ResourceUnknownFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  		<wsdl:fault name="InvalidResourcePropertyQNameFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  	</wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="GetMultipleResourcePropertiesSoapBinding" type="wsrpw:GetMultipleResourceProperties">
  	<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  	<wsdl:operation name="GetMultipleResourceProperties">
  		<wsdl:input>
  			<soap:body use="literal"/>
  		</wsdl:input>
  		<wsdl:output>
  			<soap:body use="literal"/>
  		</wsdl:output>
  		<wsdl:fault name="ResourceUnknownFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  		<wsdl:fault name="InvalidResourcePropertyQNameFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  	</wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="SetResourcePropertiesSoapBinding" type="wsrpw:SetResourceProperties">
  	<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  	<wsdl:operation name="SetResourceProperties">
  		<wsdl:input>
  			<soap:body use="literal"/>
  		</wsdl:input>
  		<wsdl:output>
  			<soap:body use="literal"/>
  		</wsdl:output>
  		<wsdl:fault name="ResourceUnknownFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  		<wsdl:fault name="InvalidSetResourcePropertiesRequestContentFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  		<wsdl:fault name="UnableToModifyResourcePropertyFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  		<wsdl:fault name="InvalidResourcePropertyQNameFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  		<wsdl:fault name="SetResourcePropertyRequestFailedFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  	</wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="QueryResourcePropertiesSoapBinding" type="wsrpw:QueryResourceProperties">
  	<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  	<wsdl:operation name="QueryResourceProperties">
  		<wsdl:input>
  			<soap:body use="literal"/>
  		</wsdl:input>
  		<wsdl:output>
  			<soap:body use="literal"/>
  		</wsdl:output>
  		<wsdl:fault name="ResourceUnknownFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  		<wsdl:fault name="InvalidResourcePropertyQNameFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  		<wsdl:fault name="UnknownQueryExpressionDialectFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  		<wsdl:fault name="InvalidQueryExpressionFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  		<wsdl:fault name="QueryEvaluationErrorFault">
  			<soap:fault use="literal"/>
  		</wsdl:fault>
  	</wsdl:operation>
  </wsdl:binding>
  
  <wsdl:service name="ResourceService">
  	<port name="GetResourceProperty" binding="tns:GetResourcePropertySoapBinding">
  		<soap:address location="http://localhost:8080/ResourceService/GetResourceProperty"/>
  	</port>
  	<port name="GetMultipleResourceProperties" binding="tns:GetMultipleResourcePropertiesSoapBinding">
  		<soap:address location="http://localhost:8080/ResourceService/GetMultipleResouceProperties"/>
  	</port>
  	<port name="SetResourceProperties" binding="tns:SetResourcePropertiesSoapBinding">
  		<soap:address location="http://localhost:8080/ResourceService/SetResourceProperties"/>
  	</port>
  	<port name="QueryResourceProperties" binding="tns:QueryResourcePropertiesSoapBinding">
  		<soap:address location="http://localhost:8080/ResourceService/QueryResourceProperties"/>
  	</port>
  </wsdl:service>
  </wsdl:definitions>
  
  
  
  1.5       +1 -1      ws-axis/java/test/wsdl/datatypes/DataTypes_BindingImpl.java
  
  Index: DataTypes_BindingImpl.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/datatypes/DataTypes_BindingImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DataTypes_BindingImpl.java	27 Mar 2004 18:23:26 -0000	1.4
  +++ DataTypes_BindingImpl.java	20 Oct 2004 13:49:35 -0000	1.5
  @@ -7,7 +7,7 @@
   
   package test.wsdl.datatypes;
   
  -public class DataTypes_BindingImpl implements DataTypes_Port {
  +public class DataTypes_BindingImpl implements DataTypes_PortType {
       public java.lang.String sayHello() throws java.rmi.RemoteException {
           return "Hello World!";
       }
  
  
  
  1.7       +8 -8      ws-axis/java/test/wsdl/datatypes/DataTypesTestCase.java
  
  Index: DataTypesTestCase.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/datatypes/DataTypesTestCase.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- DataTypesTestCase.java	27 Mar 2004 18:23:26 -0000	1.6
  +++ DataTypesTestCase.java	20 Oct 2004 13:49:35 -0000	1.7
  @@ -14,7 +14,7 @@
           super(name);
       }
       public void test1DataTypesSoapSayHello() {
  -        DataTypes_Port binding;
  +        DataTypes_PortType binding;
           try {
               binding = new DataTypes_ServiceLocator().getDataTypes();
           }
  @@ -34,7 +34,7 @@
       }
   
       public void test2DataTypesSoapSayHelloName() {
  -        DataTypes_Port binding;
  +        DataTypes_PortType binding;
           try {
               binding = new DataTypes_ServiceLocator().getDataTypes();
           }
  @@ -54,7 +54,7 @@
       }
   
       public void test3DataTypesSoapGetIntArray() {
  -        DataTypes_Port binding;
  +        DataTypes_PortType binding;
           try {
               binding = new DataTypes_ServiceLocator().getDataTypes();
           }
  @@ -78,7 +78,7 @@
       }
   
       public void test4DataTypesSoapGetMode() {
  -        DataTypes_Port binding;
  +        DataTypes_PortType binding;
           try {
               binding = new DataTypes_ServiceLocator().getDataTypes();
           }
  @@ -98,7 +98,7 @@
       }
   
       public void test5DataTypesSoapGetOrder() {
  -        DataTypes_Port binding;
  +        DataTypes_PortType binding;
           try {
               binding = new DataTypes_ServiceLocator().getDataTypes();
           }
  @@ -119,7 +119,7 @@
       }
   
       public void test6DataTypesSoapGetOrders() {
  -        DataTypes_Port binding;
  +        DataTypes_PortType binding;
           try {
               binding = new DataTypes_ServiceLocator().getDataTypes();
           }
  @@ -150,7 +150,7 @@
       }
   
       public void test7DataTypesSoapGetSimpleList() {
  -        DataTypes_Port binding;
  +        DataTypes_PortType binding;
           try {
               binding = new DataTypes_ServiceLocator().getDataTypes();
           }
  @@ -178,7 +178,7 @@
       }
   
       public void test5DataTypesGetUsageType() throws Exception {
  -        DataTypes_Port binding;
  +        DataTypes_PortType binding;
           try {
               binding = new DataTypes_ServiceLocator().getDataTypes();
           }
  
  
  
  1.59      +139 -18   ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java
  
  Index: JavaGeneratorFactory.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- JavaGeneratorFactory.java	15 Oct 2004 16:37:50 -0000	1.58
  +++ JavaGeneratorFactory.java	20 Oct 2004 13:49:35 -0000	1.59
  @@ -58,7 +58,9 @@
   import java.util.HashMap;
   import java.util.HashSet;
   import java.util.Iterator;
  +import java.util.List;
   import java.util.Map;
  +import java.util.Set;
   import java.util.Vector;
   
   /**
  @@ -82,6 +84,15 @@
   
       /** Field EXCEPTION_DATA_TYPE */
       public static String EXCEPTION_DATA_TYPE = "ExceptionDataType";
  +    
  +    /* Name suffixes for collision */
  +    private static final String SERVICE_SUFFIX = "_Service";
  +    private static final String PORT_TYPE_SUFFIX = "_PortType";     // "_Port" (Axis classic) --> "_PortType" (JAX-RPC 1.1)
  +    private static final String TYPE_SUFFIX = "_Type";
  +    private static final String ELEMENT_SUFFIX = "_Element";        // "_ElemType (Axis classic) --> "_Element" (JAX-RPC 1.1)
  +    private static final String EXCEPTION_SUFFIX = "_Exception";   
  +    private static final String BINDING_SUFFIX = "_Binding";
  +
   
       /**
        * Default constructor.  Note that this class is unusable until setEmitter
  @@ -937,6 +948,43 @@
           HashSet anonTypes = new HashSet();
           Iterator it = symbolTable.getHashMap().values().iterator();
   
  +        // MUST check Name Collisions between different namespaces 
  +        // in case package name is set with default package name.
  +        // To do it, reconstruct iterator.
  +        if (emitter.getPackageName() != null) {
  +            List entries = new ArrayList();
  +            List namespaceURIs = new ArrayList();
  +            List localParts = new ArrayList();
  +            
  +            // Collect namespaceURIs and names related to the all entry of SymbolTable.
  +            HashMap map = symbolTable.getHashMap();
  +            Set keySet = map.keySet();
  +            for (Iterator itr = keySet.iterator(); itr.hasNext(); ) {
  +                QName qName = (QName)itr.next();
  +
  +                String namespaceURI = qName.getNamespaceURI();
  +                if (!namespaceURIs.contains(namespaceURI))
  +                    namespaceURIs.add(namespaceURI);
  +
  +                String localPart = qName.getLocalPart();
  +                if (!localParts.contains(localPart))
  +                    localParts.add(localPart);
  +            }
  +            
  +            // Combine entry vectors, which have the same entry name, into a new entry vector.
  +            for (int i = 0; i < localParts.size(); i++) {
  +                Vector v = new Vector();
  +                for (int j = 0; j < namespaceURIs.size(); j++) {
  +                    QName qName = new QName((String)namespaceURIs.get(j), (String)localParts.get(i));
  +                    if (map.get(qName) != null) {
  +                        v.addAll((Vector)map.get(qName));
  +                    }
  +                }
  +                entries.add(v);
  +            }
  +            it = entries.iterator();
  +        }                
  +        
           while (it.hasNext()) {
               Vector v = new Vector(
                       (Vector) it.next());    // New vector we can temporarily add to it
  @@ -946,7 +994,13 @@
   
               while (index < v.size()) {
                   if (v.elementAt(index) instanceof MessageEntry) {
  -                    v.removeElementAt(index);
  +                    // Need to resolve a Exception message.
  +                    MessageEntry msgEntry = (MessageEntry) v.elementAt(index);                    
  +                    if (msgEntry.getDynamicVar(EXCEPTION_CLASS_NAME) == null) {
  +                        v.removeElementAt(index);
  +                    } else {                        
  +                        index++;
  +                    }
                   } else {
                       index++;
                   }
  @@ -959,11 +1013,11 @@
                   // If a Type and Element have the same QName, and the Element
                   // references the Type, then they are the same class so
                   // don't bother mangling.
  -                if ((v.size() == 2) && (((v.elementAt(
  -                        0) instanceof Element) && (v.elementAt(
  -                                1) instanceof Type)) || ((v.elementAt(
  -                                        1) instanceof Element) && (v.elementAt(
  -                                                0) instanceof Type)))) {
  +                if (v.size() == 2 &&
  +                    ((v.elementAt(0) instanceof Element &&
  +                      v.elementAt(1) instanceof Type) ||
  +                     (v.elementAt(1) instanceof Element &&
  +                      v.elementAt(0) instanceof Type))) {
                       Element e = null;
   
                       if (v.elementAt(0) instanceof Element) {
  @@ -993,8 +1047,16 @@
                           SymTabEntry entry = (SymTabEntry) v.elementAt(i);
   
                           if ((entry instanceof MessageEntry)
  -                                || (entry instanceof BindingEntry)) {
  -                            ;                  // Don't process these
  +                                || (entry instanceof BindingEntry)) {                            
  +                            // Need to resolve a exception class name                            
  +                            String exceptionClassName = (String) entry.getDynamicVar(EXCEPTION_CLASS_NAME);
  +                            if (exceptionClassName != null) {                                
  +                                if (name == null) {
  +                                    name = exceptionClassName;
  +                                } else if (name.equals(exceptionClassName)) {
  +                                    resolve = true;
  +                                }
  +                            }
                           } else if (name == null) {
                               name = entry.getName();
                           } else if (name.equals(entry.getName())) {
  @@ -1011,8 +1073,7 @@
                           SymTabEntry entry = (SymTabEntry) v.elementAt(i);
   
                           if (entry instanceof Element) {
  -                            entry.setName(mangleName(entry.getName(),
  -                                    "_ElemType"));
  +                            entry.setName(mangleName(entry.getName(), ELEMENT_SUFFIX));
   
                               // If this global element was defined using
                               // an anonymous type, then need to change the
  @@ -1021,13 +1082,14 @@
                                       new QName(entry.getQName().getNamespaceURI(),
                                               SymbolTable.ANON_TOKEN
                                       + entry.getQName().getLocalPart());
  +                            
                               TypeEntry anonType =
                                       symbolTable.getType(anonQName);
   
                               if (anonType != null) {
                                   anonType.setName(entry.getName());
                                   anonTypes.add(anonType);
  -                            }
  +                            }                            
                           } else if (entry instanceof TypeEntry) {
   
                               // Search all other types for java names that match this one.
  @@ -1054,16 +1116,75 @@
                               // If this is an anonymous type, it's name was resolved in
                               // the previous if block.  Don't reresolve it.
                               if (!anonTypes.contains(entry)) {
  -                                entry.setName(mangleName(entry.getName(),
  -                                        "_Type"));
  +                                // In case that other entry in name collision among 
  +                                // PortTypeEntry, ServiceEntry and BindingEntry
  +                                
  +                                boolean needResolve = false;
  +                                
  +                                // check collision of TypeEntry with PortTypeEntry, ServiceEtnry and/or BindingEntry 
  +                                for (int j = 0; j < v.size(); j++) {
  +                                    SymTabEntry e = (SymTabEntry) v.elementAt(j);
  +                                    if ((e instanceof PortTypeEntry 
  +                                            || e instanceof ServiceEntry
  +                                            || e instanceof BindingEntry)) {
  +                                        needResolve = true;
  +                                        break;
  +                                    }
  +                                }
  +                                
  +                                if (!needResolve) {
  +                                    continue;
  +                                }                                                                
  +                                
  +                                // Appended Suffix for avoiding name collisions (JAX-RPC 1.1)
  +                                Boolean isComplexTypeFault = (Boolean)entry.getDynamicVar(COMPLEX_TYPE_FAULT);
  +                                if ((isComplexTypeFault != null) && isComplexTypeFault.booleanValue()) {
  +                                    entry.setName(mangleName(entry.getName(), EXCEPTION_SUFFIX));
  +                                } 
  +                                else {
  +                                    entry.setName(mangleName(entry.getName(), TYPE_SUFFIX));
  +                                }
  +                                
  +                                // should update the class name of ElementEntry which references this type entry
  +                                Map elementIndex = symbolTable.getElementIndex();
  +                                List elements = new ArrayList(elementIndex.values());
  +                                for (int j = 0; j < elementIndex.size(); j++) {
  +                                    TypeEntry te = (TypeEntry) elements.get(j);
  +                                    TypeEntry ref = te.getRefType();
  +                                    if (ref != null && entry.getQName().equals(ref.getQName())) {
  +                                        te.setName(entry.getName());
  +                                    }
  +                                }           
  +                                
  +                                // Need to resolve a complex-type exception message.
  +                                if ((isComplexTypeFault != null) && isComplexTypeFault.booleanValue()) {
  +                                    // SHOULD update the exception class name of a referencing message entry.
  +                                    List messageEntries = symbolTable.getMessageEntries();
  +                                    for (int j = 0; j < messageEntries.size(); j++) {
  +                                        MessageEntry messageEntry = (MessageEntry)messageEntries.get(j);
  +                                        Boolean isComplexTypeFaultMsg = (Boolean)messageEntry.getDynamicVar(COMPLEX_TYPE_FAULT);
  +                                        if ((isComplexTypeFaultMsg != null) && (isComplexTypeFaultMsg.booleanValue())) {
  +                                            QName exceptionDataType = (QName)messageEntry.getDynamicVar(EXCEPTION_DATA_TYPE);
  +                                            if (((TypeEntry)entry).getQName().equals(exceptionDataType)) {
  +                                                String className = (String)messageEntry.getDynamicVar(EXCEPTION_CLASS_NAME);
  +                                                messageEntry.setDynamicVar(EXCEPTION_CLASS_NAME, className + EXCEPTION_SUFFIX);
  +                                            }
  +                                        }
  +                                    }
  +                                }
                               }
                           } else if (entry instanceof PortTypeEntry) {
  -                            entry.setName(mangleName(entry.getName(), "_Port"));
  +                            entry.setName(mangleName(entry.getName(), PORT_TYPE_SUFFIX));   // "_Port" --> "_PortType" for JAX-RPC 1.1
                           } else if (entry instanceof ServiceEntry) {
  -                            entry.setName(mangleName(entry.getName(),
  -                                    "_Service"));
  +                            entry.setName(mangleName(entry.getName(), SERVICE_SUFFIX));
  +                        } else if (entry instanceof MessageEntry) {
  +                            Boolean complexTypeFault = 
  +                                (Boolean) entry.getDynamicVar(COMPLEX_TYPE_FAULT);
  +                            if ((complexTypeFault == null) || !complexTypeFault.booleanValue()) {
  +                                String exceptionClassName = (String) entry.getDynamicVar(EXCEPTION_CLASS_NAME);
  +                                entry.setDynamicVar(EXCEPTION_CLASS_NAME, exceptionClassName + EXCEPTION_SUFFIX);
  +                            }                            
                           }
  -
                           // else if (entry instanceof MessageEntry) {
                           // we don't care about messages
                           // }
  @@ -1078,7 +1199,7 @@
                               // possibility of a name clash.
                               if (bEntry.hasLiteral()) {
                                   entry.setName(mangleName(entry.getName(),
  -                                        "_Binding"));
  +                                        BINDING_SUFFIX));
                               }
                           }
                       }
  
  
  
  1.4       +2 -2      ws-axis/java/test/wsdl/polymorphism/PolymorphismTest_ServiceTestCase.java
  
  Index: PolymorphismTest_ServiceTestCase.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/polymorphism/PolymorphismTest_ServiceTestCase.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PolymorphismTest_ServiceTestCase.java	13 Dec 2003 20:43:01 -0000	1.3
  +++ PolymorphismTest_ServiceTestCase.java	20 Oct 2004 13:49:35 -0000	1.4
  @@ -20,7 +20,7 @@
       }
   
       public void test1PolymorphismTestGetBAsA() {
  -        test.wsdl.polymorphism.PolymorphismTest_Port binding;
  +        test.wsdl.polymorphism.PolymorphismTest_PortType binding;
           try {
               binding = new test.wsdl.polymorphism.PolymorphismTest_ServiceLocator().getPolymorphismTest();
           }
  @@ -51,7 +51,7 @@
       }
   
       public void test1PolymorphismTestGetCAsA() {
  -        test.wsdl.polymorphism.PolymorphismTest_Port binding;
  +        test.wsdl.polymorphism.PolymorphismTest_PortType binding;
           try {
               binding = new test.wsdl.polymorphism.PolymorphismTest_ServiceLocator().getPolymorphismTest();
           }
  
  
  
  1.3       +1 -1      ws-axis/java/test/wsdl/polymorphism/PolymorphismTestSoapImpl.java
  
  Index: PolymorphismTestSoapImpl.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/polymorphism/PolymorphismTestSoapImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PolymorphismTestSoapImpl.java	22 Jul 2002 19:09:04 -0000	1.2
  +++ PolymorphismTestSoapImpl.java	20 Oct 2004 13:49:35 -0000	1.3
  @@ -7,7 +7,7 @@
   
   package test.wsdl.polymorphism;
   
  -public class PolymorphismTestSoapImpl implements test.wsdl.polymorphism.PolymorphismTest_Port{
  +public class PolymorphismTestSoapImpl implements test.wsdl.polymorphism.PolymorphismTest_PortType{
       public static final String B_TEXT = "this is my B field";
       public static final String A_TEXT = "this is my A field";
   
  
  
  
  1.12      +1 -1      ws-axis/java/test/wsdl/qualify/Qualify_BindingImpl.java
  
  Index: Qualify_BindingImpl.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/qualify/Qualify_BindingImpl.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Qualify_BindingImpl.java	15 Oct 2004 16:42:17 -0000	1.11
  +++ Qualify_BindingImpl.java	20 Oct 2004 13:49:35 -0000	1.12
  @@ -34,7 +34,7 @@
   import org.w3c.dom.Node;
   import org.w3c.dom.NodeList;
   
  -public class Qualify_BindingImpl implements test.wsdl.qualify.Qualify_Port {
  +public class Qualify_BindingImpl implements test.wsdl.qualify.Qualify_PortType {
       
       public static final String namespace = "urn:qualifyTest";
       
  
  
  
  1.12      +2 -2      ws-axis/java/test/wsdl/qualify/Qualify_ServiceTestCase.java
  
  Index: Qualify_ServiceTestCase.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/qualify/Qualify_ServiceTestCase.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Qualify_ServiceTestCase.java	15 Oct 2004 16:42:17 -0000	1.11
  +++ Qualify_ServiceTestCase.java	20 Oct 2004 13:49:35 -0000	1.12
  @@ -41,7 +41,7 @@
   
       public void test1QualifySimple() {
           Qualify_ServiceLocator locator = new Qualify_ServiceLocator();
  -        Qualify_Port binding;
  +        Qualify_PortType binding;
           try {
               binding = locator.getQualify();
           } catch (javax.xml.rpc.ServiceException jre) {
  @@ -102,7 +102,7 @@
   
       public void test2QualifyFormOverride() {
           Qualify_ServiceLocator locator = new Qualify_ServiceLocator();
  -        test.wsdl.qualify.Qualify_Port binding;
  +        test.wsdl.qualify.Qualify_PortType binding;
           try {
               binding = locator.getQualify();
           } catch (javax.xml.rpc.ServiceException jre) {
  
  
  
  1.12      +1 -1      ws-axis/java/test/wsdl/extensibility/server-deploy.wsdd
  
  Index: server-deploy.wsdd
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/extensibility/server-deploy.wsdd,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- server-deploy.wsdd	24 Mar 2004 19:44:58 -0000	1.11
  +++ server-deploy.wsdd	20 Oct 2004 13:49:35 -0000	1.12
  @@ -28,7 +28,7 @@
           <typeMapping
             xmlns:ns="urn:ExtensibilityQuery"
             qname="ns:>queryResponse"
  -          type="java:test.wsdl.extensibility._queryResponse"
  +          type="java:test.wsdl.extensibility.QueryResponse"
             serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
             deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
             encodingStyle=""
  
  
  
  1.107     +19 -5     ws-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java
  
  Index: SymbolTable.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java,v
  retrieving revision 1.106
  retrieving revision 1.107
  diff -u -r1.106 -r1.107
  --- SymbolTable.java	15 Oct 2004 14:07:24 -0000	1.106
  +++ SymbolTable.java	20 Oct 2004 13:49:35 -0000	1.107
  @@ -529,6 +529,7 @@
                   : getURL(null, context);
   
           populate(contextURL, def, doc, null);
  +        processTypes();
           checkForUndefined();
           populateParameters();
           setReferences(def, doc);    // uses wrapped flag set in populateParameters
  @@ -697,7 +698,6 @@
                   lookForImports(context, doc);
               }
           }
  -        processTypes();
   
           if (def != null) {
               checkForUndefined(def, filename);
  @@ -1631,7 +1631,6 @@
                                   portType.getQName().getNamespaceURI();
                           Parameters parms = getOperationParameters(operation,
                                   namespace, bEntry);
  -
                           parameters.put(operation, parms);
                       }
   
  @@ -1706,7 +1705,7 @@
                       literalInput, operation.getName(),
                       bindingEntry);
           }
  -
  +        
           // Collect all the output parameters
           if ((output != null) && (output.getMessage() != null)) {
               getParametersFromParts(outputs,
  @@ -1714,7 +1713,7 @@
                       literalOutput, operation.getName(),
                       bindingEntry);
           }
  -
  +        
           if (parameterOrder != null && !wrapped) {
   
               // Construct a list of the parameters in the parameterOrder list, determining the
  @@ -2119,7 +2118,6 @@
               BooleanHolder forElement = new BooleanHolder();
               QName type = Utils.getTypeQName(node, forElement,
                       false);
  -
               if ((type != null) && !forElement.value) {
   
                   // If in fact we have such a type, go get the node that
  @@ -3713,5 +3711,21 @@
                   type.setContainedElements(elements);
               }
           }
  +    }
  +    
  +    public List getMessageEntries() {
  +        List messageEntries = new ArrayList();
  +        Iterator iter = symbolTable.values().iterator();
  +        while (iter.hasNext()) {
  +            Vector v = (Vector)iter.next();
  +            for (int i = 0; i < v.size(); ++i) {
  +                SymTabEntry entry = (SymTabEntry)v.elementAt(i);
  +                if (entry instanceof MessageEntry) {
  +                    messageEntries.add(entry);
  +                }
  +            }
  +        }
  +
  +        return messageEntries;
       }
   }    // class SymbolTable
  
  
  
  1.2       +1 -1      ws-axis/java/test/wsdl/primitiveWrappers/TypeWrapper_BindingImpl.java
  
  Index: TypeWrapper_BindingImpl.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/primitiveWrappers/TypeWrapper_BindingImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TypeWrapper_BindingImpl.java	10 Dec 2003 02:52:27 -0000	1.1
  +++ TypeWrapper_BindingImpl.java	20 Oct 2004 13:49:35 -0000	1.2
  @@ -7,7 +7,7 @@
   
   package test.wsdl.primitiveWrappers;
   
  -public class TypeWrapper_BindingImpl implements test.wsdl.primitiveWrappers.TypeWrapper_Port{
  +public class TypeWrapper_BindingImpl implements test.wsdl.primitiveWrappers.TypeWrapper_PortType {
       public java.lang.Integer testWrapping(java.lang.Integer testWrappingInputInteger, test.wsdl.primitiveWrappers.Bean testWrappingInputBean) throws java.rmi.RemoteException {
           return testWrappingInputInteger;
       }
  
  
  
  1.10      +1 -1      ws-axis/java/test/wsdl/clash/VerifyFilesTestCase.java
  
  Index: VerifyFilesTestCase.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/clash/VerifyFilesTestCase.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- VerifyFilesTestCase.java	25 Feb 2004 14:03:03 -0000	1.9
  +++ VerifyFilesTestCase.java	20 Oct 2004 13:49:35 -0000	1.10
  @@ -41,7 +41,7 @@
           set.add("NonSharedNameImpl.java");
           set.add("NonSharedNameStub.java");
           set.add("SayHello.java");
  -        set.add("SharedName_Port.java");
  +        set.add("SharedName_PortType.java");
           set.add("SharedName_Service.java");
           set.add("SharedName_ServiceLocator.java");
           set.add("SharedName_ServiceTestCase.java");
  
  
  

RE: cvs commit: ws-axis/java/test/wsdl/clash VerifyFilesTestCase.java

Posted by Ias <ia...@hotmail.com>.
dims, you're so fast :-) Anyway, it became easier to test it for all those
interested in this issue.

One thought hitting me is that if one suggest some change to have
possiblities to break backward compatibility, we should take a considerable
amount of time (maybe 1 week is not long enough) to evaluate it and have
unanimous +1. 

Thanks,

Ias

P.S. This reminds me of JAX-RPC 2 spec (controversial? :-) 

> -----Original Message-----
> From: dims@apache.org [mailto:dims@apache.org] 
> Sent: Wednesday, October 20, 2004 2:50 PM
> To: ws-axis-cvs@apache.org
> Subject: cvs commit: ws-axis/java/test/wsdl/clash 
> VerifyFilesTestCase.java
> 
> dims        2004/10/20 06:49:35
> 
>   Modified:    java/test/wsdl/qualify2 
> AttributeQualify_BindingImpl.java
>                         AttributeQualify_ServiceTestCase.java
>                java/test/wsdl/datatypes DataTypes_BindingImpl.java
>                         DataTypesTestCase.java
>                java/src/org/apache/axis/wsdl/toJava
>                         JavaGeneratorFactory.java
>                java/test/wsdl/polymorphism
>                         PolymorphismTest_ServiceTestCase.java
>                         PolymorphismTestSoapImpl.java
>                java/test/wsdl/qualify Qualify_BindingImpl.java
>                         Qualify_ServiceTestCase.java
>                java/test/wsdl/extensibility server-deploy.wsdd
>                java/src/org/apache/axis/wsdl/symbolTable 
> SymbolTable.java
>                java/test/wsdl/primitiveWrappers
>                         TypeWrapper_BindingImpl.java
>                java/test/wsdl/clash VerifyFilesTestCase.java
>   Added:       java/test/wsdl/wsrf build.xml
>                         
> wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl
>   Log:
>   Possible fix for AXIS-1614 - Name collision of generated 
> code caused by AXIS-1598
>   from Jongjin Choi
>   
>   Revision  Changes    Path
>   1.4       +1 -1      
> ws-axis/java/test/wsdl/qualify2/AttributeQualify_BindingImpl.java
>   
>   Index: AttributeQualify_BindingImpl.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/test/wsdl/qualify2/AttributeQualify_Bin
> dingImpl.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- AttributeQualify_BindingImpl.java	25 Feb 2004 
> 14:03:04 -0000	1.3
>   +++ AttributeQualify_BindingImpl.java	20 Oct 2004 
> 13:49:35 -0000	1.4
>   @@ -33,7 +33,7 @@
>    import org.w3c.dom.Attr;
>    import org.w3c.dom.Element;
>    
>   -public class AttributeQualify_BindingImpl implements 
> test.wsdl.qualify2.AttributeQualify_Port {
>   +public class AttributeQualify_BindingImpl implements 
> test.wsdl.qualify2.AttributeQualify_PortType {
>    
>        public static final String NAMESPACE = "urn:attributeQualify";
>    
>   
>   
>   
>   1.5       +1 -1      
> ws-axis/java/test/wsdl/qualify2/AttributeQualify_ServiceTestCase.java
>   
>   Index: AttributeQualify_ServiceTestCase.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/test/wsdl/qualify2/AttributeQualify_Ser
> viceTestCase.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- AttributeQualify_ServiceTestCase.java	25 Feb 2004 
> 14:03:04 -0000	1.4
>   +++ AttributeQualify_ServiceTestCase.java	20 Oct 2004 
> 13:49:35 -0000	1.5
>   @@ -40,7 +40,7 @@
>        }
>    
>        public void test1AttributeQualifyEchoPhone() {
>   -        test.wsdl.qualify2.AttributeQualify_Port binding;
>   +        test.wsdl.qualify2.AttributeQualify_PortType binding;
>            test.wsdl.qualify2.AttributeQualify_ServiceLocator 
> locator = new test.wsdl.qualify2.AttributeQualify_ServiceLocator();
>            try {
>                binding = locator.getAttributeQualify();
>   
>   
>   
>   1.1                  ws-axis/java/test/wsdl/wsrf/build.xml
>   
>   Index: build.xml
>   ===================================================================
>   <?xml version="1.0" ?>
>   <!DOCTYPE project [
>           <!ENTITY properties SYSTEM 
> "file:../../../xmls/properties.xml">
>           <!ENTITY paths  SYSTEM "file:../../../xmls/path_refs.xml">
>           <!ENTITY taskdefs SYSTEM "file:../../../xmls/taskdefs.xml">
>           <!ENTITY taskdefs_post_compile SYSTEM 
> "file:../../../xmls/taskdefs_post_compile.xml">
>           <!ENTITY targets SYSTEM "file:../../../xmls/targets.xml">
>   ]>
>   
>   <!-- 
> ===================================================================
>   <description>
>      Test/Sample Component file for Axis
>   
>   Notes:
>      This is a build file for use with the Jakarta Ant build tool.
>   
>   Prerequisites:
>   
>      jakarta-ant from http://jakarta.apache.org
>   
>   Build Instructions:
>      To compile
>           ant compile
>      To execute
>           ant run
>   
>   Author:
>     Matt Seibert mseibert@us.ibm.com
>   
>   Copyright:
>     Copyright (c) 2002-2003 Apache Software Foundation.
>   </description>
>   
> ==============================================================
> ====== -->
>   
>   <project default="compile">
>   
>   <property name="axis.home" location="../../.." />
>   <property name="componentName" value="test/wsdl/wsrf" />
>           &properties;
>           &paths;
>           &taskdefs;
>           &taskdefs_post_compile;
>           &targets;
>   
>   <target name="clean">
>       <echo message="Removing 
> ${build.dir}/classes/${componentName} and 
> ${build.dir}/work/${componentName}" />
>       <delete dir="${build.dir}/classes/${componentName}"/>
>       <delete dir="${build.dir}/work/${componentName}"/>
>   </target>
>   
>   <target name="copy" depends="setenv"/>
>   
>   <target name="compile" depends="copy">
>     <echo message="Compiling test.wsdl.wsrf"/>
>   
>       <!-- local version of the WSDL -->
>       <wsdl2java 
> url="${axis.home}/test/wsdl/wsrf/wsrf-WS-ResourceProperties-1.
> 2-draft-01-impl.wsdl"
>                  output="${axis.home}/build/work"
>                  verbose="no"
>                  serverSide="no"
>                  testcase="no">
>           <mapping namespace="http://www.tempuri.org" 
> package="test.wsdl.wsrf"/>
>           <mapping 
> namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-Res
> ourceProperties-1.2-draft-01.wsdl" package="test.wsdl.wsrf.draft"/>
>           <mapping 
> namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-Res
> ourceProperties-1.2-draft-01.xsd" package="test.wsdl.wsrf.draft.xsd"/>
>       </wsdl2java>
>   
>       <copy todir="${build.dir}/work/test/wsdl/wsrf" overwrite="yes">
>         <fileset dir="${axis.home}/test/wsdl/wsrf">
>           <include name="*TestCase.java"/>
>         </fileset>
>       </copy>
>   
>       <javac srcdir="${build.dir}/work" 
> destdir="${build.dest}" nowarn="${nowarn}" source="${source}" 
> fork="${javac.fork}"
>              debug="${debug}">
>         <classpath refid="classpath" />
>         <include name="test/wsdl/wsrf/**/*.java" />
>       </javac>
>   </target>
>   
>   <target name="run" >
>     <antcall target="execute-Component-noServer" />
>   </target>
>   
>   </project>
>   
>   
>   
>   1.1                  
> ws-axis/java/test/wsdl/wsrf/wsrf-WS-ResourceProperties-1.2-dra
> ft-01-impl.wsdl
>   
>   Index: wsrf-WS-ResourceProperties-1.2-draft-01-impl.wsdl
>   ===================================================================
>   <?xml version="1.0" encoding="utf-8"?>
>   <wsdl:definitions name="WS-ResourcePropertiesImpl"
>     xmlns="http://schemas.xmlsoap.org/wsdl/" 
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
>     xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" 
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
>     xmlns:wsbf=
>     
> "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.
> 2-draft-01.xsd"
>     xmlns:wsrp=
>     
> "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourcePrope
> rties-1.2-draft-01.xsd" 
>     xmlns:wsrpw=
>     
> "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourcePrope
> rties-1.2-draft-01.wsdl" 
>     xmlns:tns="http://www.tempuri.org"
>     targetNamespace="http://www.tempuri.org"
>   >
>   <wsdl:import 
> namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-Res
> ourceProperties-1.2-draft-01.wsdl" 
> location="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-Reso
> urceProperties-1.2-draft-01.wsdl"/>
>   
>   <wsdl:binding name="GetResourcePropertySoapBinding" 
> type="wsrpw:GetResourceProperty">
>   	<soap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>   	<wsdl:operation name="GetResourceProperty">
>   		<wsdl:input>
>   			<soap:body use="literal"/>
>   		</wsdl:input>
>   		<wsdl:output>
>   			<soap:body use="literal"/>
>   		</wsdl:output>
>   		<wsdl:fault name="ResourceUnknownFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   		<wsdl:fault name="InvalidResourcePropertyQNameFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   	</wsdl:operation>
>   </wsdl:binding>
>   <wsdl:binding 
> name="GetMultipleResourcePropertiesSoapBinding" 
> type="wsrpw:GetMultipleResourceProperties">
>   	<soap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>   	<wsdl:operation name="GetMultipleResourceProperties">
>   		<wsdl:input>
>   			<soap:body use="literal"/>
>   		</wsdl:input>
>   		<wsdl:output>
>   			<soap:body use="literal"/>
>   		</wsdl:output>
>   		<wsdl:fault name="ResourceUnknownFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   		<wsdl:fault name="InvalidResourcePropertyQNameFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   	</wsdl:operation>
>   </wsdl:binding>
>   <wsdl:binding name="SetResourcePropertiesSoapBinding" 
> type="wsrpw:SetResourceProperties">
>   	<soap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>   	<wsdl:operation name="SetResourceProperties">
>   		<wsdl:input>
>   			<soap:body use="literal"/>
>   		</wsdl:input>
>   		<wsdl:output>
>   			<soap:body use="literal"/>
>   		</wsdl:output>
>   		<wsdl:fault name="ResourceUnknownFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   		<wsdl:fault 
> name="InvalidSetResourcePropertiesRequestContentFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   		<wsdl:fault name="UnableToModifyResourcePropertyFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   		<wsdl:fault name="InvalidResourcePropertyQNameFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   		<wsdl:fault 
> name="SetResourcePropertyRequestFailedFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   	</wsdl:operation>
>   </wsdl:binding>
>   <wsdl:binding name="QueryResourcePropertiesSoapBinding" 
> type="wsrpw:QueryResourceProperties">
>   	<soap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>   	<wsdl:operation name="QueryResourceProperties">
>   		<wsdl:input>
>   			<soap:body use="literal"/>
>   		</wsdl:input>
>   		<wsdl:output>
>   			<soap:body use="literal"/>
>   		</wsdl:output>
>   		<wsdl:fault name="ResourceUnknownFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   		<wsdl:fault name="InvalidResourcePropertyQNameFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   		<wsdl:fault name="UnknownQueryExpressionDialectFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   		<wsdl:fault name="InvalidQueryExpressionFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   		<wsdl:fault name="QueryEvaluationErrorFault">
>   			<soap:fault use="literal"/>
>   		</wsdl:fault>
>   	</wsdl:operation>
>   </wsdl:binding>
>   
>   <wsdl:service name="ResourceService">
>   	<port name="GetResourceProperty" 
> binding="tns:GetResourcePropertySoapBinding">
>   		<soap:address 
> location="http://localhost:8080/ResourceService/GetResourceProperty"/>
>   	</port>
>   	<port name="GetMultipleResourceProperties" 
> binding="tns:GetMultipleResourcePropertiesSoapBinding">
>   		<soap:address 
> location="http://localhost:8080/ResourceService/GetMultipleRes
> ouceProperties"/>
>   	</port>
>   	<port name="SetResourceProperties" 
> binding="tns:SetResourcePropertiesSoapBinding">
>   		<soap:address 
> location="http://localhost:8080/ResourceService/SetResourcePro
> perties"/>
>   	</port>
>   	<port name="QueryResourceProperties" 
> binding="tns:QueryResourcePropertiesSoapBinding">
>   		<soap:address 
> location="http://localhost:8080/ResourceService/QueryResourceP
> roperties"/>
>   	</port>
>   </wsdl:service>
>   </wsdl:definitions>
>   
>   
>   
>   1.5       +1 -1      
> ws-axis/java/test/wsdl/datatypes/DataTypes_BindingImpl.java
>   
>   Index: DataTypes_BindingImpl.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/test/wsdl/datatypes/DataTypes_BindingIm
> pl.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- DataTypes_BindingImpl.java	27 Mar 2004 18:23:26 
> -0000	1.4
>   +++ DataTypes_BindingImpl.java	20 Oct 2004 13:49:35 
> -0000	1.5
>   @@ -7,7 +7,7 @@
>    
>    package test.wsdl.datatypes;
>    
>   -public class DataTypes_BindingImpl implements DataTypes_Port {
>   +public class DataTypes_BindingImpl implements DataTypes_PortType {
>        public java.lang.String sayHello() throws 
> java.rmi.RemoteException {
>            return "Hello World!";
>        }
>   
>   
>   
>   1.7       +8 -8      
> ws-axis/java/test/wsdl/datatypes/DataTypesTestCase.java
>   
>   Index: DataTypesTestCase.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/test/wsdl/datatypes/DataTypesTestCase.java,v
>   retrieving revision 1.6
>   retrieving revision 1.7
>   diff -u -r1.6 -r1.7
>   --- DataTypesTestCase.java	27 Mar 2004 18:23:26 -0000	1.6
>   +++ DataTypesTestCase.java	20 Oct 2004 13:49:35 -0000	1.7
>   @@ -14,7 +14,7 @@
>            super(name);
>        }
>        public void test1DataTypesSoapSayHello() {
>   -        DataTypes_Port binding;
>   +        DataTypes_PortType binding;
>            try {
>                binding = new 
> DataTypes_ServiceLocator().getDataTypes();
>            }
>   @@ -34,7 +34,7 @@
>        }
>    
>        public void test2DataTypesSoapSayHelloName() {
>   -        DataTypes_Port binding;
>   +        DataTypes_PortType binding;
>            try {
>                binding = new 
> DataTypes_ServiceLocator().getDataTypes();
>            }
>   @@ -54,7 +54,7 @@
>        }
>    
>        public void test3DataTypesSoapGetIntArray() {
>   -        DataTypes_Port binding;
>   +        DataTypes_PortType binding;
>            try {
>                binding = new 
> DataTypes_ServiceLocator().getDataTypes();
>            }
>   @@ -78,7 +78,7 @@
>        }
>    
>        public void test4DataTypesSoapGetMode() {
>   -        DataTypes_Port binding;
>   +        DataTypes_PortType binding;
>            try {
>                binding = new 
> DataTypes_ServiceLocator().getDataTypes();
>            }
>   @@ -98,7 +98,7 @@
>        }
>    
>        public void test5DataTypesSoapGetOrder() {
>   -        DataTypes_Port binding;
>   +        DataTypes_PortType binding;
>            try {
>                binding = new 
> DataTypes_ServiceLocator().getDataTypes();
>            }
>   @@ -119,7 +119,7 @@
>        }
>    
>        public void test6DataTypesSoapGetOrders() {
>   -        DataTypes_Port binding;
>   +        DataTypes_PortType binding;
>            try {
>                binding = new 
> DataTypes_ServiceLocator().getDataTypes();
>            }
>   @@ -150,7 +150,7 @@
>        }
>    
>        public void test7DataTypesSoapGetSimpleList() {
>   -        DataTypes_Port binding;
>   +        DataTypes_PortType binding;
>            try {
>                binding = new 
> DataTypes_ServiceLocator().getDataTypes();
>            }
>   @@ -178,7 +178,7 @@
>        }
>    
>        public void test5DataTypesGetUsageType() throws Exception {
>   -        DataTypes_Port binding;
>   +        DataTypes_PortType binding;
>            try {
>                binding = new 
> DataTypes_ServiceLocator().getDataTypes();
>            }
>   
>   
>   
>   1.59      +139 -18   
> ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java
>   
>   Index: JavaGeneratorFactory.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaGen
> eratorFactory.java,v
>   retrieving revision 1.58
>   retrieving revision 1.59
>   diff -u -r1.58 -r1.59
>   --- JavaGeneratorFactory.java	15 Oct 2004 16:37:50 
> -0000	1.58
>   +++ JavaGeneratorFactory.java	20 Oct 2004 13:49:35 
> -0000	1.59
>   @@ -58,7 +58,9 @@
>    import java.util.HashMap;
>    import java.util.HashSet;
>    import java.util.Iterator;
>   +import java.util.List;
>    import java.util.Map;
>   +import java.util.Set;
>    import java.util.Vector;
>    
>    /**
>   @@ -82,6 +84,15 @@
>    
>        /** Field EXCEPTION_DATA_TYPE */
>        public static String EXCEPTION_DATA_TYPE = "ExceptionDataType";
>   +    
>   +    /* Name suffixes for collision */
>   +    private static final String SERVICE_SUFFIX = "_Service";
>   +    private static final String PORT_TYPE_SUFFIX = 
> "_PortType";     // "_Port" (Axis classic) --> "_PortType" 
> (JAX-RPC 1.1)
>   +    private static final String TYPE_SUFFIX = "_Type";
>   +    private static final String ELEMENT_SUFFIX = 
> "_Element";        // "_ElemType (Axis classic) --> 
> "_Element" (JAX-RPC 1.1)
>   +    private static final String EXCEPTION_SUFFIX = "_Exception";   
>   +    private static final String BINDING_SUFFIX = "_Binding";
>   +
>    
>        /**
>         * Default constructor.  Note that this class is 
> unusable until setEmitter
>   @@ -937,6 +948,43 @@
>            HashSet anonTypes = new HashSet();
>            Iterator it = symbolTable.getHashMap().values().iterator();
>    
>   +        // MUST check Name Collisions between different namespaces 
>   +        // in case package name is set with default package name.
>   +        // To do it, reconstruct iterator.
>   +        if (emitter.getPackageName() != null) {
>   +            List entries = new ArrayList();
>   +            List namespaceURIs = new ArrayList();
>   +            List localParts = new ArrayList();
>   +            
>   +            // Collect namespaceURIs and names related to 
> the all entry of SymbolTable.
>   +            HashMap map = symbolTable.getHashMap();
>   +            Set keySet = map.keySet();
>   +            for (Iterator itr = keySet.iterator(); 
> itr.hasNext(); ) {
>   +                QName qName = (QName)itr.next();
>   +
>   +                String namespaceURI = qName.getNamespaceURI();
>   +                if (!namespaceURIs.contains(namespaceURI))
>   +                    namespaceURIs.add(namespaceURI);
>   +
>   +                String localPart = qName.getLocalPart();
>   +                if (!localParts.contains(localPart))
>   +                    localParts.add(localPart);
>   +            }
>   +            
>   +            // Combine entry vectors, which have the same 
> entry name, into a new entry vector.
>   +            for (int i = 0; i < localParts.size(); i++) {
>   +                Vector v = new Vector();
>   +                for (int j = 0; j < namespaceURIs.size(); j++) {
>   +                    QName qName = new 
> QName((String)namespaceURIs.get(j), (String)localParts.get(i));
>   +                    if (map.get(qName) != null) {
>   +                        v.addAll((Vector)map.get(qName));
>   +                    }
>   +                }
>   +                entries.add(v);
>   +            }
>   +            it = entries.iterator();
>   +        }                
>   +        
>            while (it.hasNext()) {
>                Vector v = new Vector(
>                        (Vector) it.next());    // New vector 
> we can temporarily add to it
>   @@ -946,7 +994,13 @@
>    
>                while (index < v.size()) {
>                    if (v.elementAt(index) instanceof MessageEntry) {
>   -                    v.removeElementAt(index);
>   +                    // Need to resolve a Exception message.
>   +                    MessageEntry msgEntry = (MessageEntry) 
> v.elementAt(index);                    
>   +                    if 
> (msgEntry.getDynamicVar(EXCEPTION_CLASS_NAME) == null) {
>   +                        v.removeElementAt(index);
>   +                    } else {                        
>   +                        index++;
>   +                    }
>                    } else {
>                        index++;
>                    }
>   @@ -959,11 +1013,11 @@
>                    // If a Type and Element have the same 
> QName, and the Element
>                    // references the Type, then they are the 
> same class so
>                    // don't bother mangling.
>   -                if ((v.size() == 2) && (((v.elementAt(
>   -                        0) instanceof Element) && (v.elementAt(
>   -                                1) instanceof Type)) || 
> ((v.elementAt(
>   -                                        1) instanceof 
> Element) && (v.elementAt(
>   -                                                0) 
> instanceof Type)))) {
>   +                if (v.size() == 2 &&
>   +                    ((v.elementAt(0) instanceof Element &&
>   +                      v.elementAt(1) instanceof Type) ||
>   +                     (v.elementAt(1) instanceof Element &&
>   +                      v.elementAt(0) instanceof Type))) {
>                        Element e = null;
>    
>                        if (v.elementAt(0) instanceof Element) {
>   @@ -993,8 +1047,16 @@
>                            SymTabEntry entry = (SymTabEntry) 
> v.elementAt(i);
>    
>                            if ((entry instanceof MessageEntry)
>   -                                || (entry instanceof 
> BindingEntry)) {
>   -                            ;                  // Don't 
> process these
>   +                                || (entry instanceof 
> BindingEntry)) {                            
>   +                            // Need to resolve a exception 
> class name                            
>   +                            String exceptionClassName = 
> (String) entry.getDynamicVar(EXCEPTION_CLASS_NAME);
>   +                            if (exceptionClassName != 
> null) {                                
>   +                                if (name == null) {
>   +                                    name = exceptionClassName;
>   +                                } else if 
> (name.equals(exceptionClassName)) {
>   +                                    resolve = true;
>   +                                }
>   +                            }
>                            } else if (name == null) {
>                                name = entry.getName();
>                            } else if (name.equals(entry.getName())) {
>   @@ -1011,8 +1073,7 @@
>                            SymTabEntry entry = (SymTabEntry) 
> v.elementAt(i);
>    
>                            if (entry instanceof Element) {
>   -                            
> entry.setName(mangleName(entry.getName(),
>   -                                    "_ElemType"));
>   +                            
> entry.setName(mangleName(entry.getName(), ELEMENT_SUFFIX));
>    
>                                // If this global element was 
> defined using
>                                // an anonymous type, then 
> need to change the
>   @@ -1021,13 +1082,14 @@
>                                        new 
> QName(entry.getQName().getNamespaceURI(),
>                                                SymbolTable.ANON_TOKEN
>                                        + 
> entry.getQName().getLocalPart());
>   +                            
>                                TypeEntry anonType =
>                                        symbolTable.getType(anonQName);
>    
>                                if (anonType != null) {
>                                    anonType.setName(entry.getName());
>                                    anonTypes.add(anonType);
>   -                            }
>   +                            }                            
>                            } else if (entry instanceof TypeEntry) {
>    
>                                // Search all other types for 
> java names that match this one.
>   @@ -1054,16 +1116,75 @@
>                                // If this is an anonymous 
> type, it's name was resolved in
>                                // the previous if block.  
> Don't reresolve it.
>                                if (!anonTypes.contains(entry)) {
>   -                                
> entry.setName(mangleName(entry.getName(),
>   -                                        "_Type"));
>   +                                // In case that other 
> entry in name collision among 
>   +                                // PortTypeEntry, 
> ServiceEntry and BindingEntry
>   +                                
>   +                                boolean needResolve = false;
>   +                                
>   +                                // check collision of 
> TypeEntry with PortTypeEntry, ServiceEtnry and/or BindingEntry 
>   +                                for (int j = 0; j < 
> v.size(); j++) {
>   +                                    SymTabEntry e = 
> (SymTabEntry) v.elementAt(j);
>   +                                    if ((e instanceof 
> PortTypeEntry 
>   +                                            || e 
> instanceof ServiceEntry
>   +                                            || e 
> instanceof BindingEntry)) {
>   +                                        needResolve = true;
>   +                                        break;
>   +                                    }
>   +                                }
>   +                                
>   +                                if (!needResolve) {
>   +                                    continue;
>   +                                }                          
>                                       
>   +                                
>   +                                // Appended Suffix for 
> avoiding name collisions (JAX-RPC 1.1)
>   +                                Boolean isComplexTypeFault 
> = (Boolean)entry.getDynamicVar(COMPLEX_TYPE_FAULT);
>   +                                if ((isComplexTypeFault != 
> null) && isComplexTypeFault.booleanValue()) {
>   +                                    
> entry.setName(mangleName(entry.getName(), EXCEPTION_SUFFIX));
>   +                                } 
>   +                                else {
>   +                                    
> entry.setName(mangleName(entry.getName(), TYPE_SUFFIX));
>   +                                }
>   +                                
>   +                                // should update the class 
> name of ElementEntry which references this type entry
>   +                                Map elementIndex = 
> symbolTable.getElementIndex();
>   +                                List elements = new 
> ArrayList(elementIndex.values());
>   +                                for (int j = 0; j < 
> elementIndex.size(); j++) {
>   +                                    TypeEntry te = 
> (TypeEntry) elements.get(j);
>   +                                    TypeEntry ref = 
> te.getRefType();
>   +                                    if (ref != null && 
> entry.getQName().equals(ref.getQName())) {
>   +                                        
> te.setName(entry.getName());
>   +                                    }
>   +                                }           
>   +                                
>   +                                // Need to resolve a 
> complex-type exception message.
>   +                                if ((isComplexTypeFault != 
> null) && isComplexTypeFault.booleanValue()) {
>   +                                    // SHOULD update the 
> exception class name of a referencing message entry.
>   +                                    List messageEntries = 
> symbolTable.getMessageEntries();
>   +                                    for (int j = 0; j < 
> messageEntries.size(); j++) {
>   +                                        MessageEntry 
> messageEntry = (MessageEntry)messageEntries.get(j);
>   +                                        Boolean 
> isComplexTypeFaultMsg = 
> (Boolean)messageEntry.getDynamicVar(COMPLEX_TYPE_FAULT);
>   +                                        if 
> ((isComplexTypeFaultMsg != null) && 
> (isComplexTypeFaultMsg.booleanValue())) {
>   +                                            QName 
> exceptionDataType = 
> (QName)messageEntry.getDynamicVar(EXCEPTION_DATA_TYPE);
>   +                                            if 
> (((TypeEntry)entry).getQName().equals(exceptionDataType)) {
>   +                                                String 
> className = (String)messageEntry.getDynamicVar(EXCEPTION_CLASS_NAME);
>   +                                                
> messageEntry.setDynamicVar(EXCEPTION_CLASS_NAME, className + 
> EXCEPTION_SUFFIX);
>   +                                            }
>   +                                        }
>   +                                    }
>   +                                }
>                                }
>                            } else if (entry instanceof 
> PortTypeEntry) {
>   -                            
> entry.setName(mangleName(entry.getName(), "_Port"));
>   +                            
> entry.setName(mangleName(entry.getName(), PORT_TYPE_SUFFIX)); 
>   // "_Port" --> "_PortType" for JAX-RPC 1.1
>                            } else if (entry instanceof ServiceEntry) {
>   -                            
> entry.setName(mangleName(entry.getName(),
>   -                                    "_Service"));
>   +                            
> entry.setName(mangleName(entry.getName(), SERVICE_SUFFIX));
>   +                        } else if (entry instanceof MessageEntry) {
>   +                            Boolean complexTypeFault = 
>   +                                (Boolean) 
> entry.getDynamicVar(COMPLEX_TYPE_FAULT);
>   +                            if ((complexTypeFault == null) 
> || !complexTypeFault.booleanValue()) {
>   +                                String exceptionClassName 
> = (String) entry.getDynamicVar(EXCEPTION_CLASS_NAME);
>   +                                
> entry.setDynamicVar(EXCEPTION_CLASS_NAME, exceptionClassName 
> + EXCEPTION_SUFFIX);
>   +                            }                            
>                            }
>   -
>                            // else if (entry instanceof 
> MessageEntry) {
>                            // we don't care about messages
>                            // }
>   @@ -1078,7 +1199,7 @@
>                                // possibility of a name clash.
>                                if (bEntry.hasLiteral()) {
>                                    
> entry.setName(mangleName(entry.getName(),
>   -                                        "_Binding"));
>   +                                        BINDING_SUFFIX));
>                                }
>                            }
>                        }
>   
>   
>   
>   1.4       +2 -2      
> ws-axis/java/test/wsdl/polymorphism/PolymorphismTest_ServiceTe
> stCase.java
>   
>   Index: PolymorphismTest_ServiceTestCase.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/test/wsdl/polymorphism/PolymorphismTest
> _ServiceTestCase.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- PolymorphismTest_ServiceTestCase.java	13 Dec 2003 
> 20:43:01 -0000	1.3
>   +++ PolymorphismTest_ServiceTestCase.java	20 Oct 2004 
> 13:49:35 -0000	1.4
>   @@ -20,7 +20,7 @@
>        }
>    
>        public void test1PolymorphismTestGetBAsA() {
>   -        test.wsdl.polymorphism.PolymorphismTest_Port binding;
>   +        test.wsdl.polymorphism.PolymorphismTest_PortType binding;
>            try {
>                binding = new 
> test.wsdl.polymorphism.PolymorphismTest_ServiceLocator().getPo
> lymorphismTest();
>            }
>   @@ -51,7 +51,7 @@
>        }
>    
>        public void test1PolymorphismTestGetCAsA() {
>   -        test.wsdl.polymorphism.PolymorphismTest_Port binding;
>   +        test.wsdl.polymorphism.PolymorphismTest_PortType binding;
>            try {
>                binding = new 
> test.wsdl.polymorphism.PolymorphismTest_ServiceLocator().getPo
> lymorphismTest();
>            }
>   
>   
>   
>   1.3       +1 -1      
> ws-axis/java/test/wsdl/polymorphism/PolymorphismTestSoapImpl.java
>   
>   Index: PolymorphismTestSoapImpl.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/test/wsdl/polymorphism/PolymorphismTest
> SoapImpl.java,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- PolymorphismTestSoapImpl.java	22 Jul 2002 19:09:04 
> -0000	1.2
>   +++ PolymorphismTestSoapImpl.java	20 Oct 2004 13:49:35 
> -0000	1.3
>   @@ -7,7 +7,7 @@
>    
>    package test.wsdl.polymorphism;
>    
>   -public class PolymorphismTestSoapImpl implements 
> test.wsdl.polymorphism.PolymorphismTest_Port{
>   +public class PolymorphismTestSoapImpl implements 
> test.wsdl.polymorphism.PolymorphismTest_PortType{
>        public static final String B_TEXT = "this is my B field";
>        public static final String A_TEXT = "this is my A field";
>    
>   
>   
>   
>   1.12      +1 -1      
> ws-axis/java/test/wsdl/qualify/Qualify_BindingImpl.java
>   
>   Index: Qualify_BindingImpl.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/test/wsdl/qualify/Qualify_BindingImpl.java,v
>   retrieving revision 1.11
>   retrieving revision 1.12
>   diff -u -r1.11 -r1.12
>   --- Qualify_BindingImpl.java	15 Oct 2004 16:42:17 
> -0000	1.11
>   +++ Qualify_BindingImpl.java	20 Oct 2004 13:49:35 
> -0000	1.12
>   @@ -34,7 +34,7 @@
>    import org.w3c.dom.Node;
>    import org.w3c.dom.NodeList;
>    
>   -public class Qualify_BindingImpl implements 
> test.wsdl.qualify.Qualify_Port {
>   +public class Qualify_BindingImpl implements 
> test.wsdl.qualify.Qualify_PortType {
>        
>        public static final String namespace = "urn:qualifyTest";
>        
>   
>   
>   
>   1.12      +2 -2      
> ws-axis/java/test/wsdl/qualify/Qualify_ServiceTestCase.java
>   
>   Index: Qualify_ServiceTestCase.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/test/wsdl/qualify/Qualify_ServiceTestCa
> se.java,v
>   retrieving revision 1.11
>   retrieving revision 1.12
>   diff -u -r1.11 -r1.12
>   --- Qualify_ServiceTestCase.java	15 Oct 2004 16:42:17 
> -0000	1.11
>   +++ Qualify_ServiceTestCase.java	20 Oct 2004 13:49:35 
> -0000	1.12
>   @@ -41,7 +41,7 @@
>    
>        public void test1QualifySimple() {
>            Qualify_ServiceLocator locator = new 
> Qualify_ServiceLocator();
>   -        Qualify_Port binding;
>   +        Qualify_PortType binding;
>            try {
>                binding = locator.getQualify();
>            } catch (javax.xml.rpc.ServiceException jre) {
>   @@ -102,7 +102,7 @@
>    
>        public void test2QualifyFormOverride() {
>            Qualify_ServiceLocator locator = new 
> Qualify_ServiceLocator();
>   -        test.wsdl.qualify.Qualify_Port binding;
>   +        test.wsdl.qualify.Qualify_PortType binding;
>            try {
>                binding = locator.getQualify();
>            } catch (javax.xml.rpc.ServiceException jre) {
>   
>   
>   
>   1.12      +1 -1      
> ws-axis/java/test/wsdl/extensibility/server-deploy.wsdd
>   
>   Index: server-deploy.wsdd
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/test/wsdl/extensibility/server-deploy.wsdd,v
>   retrieving revision 1.11
>   retrieving revision 1.12
>   diff -u -r1.11 -r1.12
>   --- server-deploy.wsdd	24 Mar 2004 19:44:58 -0000	1.11
>   +++ server-deploy.wsdd	20 Oct 2004 13:49:35 -0000	1.12
>   @@ -28,7 +28,7 @@
>            <typeMapping
>              xmlns:ns="urn:ExtensibilityQuery"
>              qname="ns:>queryResponse"
>   -          type="java:test.wsdl.extensibility._queryResponse"
>   +          type="java:test.wsdl.extensibility.QueryResponse"
>              
> serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
>              
> deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
>              encodingStyle=""
>   
>   
>   
>   1.107     +19 -5     
> ws-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java
>   
>   Index: SymbolTable.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/symbolTable/Sy
> mbolTable.java,v
>   retrieving revision 1.106
>   retrieving revision 1.107
>   diff -u -r1.106 -r1.107
>   --- SymbolTable.java	15 Oct 2004 14:07:24 -0000	1.106
>   +++ SymbolTable.java	20 Oct 2004 13:49:35 -0000	1.107
>   @@ -529,6 +529,7 @@
>                    : getURL(null, context);
>    
>            populate(contextURL, def, doc, null);
>   +        processTypes();
>            checkForUndefined();
>            populateParameters();
>            setReferences(def, doc);    // uses wrapped flag 
> set in populateParameters
>   @@ -697,7 +698,6 @@
>                    lookForImports(context, doc);
>                }
>            }
>   -        processTypes();
>    
>            if (def != null) {
>                checkForUndefined(def, filename);
>   @@ -1631,7 +1631,6 @@
>                                    
> portType.getQName().getNamespaceURI();
>                            Parameters parms = 
> getOperationParameters(operation,
>                                    namespace, bEntry);
>   -
>                            parameters.put(operation, parms);
>                        }
>    
>   @@ -1706,7 +1705,7 @@
>                        literalInput, operation.getName(),
>                        bindingEntry);
>            }
>   -
>   +        
>            // Collect all the output parameters
>            if ((output != null) && (output.getMessage() != null)) {
>                getParametersFromParts(outputs,
>   @@ -1714,7 +1713,7 @@
>                        literalOutput, operation.getName(),
>                        bindingEntry);
>            }
>   -
>   +        
>            if (parameterOrder != null && !wrapped) {
>    
>                // Construct a list of the parameters in the 
> parameterOrder list, determining the
>   @@ -2119,7 +2118,6 @@
>                BooleanHolder forElement = new BooleanHolder();
>                QName type = Utils.getTypeQName(node, forElement,
>                        false);
>   -
>                if ((type != null) && !forElement.value) {
>    
>                    // If in fact we have such a type, go get 
> the node that
>   @@ -3713,5 +3711,21 @@
>                    type.setContainedElements(elements);
>                }
>            }
>   +    }
>   +    
>   +    public List getMessageEntries() {
>   +        List messageEntries = new ArrayList();
>   +        Iterator iter = symbolTable.values().iterator();
>   +        while (iter.hasNext()) {
>   +            Vector v = (Vector)iter.next();
>   +            for (int i = 0; i < v.size(); ++i) {
>   +                SymTabEntry entry = (SymTabEntry)v.elementAt(i);
>   +                if (entry instanceof MessageEntry) {
>   +                    messageEntries.add(entry);
>   +                }
>   +            }
>   +        }
>   +
>   +        return messageEntries;
>        }
>    }    // class SymbolTable
>   
>   
>   
>   1.2       +1 -1      
> ws-axis/java/test/wsdl/primitiveWrappers/TypeWrapper_BindingImpl.java
>   
>   Index: TypeWrapper_BindingImpl.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/test/wsdl/primitiveWrappers/TypeWrapper
> _BindingImpl.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- TypeWrapper_BindingImpl.java	10 Dec 2003 02:52:27 
> -0000	1.1
>   +++ TypeWrapper_BindingImpl.java	20 Oct 2004 13:49:35 
> -0000	1.2
>   @@ -7,7 +7,7 @@
>    
>    package test.wsdl.primitiveWrappers;
>    
>   -public class TypeWrapper_BindingImpl implements 
> test.wsdl.primitiveWrappers.TypeWrapper_Port{
>   +public class TypeWrapper_BindingImpl implements 
> test.wsdl.primitiveWrappers.TypeWrapper_PortType {
>        public java.lang.Integer 
> testWrapping(java.lang.Integer testWrappingInputInteger, 
> test.wsdl.primitiveWrappers.Bean testWrappingInputBean) 
> throws java.rmi.RemoteException {
>            return testWrappingInputInteger;
>        }
>   
>   
>   
>   1.10      +1 -1      
> ws-axis/java/test/wsdl/clash/VerifyFilesTestCase.java
>   
>   Index: VerifyFilesTestCase.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/test/wsdl/clash/VerifyFilesTestCase.java,v
>   retrieving revision 1.9
>   retrieving revision 1.10
>   diff -u -r1.9 -r1.10
>   --- VerifyFilesTestCase.java	25 Feb 2004 14:03:03 
> -0000	1.9
>   +++ VerifyFilesTestCase.java	20 Oct 2004 13:49:35 
> -0000	1.10
>   @@ -41,7 +41,7 @@
>            set.add("NonSharedNameImpl.java");
>            set.add("NonSharedNameStub.java");
>            set.add("SayHello.java");
>   -        set.add("SharedName_Port.java");
>   +        set.add("SharedName_PortType.java");
>            set.add("SharedName_Service.java");
>            set.add("SharedName_ServiceLocator.java");
>            set.add("SharedName_ServiceTestCase.java");
>   
>   
>   
>