You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2003/03/10 00:32:33 UTC

cvs commit: xml-axis/java/src/org/apache/axis/i18n resource.properties

dims        2003/03/09 15:32:32

  Modified:    java/src/org/apache/axis/wsdl/symbolTable BindingEntry.java
                        SymbolTable.java
               java/src/org/apache/axis/i18n resource.properties
  Log:
  Fix for Bug 17766 - WSDL2Java cannot process documents with fewer operations in a Binding than in the corresp. portType.
  from Andrei.Iltchenko@nl.compuware.com (Andrei Iltchenko)
  
  Revision  Changes    Path
  1.10      +8 -0      xml-axis/java/src/org/apache/axis/wsdl/symbolTable/BindingEntry.java
  
  Index: BindingEntry.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/BindingEntry.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- BindingEntry.java	30 Dec 2002 14:36:45 -0000	1.9
  +++ BindingEntry.java	9 Mar 2003 23:32:30 -0000	1.10
  @@ -64,6 +64,7 @@
   import java.util.HashMap;
   import java.util.Map;
   import java.util.ArrayList;
  +import java.util.Set;
   
   /**
   * This class represents a WSDL binding.  It encompasses the WSDL4J Binding object so it can
  @@ -458,6 +459,13 @@
       public void setFaults(HashMap faults) {
           this.faults = faults;
       }
  +
  +    /**
  +     * Get a {@link Set} of comprised {@link Operation} objects.
  +     */
  +     public Set getOperations() {
  +         return attributes.keySet();
  +     }
   
       /**
        * Set the fault body type map for the given operation.
  
  
  
  1.74      +11 -0     xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java
  
  Index: SymbolTable.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java,v
  retrieving revision 1.73
  retrieving revision 1.74
  diff -u -r1.73 -r1.74
  --- SymbolTable.java	2 Mar 2003 19:07:36 -0000	1.73
  +++ SymbolTable.java	9 Mar 2003 23:32:30 -0000	1.74
  @@ -1178,6 +1178,7 @@
                           continue;
                       
                       Binding binding = bEntry.getBinding();
  +                    Collection bindOperations = bEntry.getOperations();
                       PortType portType = binding.getPortType();
   
                       HashMap parameters = new HashMap();
  @@ -1186,6 +1187,16 @@
                       // get parameters
                       while(operations.hasNext()) {
                           Operation operation = (Operation) operations.next();
  +
  +                        // See if the PortType operation has a corresponding
  +                        // Binding operation and report an error if it doesn't.
  +                        if (!bindOperations.contains(operation)) {
  +                            throw  new IOException(
  +                                Messages.getMessage("emitFailNoMatchingBindOperation01",
  +                                    operation.getName(),
  +                                    portType.getQName().getLocalPart()));
  +                        }
  +
                           String namespace = portType.getQName().getNamespaceURI();
                           Parameters parms = getOperationParameters(operation,
                                                                     namespace,
  
  
  
  1.51      +1 -0      xml-axis/java/src/org/apache/axis/i18n/resource.properties
  
  Index: resource.properties
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/i18n/resource.properties,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- resource.properties	24 Feb 2003 19:54:01 -0000	1.50
  +++ resource.properties	9 Mar 2003 23:32:32 -0000	1.51
  @@ -189,6 +189,7 @@
   emitFailNoBinding01=Emitter failure.  No binding found for port {0}
   emitFailNoBindingEntry01=Emitter failure. No binding entry found for {0}
   emitFailNoPortType01=Emitter failure.  No portType entry found for {0}
  +emitFailNoMatchingBindOperation01=Emitter failure. The operation ({0}) from portType ({1}) in the WSDL document has no corresponding binding operation.\nHint: make sure that the binding has the same number of operations as its portType.
   emitFailtUndefinedBinding01=Emitter failure.  There is an undefined binding ({0}) in the WSDL document.\nHint: make sure <port binding=\"..\"> is fully qualified.
   emitFailtUndefinedBinding02=Emitter failure.  There is an undefined binding ({0}) in the WSDL document {1}.\nHint: make sure <port binding=\"..\"> is fully qualified.
   emitFailtUndefinedMessage01=Emitter failure.  There is an undefined message ({0}) in the WSDL document.\nHint: make sure <input message=\"..\"> and <output message=".."> are fully qualified.