axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From t...@apache.org
Subject cvs commit: xml-axis/java/src/org/apache/axis/utils resources.properties
Date Thu, 24 Jan 2002 23:13:00 GMT
tomj        02/01/24 15:13:00

  Modified:    java/src/org/apache/axis/wsdl/toJava BindingEntry.java
                        JavaBindingWriter.java JavaImplWriter.java
                        JavaInterfaceWriter.java JavaSkelWriter.java
                        JavaStubWriter.java JavaTestCaseWriter.java
                        JavaWriterFactory.java PortTypeEntry.java
                        SymbolTable.java
               java/src/org/apache/axis/utils resources.properties
  Removed:     java/src/org/apache/axis/wsdl/toJava JavaPortTypeWriter.java
  Log:
  Refactoring of parameter generation in the Symbol table.
  
  - The parameters for each operation in a portType are generated after the
    entire symbol table has been populated.
  - The parameters now live in the BindingEntry instead of the PortTypeEntry.
  - The interface class is now generated from the JavaBindingWriter and
    the JavaPortTypeWriter has gone away, as there is nothing for it to write.
  - We now warn instead of fail if their are multiple bindings referencing a
    single portType.  We do not try to generate multiple interface classes.
  
  Still TBD - 0.6 of JAX-RPC seems to indicate that the interface class should
  be named using the binding name "if the mapping to a service definition
  interface uses elements of the wsdl:binding" (section 4.3.3).  If we do this,
  then we wont have collisions when two bindings use the same portType.
  
  Revision  Changes    Path
  1.2       +23 -0     xml-axis/java/src/org/apache/axis/wsdl/toJava/BindingEntry.java
  
  Index: BindingEntry.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/BindingEntry.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BindingEntry.java	11 Dec 2001 15:08:47 -0000	1.1
  +++ BindingEntry.java	24 Jan 2002 23:12:59 -0000	1.2
  @@ -85,6 +85,8 @@
       private int     bindingType;
       private int     bindingStyle;
       private HashMap attributes;
  +    private HashMap  parameters = new HashMap ();
  +    
   
       /**
        * Construct a BindingEntry from a WSDL4J Binding object and the additional binding
info:
  @@ -98,6 +100,27 @@
           this.bindingStyle = bindingStyle;
           this.attributes = attributes;
       } // ctor
  +
  +    /**
  +     * Get the Parameters object for the given operation.
  +     */
  +    public Parameters getParameters(String operationName) {
  +        return (Parameters) parameters.get(operationName);
  +    } // getParameters
  +
  +    /**
  +     * Get all of the parameters for all operations.
  +     */
  +    public HashMap getParameters() {
  +        return parameters;
  +    } // getParameters
  +
  +    /**
  +     * Set the parameters for all operations
  +     */ 
  +    public void setParameters(HashMap parameters) {
  +        this.parameters = parameters;
  +    }
   
       /**
        * Get this entry's WSDL4J Binding object.
  
  
  
  1.2       +14 -0     xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBindingWriter.java
  
  Index: JavaBindingWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBindingWriter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JavaBindingWriter.java	11 Dec 2001 15:08:47 -0000	1.1
  +++ JavaBindingWriter.java	24 Jan 2002 23:12:59 -0000	1.2
  @@ -71,6 +71,7 @@
       Writer stubWriter = null;
       Writer skelWriter = null;
       Writer implWriter = null;
  +    Writer interfaceWriter = null;
   
       /**
        * Constructor.
  @@ -79,9 +80,19 @@
               Emitter emitter,
               Binding binding,
               SymbolTable symbolTable) {
  +
           BindingEntry bEntry = symbolTable.getBindingEntry(binding.getQName());
           if (bEntry.isReferenced()) {
  +            // Interface writer
  +            PortTypeEntry ptEntry = 
  +                    symbolTable.getPortTypeEntry(binding.getPortType().getQName());
  +            interfaceWriter =
  +                    new JavaInterfaceWriter(emitter, ptEntry, bEntry, symbolTable);
  +            
  +            // Stub writer
               stubWriter = new JavaStubWriter(emitter, bEntry, symbolTable);
  +
  +            // Skeleton and Impl writers
               if (emitter.bEmitSkeleton) {
                   skelWriter = new JavaSkelWriter(emitter, bEntry, symbolTable);
                   String fileName = Utils.getJavaLocalName(bEntry.getName())
  @@ -106,6 +117,9 @@
        * Write all the binding bindnigs:  stub, skeleton, and impl.
        */
       public void write() throws IOException {
  +        if (interfaceWriter != null) {
  +            interfaceWriter.write();
  +        }
           if (stubWriter != null) {
               stubWriter.write();
           }
  
  
  
  1.8       +1 -1      xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaImplWriter.java
  
  Index: JavaImplWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaImplWriter.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JavaImplWriter.java	17 Jan 2002 17:20:37 -0000	1.7
  +++ JavaImplWriter.java	24 Jan 2002 23:12:59 -0000	1.8
  @@ -121,7 +121,7 @@
               Operation ptOperation = operation.getOperation();
               OperationType type = ptOperation.getStyle();
               Parameters parameters =
  -                    ptEntry.getParameters(operation.getOperation().getName());
  +                    bEntry.getParameters(operation.getOperation().getName());
   
               // These operation types are not supported.  The signature
               // will be a string stating that fact.
  
  
  
  1.4       +27 -2     xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaInterfaceWriter.java
  
  Index: JavaInterfaceWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaInterfaceWriter.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JavaInterfaceWriter.java	24 Jan 2002 18:02:29 -0000	1.3
  +++ JavaInterfaceWriter.java	24 Jan 2002 23:12:59 -0000	1.4
  @@ -73,20 +73,45 @@
       private PortType      portType;
       private PortTypeEntry ptEntry;
       private SymbolTable   symbolTable;
  +    private BindingEntry  bEntry;
   
       /**
        * Constructor.
        */
       protected JavaInterfaceWriter(
               Emitter emitter,
  -            PortTypeEntry ptEntry, SymbolTable symbolTable) {
  +            PortTypeEntry ptEntry, BindingEntry bEntry, SymbolTable symbolTable) {
           super(emitter, ptEntry, "", "java", JavaUtils.getMessage("genIface00"), "interface");
           this.ptEntry = ptEntry;
           this.portType = ptEntry.getPortType();
           this.symbolTable = symbolTable;
  +        this.bEntry = bEntry;
       } // ctor
   
       /**
  +     * Override write method to prevent duplicate interfaces because
  +     * of two bindings referencing the same portType
  +     */
  +    public void write() throws IOException {
  +        String fqClass = packageName + "." + className;
  +        
  +        // Do not emit the same portType/interface twice
  +        // Warn the user and skip writing this class.
  +        // XXX This would be the wrong thing if the two bindings
  +        // XXX refer to the same port type, but describe it in a different way.
  +        // XXX For example, one has use=literal, the other use=encoded.
  +         if (emitter.fileInfo.getClassNames().contains(fqClass)) {
  +             System.err.println(
  +                     JavaUtils.getMessage("multipleBindings00", 
  +                                          portType.getQName().toString()));
  +             return;
  +         }
  +
  +        // proceed normally
  +        super.write();
  +    } // write
  +
  +    /**
        * Write the body of the portType interface file.
        */
       protected void writeFileBody() throws IOException {
  @@ -107,7 +132,7 @@
        */
       private void writeOperation(Operation operation) throws IOException {
           writeComment(pw, operation.getDocumentationElement());
  -        Parameters parms = ptEntry.getParameters(operation.getName());
  +        Parameters parms = bEntry.getParameters(operation.getName());
           pw.println(parms.signature + ";");
       } // writeOperation
   
  
  
  
  1.10      +2 -2      xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaSkelWriter.java
  
  Index: JavaSkelWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaSkelWriter.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- JavaSkelWriter.java	16 Jan 2002 17:26:16 -0000	1.9
  +++ JavaSkelWriter.java	24 Jan 2002 23:12:59 -0000	1.10
  @@ -150,7 +150,7 @@
           for (int i = 0; i < operations.size(); ++i) {
               BindingOperation operation = (BindingOperation) operations.get(i);
               Parameters parameters =
  -                    ptEntry.getParameters(operation.getOperation().getName());
  +                    bEntry.getParameters(operation.getOperation().getName());
   
               if (parameters != null) {
                   // The invoked java name of the operation is stored.
  @@ -176,7 +176,7 @@
           for (int i = 0; i < operations.size(); ++i) {
               BindingOperation operation = (BindingOperation) operations.get(i);
               Parameters parameters =
  -                    ptEntry.getParameters(operation.getOperation().getName());
  +                    bEntry.getParameters(operation.getOperation().getName());
   
               // Get the soapAction from the <soap:operation>
               String soapAction = "";
  
  
  
  1.21      +4 -6      xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaStubWriter.java
  
  Index: JavaStubWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaStubWriter.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- JavaStubWriter.java	24 Jan 2002 16:07:20 -0000	1.20
  +++ JavaStubWriter.java	24 Jan 2002 23:12:59 -0000	1.21
  @@ -266,7 +266,7 @@
           for (int i = 0; i < operations.size(); ++i) {
               BindingOperation operation = (BindingOperation) operations.get(i);
               Parameters parameters =
  -                    ptEntry.getParameters(operation.getOperation().getName());
  +                    bEntry.getParameters(operation.getOperation().getName());
   
               // Get the soapAction from the <soap:operation>
               String soapAction = "";
  @@ -336,14 +336,12 @@
           HashSet types = new HashSet();
           HashSet firstPassTypes = new HashSet();
   
  -        PortTypeEntry pe = symbolTable.getPortTypeEntry(portType.getQName());
  -
           // Get all the types from all the operations
           List operations = portType.getOperations();
   
           for (int i = 0; i < operations.size(); ++i) {
               Operation op = (Operation) operations.get(i);
  -            firstPassTypes.addAll(getTypesInOperation(op, pe));
  +            firstPassTypes.addAll(getTypesInOperation(op));
           }
   
           // Extract those types which are complex types.
  @@ -365,11 +363,11 @@
        * This method returns a set of all the TypeEntry in a given Operation.
        * The elements of the returned HashSet are TypeEntry.
        */
  -    private HashSet getTypesInOperation(Operation operation, PortTypeEntry portEntry) {
  +    private HashSet getTypesInOperation(Operation operation) {
           HashSet types = new HashSet();
           Vector v = new Vector();
   
  -        Parameters params = portEntry.getParameters(operation.getName());
  +        Parameters params = bEntry.getParameters(operation.getName());
           
           // Loop over parameter types for this operation
           for (int i=0; i < params.list.size(); i++) {
  
  
  
  1.11      +3 -3      xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java
  
  Index: JavaTestCaseWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- JavaTestCaseWriter.java	24 Jan 2002 17:01:38 -0000	1.10
  +++ JavaTestCaseWriter.java	24 Jan 2002 23:12:59 -0000	1.11
  @@ -170,18 +170,18 @@
                   JavaUtils.getMessage("null00", "binding") +
                   "\", binding != null);");
   
  -        this.writePortTestCode(portType);
  +        this.writePortTestCode(portType, bEntry);
   
           pw.println("    }");
       } // writeServiceTestCode
   
  -    private final void writePortTestCode(PortType port) throws IOException {
  +    private final void writePortTestCode(PortType port, BindingEntry bEntry) throws IOException
{
           PortTypeEntry ptEntry = symbolTable.getPortTypeEntry(port.getQName());
           Iterator ops = port.getOperations().iterator();
           while (ops.hasNext()) {
               Operation op = (Operation) ops.next();
               OperationType type = op.getStyle();
  -            Parameters params = ptEntry.getParameters(op.getName());
  +            Parameters params = bEntry.getParameters(op.getName());
   
               // These operation types are not supported.  The signature
               // will be a string stating that fact.
  
  
  
  1.8       +16 -17    xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaWriterFactory.java
  
  Index: JavaWriterFactory.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaWriterFactory.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JavaWriterFactory.java	15 Jan 2002 16:00:45 -0000	1.7
  +++ JavaWriterFactory.java	24 Jan 2002 23:12:59 -0000	1.8
  @@ -118,7 +118,7 @@
        * Return Wsdl2java's JavaPortTypeWriter object.
        */
       public Writer getWriter(PortType portType, SymbolTable symbolTable) {
  -        return new JavaPortTypeWriter(emitter, portType, symbolTable);
  +        return new NoopWriter();
       } // getWriter
   
       /**
  @@ -361,21 +361,18 @@
               Vector v = (Vector) it.next();
               for (int i = 0; i < v.size(); ++i) {
                   SymTabEntry entry = (SymTabEntry) v.elementAt(i);
  -                if (entry instanceof PortTypeEntry) {
  -                    PortTypeEntry ptEntry = (PortTypeEntry) entry;
  +                if (entry instanceof BindingEntry) {
  +                    BindingEntry bEntry = (BindingEntry) entry;
  +                    Binding binding = bEntry.getBinding();
  +                    PortTypeEntry ptEntry = 
  +                            symbolTable.getPortTypeEntry(binding.getPortType().getQName());
                       PortType portType = ptEntry.getPortType();
  -                    // Remove Duplicates - happens with only a few WSDL's. No idea why!!!

  -                    // (like http://www.xmethods.net/tmodels/InteropTest.wsdl) 
  -                    // TODO: Remove this patch...
  -                    // NOTE from RJB:  this is a WSDL4J bug and the WSDL4J guys have been
  -                    // notified.
  -                    Iterator operations =
  -                            new HashSet(portType.getOperations()).iterator();
  +                    Iterator operations = portType.getOperations().iterator();
                       while(operations.hasNext()) {
                           Operation operation = (Operation) operations.next();
                           OperationType type = operation.getStyle();
                           String name = operation.getName();
  -                        Parameters parameters = ptEntry.getParameters(name);
  +                        Parameters parameters = bEntry.getParameters(name);
                           if (type == OperationType.SOLICIT_RESPONSE) {
                               parameters.signature = "    // " + JavaUtils.getMessage(
                                       "invalidSolResp00", name);
  @@ -443,18 +440,20 @@
           while (it.hasNext()) {
               Vector v = (Vector) it.next();
               for (int i = 0; i < v.size(); ++i) {
  -                if (v.get(i) instanceof PortTypeEntry) {
  -
  -                        // If entry is a portTypeEntry, look at all the Parameters
  -                    PortTypeEntry ptEntry = (PortTypeEntry) v.get(i);
  +                if (v.get(i) instanceof BindingEntry) {
  +                    // If entry is a BindingEntry, look at all the Parameters
  +                    // in its portType
  +                    BindingEntry bEntry = (BindingEntry) v.get(i);
  +                    PortTypeEntry ptEntry = 
  +                            symbolTable.getPortTypeEntry(bEntry.getBinding().getPortType().getQName());
                       Iterator operations =
  -                      ptEntry.getParameters().values().iterator();
  +                            bEntry.getParameters().values().iterator();
                       while (operations.hasNext()) {
                           Parameters parms = (Parameters) operations.next();
                           for (int j = 0; j < parms.list.size(); ++j) {
                               Parameter p =
                                       (Parameter)parms.list.get(j);
  -
  +                            
                               // If the given parameter is an inout or out parameter, then
                               // set a HOLDER_IS_NEEDED flag using the dynamicVar design.
                               if (p.mode != Parameter.IN) {
  
  
  
  1.2       +1 -16     xml-axis/java/src/org/apache/axis/wsdl/toJava/PortTypeEntry.java
  
  Index: PortTypeEntry.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/PortTypeEntry.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PortTypeEntry.java	11 Dec 2001 15:08:47 -0000	1.1
  +++ PortTypeEntry.java	24 Jan 2002 23:12:59 -0000	1.2
  @@ -67,16 +67,14 @@
   */
   public class PortTypeEntry extends SymTabEntry {
       private PortType portType;
  -    private HashMap  parameters = new HashMap ();
   
       /**
        * Construct a PortTypeEntry from a WSDL4J PortType object and a HashMap of Parameters
objects,
        * keyed off of the operation name.
        */
  -    public PortTypeEntry(PortType portType, HashMap parameters) {
  +    public PortTypeEntry(PortType portType) {
           super(portType.getQName());
           this.portType = portType;
  -        this.parameters = parameters;
       } // ctor
   
       /**
  @@ -86,18 +84,5 @@
           return portType;
       } // getPortType
   
  -    /**
  -     * Get the Parameters object for the given operation.
  -     */
  -    public Parameters getParameters(String operationName) {
  -        return (Parameters) parameters.get(operationName);
  -    } // getParameters
  -
  -    /**
  -     * Get all of the parameters for all operations.
  -     */
  -    public HashMap getParameters() {
  -        return parameters;
  -    } // getParameters
   
   } // class PortTypeEntry
  
  
  
  1.17      +38 -46    xml-axis/java/src/org/apache/axis/wsdl/toJava/SymbolTable.java
  
  Index: SymbolTable.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/SymbolTable.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- SymbolTable.java	24 Jan 2002 18:02:29 -0000	1.16
  +++ SymbolTable.java	24 Jan 2002 23:13:00 -0000	1.17
  @@ -306,6 +306,7 @@
           populate(contextURL, def, doc);
           setReferences(def, doc);
           checkForUndefined();
  +        populateParameters();
       } // add
   
       /**
  @@ -404,11 +405,8 @@
                   }
               }
               populateMessages(def);
  -            // XXX binding must be before portType so we collect use info.
  -            // XXX This will change when we generate parameters after the symbol
  -            // XXX table is populated.
  -            populateBindings(def);
               populatePortTypes(def);
  +            populateBindings(def);
               populateServices(def);
           }
       } // populate
  @@ -745,31 +743,53 @@
               // that didn't contain a portType, merely a binding that referred
               // to a non-existent port type.  Don't bother with it.
               if (!portType.isUndefined()) {
  -                HashMap parameters = new HashMap();
  -
  -                Iterator operations = portType.getOperations().iterator();
  - 
  -                while(operations.hasNext()) {
  -                    Operation operation = (Operation) operations.next();
  -                    String namespace = portType.getQName().getNamespaceURI();
  -                    Parameters parms = parameters(operation, 
  -                                                  namespace, 
  -                                                  getBindingEntryForPortType(def, portType));
  -                    parameters.put(operation.getName(), parms);
  -                }
  -                PortTypeEntry ptEntry = new PortTypeEntry(portType, parameters);
  +                PortTypeEntry ptEntry = new PortTypeEntry(portType);
                   symbolTablePut(ptEntry);
               }
           }
       } // populatePortTypes
   
       /**
  +     * Create the parameters and store them in the bindingEntry.
  +     */ 
  +    private void populateParameters() throws IOException {
  +        Iterator it = symbolTable.values().iterator();
  +        while (it.hasNext()) {
  +            Vector v = (Vector) it.next();
  +            for (int i = 0; i < v.size(); ++i) {
  +                if (v.get(i) instanceof BindingEntry) {
  +                    BindingEntry bEntry = (BindingEntry) v.get(i);
  +                    
  +                    Binding binding = bEntry.getBinding();
  +                    PortType portType = binding.getPortType();
  +                    
  +                    HashMap parameters = new HashMap();
  +                    Iterator operations = portType.getOperations().iterator();
  +                    
  +                    // get parameters
  +                    while(operations.hasNext()) {
  +                        Operation operation = (Operation) operations.next();
  +                        String namespace = portType.getQName().getNamespaceURI();
  +                        Parameters parms = getOperationParameters(operation, 
  +                                                                  namespace, 
  +                                                                  bEntry);
  +                        parameters.put(operation.getName(), parms);
  +                    }
  +                    bEntry.setParameters(parameters);
  +                }
  +            }
  +        }
  +    } // populate Parameters
  +    
  +    /**
        * For the given operation, this method returns the parameter info conveniently collated.
        * There is a bit of processing that is needed to write the interface, stub, and skeleton.
        * Rather than do that processing 3 times, it is done once, here, and stored in the
        * Parameters object.
        */
  -    private Parameters parameters(Operation operation, String namespace, BindingEntry bindingEntry)
throws IOException {
  +    private Parameters getOperationParameters(Operation operation, 
  +                                              String namespace, 
  +                                              BindingEntry bindingEntry) throws IOException
{
           Parameters parameters = new Parameters();
   
           // The input and output Vectors, when filled in, will be of the form:
  @@ -1465,33 +1485,5 @@
                       JavaUtils.getMessage("alreadyExists00", "" + name));
           }
       } // symbolTablePut
  -
  -    /**
  -     * Utility function to get the BindingEntry for the given portType.
  -     * Does a reverse lookup of the portType in all the bindings.
  -     */ 
  -    public BindingEntry getBindingEntryForPortType(Definition def, PortType port) throws
IOException {
  -        BindingEntry b = null;
  -        Iterator i = def.getBindings().values().iterator();
  -        while (i.hasNext()) {
  -            Binding binding = ((Binding) i.next());
  -            QName bindingPort = binding.getPortType().getQName();
  -            if (bindingPort.equals(port.getQName())) {
  -                if (b != null) {
  -                    // XXX - if more than one binding matches the portType
  -                    // we can't do the right thing since interfaces are generated
  -                    // from portTypes and the literal/encoded switch is in the
  -                    // binding.
  -                    throw new IOException(JavaUtils.getMessage("multipleBindings00"));
  -                }
  -                b = getBindingEntry(binding.getQName());
  -            }
  -        }
  -        // DEBUG
  -//        if ( b == null) {
  -//            System.out.println("Lookup: can't find binding for portType " + port.getQName());
  -//        }
  -        return b;
  -    }
   
   } // class SymbolTable
  
  
  
  1.43      +1 -1      xml-axis/java/src/org/apache/axis/utils/resources.properties
  
  Index: resources.properties
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/resources.properties,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- resources.properties	16 Jan 2002 19:14:02 -0000	1.42
  +++ resources.properties	24 Jan 2002 23:13:00 -0000	1.43
  @@ -617,4 +617,4 @@
   invalidSolResp00={0} is a solicit-response style operation and is unsupported.
   invalidNotif00={0} is a notification style operation and is unsupported.
   
  -multipleBindings00=Error: Multiple bindings use the same portType, and I can not handle
this case.  Giving up in shame.
  +multipleBindings00=Warning: Multiple bindings use the same portType: {0}.  Only one interface
is currently generated, which may not be what you want. 
  
  
  

Mime
View raw message