src/wsdl/org/apache/axis/wsdl/wsdl2ws/WSDL2Ws.java
/**
     * This method goes through the types and for any types that are referenced works out whether
     * they need to be exposed as a seperate class.
     * If they do require to be a seperate class then the name of the type will be changed from 
     * ">nameoftype" to "nameoftype". This will then get picked up later on in the process and the
     * type will be exposed as a seperate class. 
     * 
     * @param wsContext the webservice context.
     */
This method goes through the types and for any types that are referenced works out whether
they need to be exposed as a seperate class.
If they do require to be a seperate class then the name of the type will be changed from
">nameoftype" to "nameoftype". This will then get picked up later on in the process and the
type will be exposed as a seperate class.

@param wsContext the webservice context.
This method goes through the types and for any types that are referenced works out whether they need to be exposed as a seperate class . If they do require to be a seperate class then the name of the type will be changed from " > nameoftype " to " nameoftype " . This will then get picked up later on in the process and the type will be exposed as a seperate class . @param wsContext the webservice context .
private void exposeReferenceTypes(WebServiceContext wsContext)
    {
        Collection types = c_symbolTable.getTypeIndex().values();
        Iterator typeIterator = types.iterator();   
        while(typeIterator.hasNext())
        {
            Object highLevelType = typeIterator.next();
            if(!(highLevelType instanceof BaseType))
            {
                DefinedType type = (DefinedType)highLevelType;
                if(!type.getQName().getLocalPart().toString().startsWith(">"))
                {
                    HashSet nestedTypes = type.getNestedTypes(c_symbolTable, true);
                    Iterator nestTypeIter = nestedTypes.iterator();
                    while(nestTypeIter.hasNext())
                    {
                        Object nestedType =nestTypeIter.next();
                        if(!(nestedType instanceof BaseType))
                        {
                            TypeEntry defType = (TypeEntry)nestedType;
                            TypeEntry referencedType =defType.getRefType(); 
                            if (referencedType==null)
                                continue;
                            if(c_veryVerbose)
                                System.out.println( "EXPOSE1: Checking whether to expose ref-types for "+defType.getQName().getLocalPart());
                            if(referencedType.getQName().getLocalPart().startsWith(">") 
                                    && referencedType.getQName().getLocalPart().lastIndexOf(">") == 0)
                            {
                                if(c_veryVerbose)
                                    System.out.println( "EXPOSE1: Exposing ref-type "+referencedType.getQName());
                                Type innerClassType = wsContext.getTypemap().getType(referencedType.getQName());
                                String newLocalPart =  new QName(defType.getQName().getLocalPart()).toString();
                                innerClassType.externalize(new QName(innerClassType.getName().getNamespaceURI(), newLocalPart));
                            }
                        }
                    }
                }
            }
        }
    }
private void exposeReferenceTypes ( WebServiceContext wsContext ) { Collection types = c_symbolTable . getTypeIndex ( ) . values ( ) ; Iterator typeIterator = types . iterator ( ) ; while ( typeIterator . hasNext ( ) ) { Object highLevelType = typeIterator . next ( ) ; if ( ! ( highLevelType instanceof BaseType ) ) { DefinedType type = ( DefinedType ) highLevelType ; if ( ! type . getQName ( ) . getLocalPart ( ) . toString ( ) . startsWith ( ">" ) ) { HashSet nestedTypes = type . getNestedTypes ( c_symbolTable , true ) ; Iterator nestTypeIter = nestedTypes . iterator ( ) ; while ( nestTypeIter . hasNext ( ) ) { Object nestedType = nestTypeIter . next ( ) ; if ( ! ( nestedType instanceof BaseType ) ) { TypeEntry defType = ( TypeEntry ) nestedType ; TypeEntry referencedType = defType . getRefType ( ) ; if ( referencedType == null ) continue ; if ( c_veryVerbose ) System . out . println ( "EXPOSE1: Checking whether to expose ref-types for " + defType . getQName ( ) . getLocalPart ( ) ) ; if ( referencedType . getQName ( ) . getLocalPart ( ) . startsWith ( ">" ) && referencedType . getQName ( ) . getLocalPart ( ) . lastIndexOf ( ">" ) == 0 ) { if ( c_veryVerbose ) System . out . println ( "EXPOSE1: Exposing ref-type " + referencedType . getQName ( ) ) ; Type innerClassType = wsContext . getTypemap ( ) . getType ( referencedType . getQName ( ) ) ; String newLocalPart = new QName ( defType . getQName ( ) . getLocalPart ( ) ) . toString ( ) ; innerClassType . externalize ( new QName ( innerClassType . getName ( ) . getNamespaceURI ( ) , newLocalPart ) ) ; } } } } } } }
This method goes through the types and for any types that are referenced works out whether
 they need to be exposed as a seperate class.
This method goes through the types and for any types that are referenced works out whether they need to be exposed as a seperate class .
// get the main types // It's not an "inner" type so look for the refs (this might not be valid  // logic and refs might be acceptable for these types too !) // If ref type is anonymous and thus currently not exposed because  // it's an "inner" type, expose it and any nested types (latter is TODO).                            