The base type may not have been processed and causing NPE. 

diff --git a/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java b/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
index 8b8e858..02bda72 100644
--- a/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
+++ b/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
@@ -929,7 +929,7 @@
      * NEEDS WORK - CURRENTLY THE ONLY THING WE DO IS GENERATE ENUMERATOR CONSTANTS AND CREATE

      * AN EMPTY RESTRICTOR FUNCTION WHEN DOING CODE GENERATION STEP.

      */

-    private void setRestrictionBaseAndValues(Type typedata, Node node) 

+    private void setRestrictionBaseAndValues(Type typedata, Node node)  throws WrapperFault

     {

         if (node == null)

             return;

@@ -1053,7 +1053,19 @@
                 else

                     primitiveBaseTypeQName = baseEType.getQName();

                 

+                if (c_verbose)

+                    System.out.println("primitiveBaseTypeQName=" + primitiveBaseTypeQName);

+                

                 classForPrimitiveType =  CUtils.getSimpleType(primitiveBaseTypeQName);

+                while (classForPrimitiveType == null)

+                {

+                    createTypeInfo(primitiveBaseTypeQName);

+                    classForPrimitiveType =  CUtils.getSimpleType(primitiveBaseTypeQName);

+                }

+                

+                if (c_verbose)

+                    System.out.println("classForPrimitiveType=" + classForPrimitiveType);

+

                 initValueForType      =  CUtils.getInitValueForType(classForPrimitiveType);

                 

                 // Set the base type for Type