src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
/**
     * Process service operations, generating information about each operation.
     *
     * @param bindingEntry
     * @return               array of MethodInfo objects.
     * @throws WrapperFault
     */
Process service operations, generating information about each operation.

@param bindingEntry
@return               array of MethodInfo objects.
Process service operations generating information about each operation . @param bindingEntry @return array of MethodInfo objects .
public ArrayList processServiceMethods(BindingEntry bindingEntry, 
                                           boolean wsdlWrappingStyle,
                                           boolean userRequestedWSDLWrappingStyle) throws WrapperFault
    {
        PortType portType         = bindingEntry.getBinding().getPortType();
        if (portType == null)
            throw new WrapperFault("Port type specified in binding '" + bindingEntry.getBinding().getQName().getLocalPart() + "' not found");
        ArrayList serviceMethods = new ArrayList();
        Iterator oplist = portType.getOperations().iterator();
        while (oplist.hasNext())
        {
            Operation op     = (Operation) oplist.next();
            MethodInfo minfo = new MethodInfo(op.getName());
            c_symbolTable.setWrapped(false);
            Parameters opParams=null;
            try
            {
                opParams = c_symbolTable.getOperationParameters(op, "", bindingEntry);
                minfo.setOperationParameters(opParams);
                minfo.setEligibleForWrapped(c_symbolTable.isWrapped());
                if (!wsdlWrappingStyle || !minfo.isEligibleForWrapped())
                {
                    minfo.setIsUnwrapped(true);
                    minfo.setConsumeBodyOnMessageValidation(false);
                }
            }
            catch (IOException e)
            {
                throw new WrapperFault(e);
            }
            if (c_verbose)
            {
                System.out.println("\n\n-----------------------------------------------");
                System.out.println("Parameters for operation: " + op.getName()); 
                System.out.println("-----------------------------------------------");
                System.out.println(opParams);
                System.out.println("-----------------------------------------------");
            }
            addFaultInfo(op.getFaults(), minfo);
            if ("document".equals(bindingEntry.getBindingStyle().getName()))
            {
                if (userRequestedWSDLWrappingStyle && !minfo.isEligibleForWrapped())
                    System.out.println("INFORMATIONAL: Operation '" + op.getName() + "' is not eligible for wrapper-style, generating non-wrapper style.");
                addDocumentStyleInputMessageToMethodInfo(bindingEntry, op, minfo);
                addDocumentStyleOutputMessageToMethodInfo(bindingEntry, op, minfo);
            }
            else
            {
                addRPCStyleInputMessageToMethodInfo(bindingEntry, op, minfo);
                addRPCStyleOutputMessageToMethodInfo(bindingEntry, op, minfo);
            }
            serviceMethods.add(minfo); 
        }
        List operations = bindingEntry.getBinding().getBindingOperations();
        if (operations != null)
        {
            for (int i = 0; i < operations.size(); i++)
            {
                if (operations.get(i) instanceof javax.wsdl.BindingOperation)
                {
                    javax.wsdl.BindingOperation bindinop = (javax.wsdl.BindingOperation) operations.get(i);
                    String name = bindinop.getName();
                    MethodInfo method = null;
                    for (int ii = 0; ii < serviceMethods.size(); ii++)
                        if (((MethodInfo) serviceMethods.get(ii)).getMethodname().equals(name))
                            method = (MethodInfo) serviceMethods.get(ii);
                    if (method == null)
                        throw new WrapperFault("The binding and portType elements do not match.");                    
                    WSDLInfo.updateMethodInfoFromBinding(bindinop, method);
                }
            }
        }
        return serviceMethods;
    }
public ArrayList processServiceMethods ( BindingEntry bindingEntry , boolean wsdlWrappingStyle , boolean userRequestedWSDLWrappingStyle ) throws WrapperFault { PortType portType = bindingEntry . getBinding ( ) . getPortType ( ) ; if ( portType == null ) throw new WrapperFault ( "Port type specified in binding '" + bindingEntry . getBinding ( ) . getQName ( ) . getLocalPart ( ) + "' not found" ) ; ArrayList serviceMethods = new ArrayList ( ) ; Iterator oplist = portType . getOperations ( ) . iterator ( ) ; while ( oplist . hasNext ( ) ) { Operation op = ( Operation ) oplist . next ( ) ; MethodInfo minfo = new MethodInfo ( op . getName ( ) ) ; c_symbolTable . setWrapped ( false ) ; Parameters opParams = null ; try { opParams = c_symbolTable . getOperationParameters ( op , "" , bindingEntry ) ; minfo . setOperationParameters ( opParams ) ; minfo . setEligibleForWrapped ( c_symbolTable . isWrapped ( ) ) ; if ( ! wsdlWrappingStyle || ! minfo . isEligibleForWrapped ( ) ) { minfo . setIsUnwrapped ( true ) ; minfo . setConsumeBodyOnMessageValidation ( false ) ; } } catch ( IOException e ) { throw new WrapperFault ( e ) ; } if ( c_verbose ) { System . out . println ( "\n\n-----------------------------------------------" ) ; System . out . println ( "Parameters for operation: " + op . getName ( ) ) ; System . out . println ( "-----------------------------------------------" ) ; System . out . println ( opParams ) ; System . out . println ( "-----------------------------------------------" ) ; } addFaultInfo ( op . getFaults ( ) , minfo ) ; if ( "document" . equals ( bindingEntry . getBindingStyle ( ) . getName ( ) ) ) { if ( userRequestedWSDLWrappingStyle && ! minfo . isEligibleForWrapped ( ) ) System . out . println ( "INFORMATIONAL: Operation '" + op . getName ( ) + "' is not eligible for wrapper-style, generating non-wrapper style." ) ; addDocumentStyleInputMessageToMethodInfo ( bindingEntry , op , minfo ) ; addDocumentStyleOutputMessageToMethodInfo ( bindingEntry , op , minfo ) ; } else { addRPCStyleInputMessageToMethodInfo ( bindingEntry , op , minfo ) ; addRPCStyleOutputMessageToMethodInfo ( bindingEntry , op , minfo ) ; } serviceMethods . add ( minfo ) ; } List operations = bindingEntry . getBinding ( ) . getBindingOperations ( ) ; if ( operations != null ) { for ( int i = 0 ; i < operations . size ( ) ; i ++ ) { if ( operations . get ( i ) instanceof javax . wsdl . BindingOperation ) { javax . wsdl . BindingOperation bindinop = ( javax . wsdl . BindingOperation ) operations . get ( i ) ; String name = bindinop . getName ( ) ; MethodInfo method = null ; for ( int ii = 0 ; ii < serviceMethods . size ( ) ; ii ++ ) if ( ( ( MethodInfo ) serviceMethods . get ( ii ) ) . getMethodname ( ) . equals ( name ) ) method = ( MethodInfo ) serviceMethods . get ( ii ) ; if ( method == null ) throw new WrapperFault ( "The binding and portType elements do not match." ) ; WSDLInfo . updateMethodInfoFromBinding ( bindinop , method ) ; } } } return serviceMethods ; }
Process service operations, generating information about each operation.
Process service operations generating information about each operation .
//get operation list
 // This chunk of code is new and we hope to use it more in the future to replace some of the 
 // things we do to process parameters.
 // When getOperationParameters() is called, the code, assuming user did not request unwrapped,
 // will determine whether the operation is eligible for wrapped-style.   The bad thing is that
 // isWrapped() is a method on the SymbolTable class.  So before processing an operation, 
 // we call setWrapped(false) before calling getOperationParameters() so that we can determine 
 // on a per-operation basis whether the operation is eligible for wrapped-style processing.
 // mark the method as wrapped or unwrapped.
 //setting the faults
 // process input and response messages 
 //add operation to operation List
 // Need to get some stuff from binding element such as SOAPAction and namespace for 
 // each operation - we store the information in the method. 
 //for the each binding operation found
 // Get binding operation information and store in method for later use.
