Author: ema
Date: Fri Jan 12 00:26:34 2007
New Revision: 495513

URL: http://svn.apache.org/viewvc?view=rev&rev=495513
Log:
[CXF-313]Ported some test cases from WSDLToJavaProcessTest in old tools 

Modified:
    
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/AbstractCXFToolContainer.java
    
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
    
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/toolspec/AbstractToolContainer.java
    
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJava.java
    
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
    
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/core/PluginLoader.java
    
incubator/cxf/trunk/tools2/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
    
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customiztion/CustomizationParser.java
    
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customiztion/JAXWSBindingParser.java
    
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java
    
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
    
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java
    
incubator/cxf/trunk/tools2/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java
    
incubator/cxf/trunk/tools2/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async.wsdl

Modified: 
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/AbstractCXFToolContainer.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/AbstractCXFToolContainer.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/AbstractCXFToolContainer.java
 (original)
+++ 
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/AbstractCXFToolContainer.java
 Fri Jan 12 00:26:34 2007
@@ -48,8 +48,8 @@
     private boolean verbose;
     private String usage;
     private final ErrorVisitor errors = new ErrorVisitor();
-
-
+    
+    
     public AbstractCXFToolContainer(String nm, ToolSpec toolspec) throws 
Exception {
         super(toolspec);
         name = nm;
@@ -61,6 +61,9 @@
     }
     public boolean hasInfoOption() throws ToolException {
         commandDocument = getCommandDocument();
+        if (commandDocument == null) {
+            return false;
+        }
         if ((commandDocument.hasParameter("help")) || 
(commandDocument.hasParameter("version"))) {
             return true;
         }
@@ -75,8 +78,7 @@
             if (commandDocument.hasParameter("verbose")) {
                 verbose = true;
                 outputFullCommandLine();
-                outputVersion();
-                
+                outputVersion();               
             }
             checkParams(errors);
         }             
@@ -111,6 +113,9 @@
     public abstract void checkParams(ErrorVisitor err) throws ToolException;
 
     public boolean isVerboseOn() {
+        if (context != null && context.isVerbose()) {
+            return true;
+        }
         return verbose;
     }
 
@@ -257,6 +262,9 @@
     protected Map<String, Object> getParametersMap(Set stringArrayKeys) {
         Map<String, Object> map = new HashMap<String, Object>();
         CommandDocument doc = getCommandDocument();
+        if (doc == null) {
+            return map;
+        }
         String[] keys = doc.getParameterNames();
         if (keys == null) {
             return map;

Modified: 
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
 (original)
+++ 
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
 Fri Jan 12 00:26:34 2007
@@ -55,6 +55,10 @@
     public static final String CFG_DEFAULT_EX = "defaultex";
 
     public static final String CFG_VALIDATE_WSDL = "validate";
+    
+    public static final String CFG_FRONTEND = "frontend";
+    
+    public static final String CFG_DATABINDING = "db";
 
 
     // WSDL2Java Constants

Modified: 
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/toolspec/AbstractToolContainer.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/toolspec/AbstractToolContainer.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/toolspec/AbstractToolContainer.java
 (original)
+++ 
incubator/cxf/trunk/tools2/common/src/main/java/org/apache/cxf/tools/common/toolspec/AbstractToolContainer.java
 Fri Jan 12 00:26:34 2007
@@ -46,19 +46,26 @@
     private OutputStream outOutputStream;
     private OutputStream errOutputStream;
     
-    
-
+   
+ 
     public class GenericOutputStream extends OutputStream {
         public void write(int b) throws IOException {
 
         }
     }
 
+    public AbstractToolContainer() {
+        
+    }
+    
     public AbstractToolContainer(ToolSpec ts) throws BadUsageException {
         toolspec = ts;
     }
 
     public void setArguments(String[] args) {
+        if (args == null) {
+            return;
+        }
         arguments = new String[args.length];
         System.arraycopy(args, 0, arguments, 0, args.length);
         setMode(args);

Modified: 
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJava.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJava.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJava.java
 (original)
+++ 
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJava.java
 Fri Jan 12 00:26:34 2007
@@ -33,9 +33,11 @@
 
 public class WSDLToJava {
 
+    
+    public static final String DEFAULT_FRONTEND_NAME = "jaxws";
+    public static final String DEFAULT_DATABINDING_NAME = "jaxb";
+    
     private static String[] args;
-    private static final String DEFAULT_FRONTEND_NAME = "jaxws";
-    private static final String DEFAULT_DATABINDING_NAME = "jaxb";
     
     private PluginLoader pluginLoader = PluginLoader.getInstance();
 
@@ -59,10 +61,16 @@
         return pluginLoader.getDataBindingProfile(name);
     }
     
-    protected void run(ToolContext context) throws Exception {
-        context.put(ToolConstants.CFG_CMD_ARG, args);
+    public void run(ToolContext context) throws Exception {
+        FrontEndProfile frontend = null;
+        if (args != null) {
+            context.put(ToolConstants.CFG_CMD_ARG, args);
+            frontend = loadFrontEnd(getFrontEndName(args));
+        } else {
+            frontend = loadFrontEnd("");
+        }
+        
         
-        FrontEndProfile frontend = loadFrontEnd(getFrontEndName(args));
         context.put(FrontEndProfile.class, frontend);
                
         DataBindingProfile databinding = 
loadDataBinding(getDataBindingName(args));
@@ -87,6 +95,9 @@
     }
     
     private static boolean isSet(String[] keys) {
+        if (args == null) {
+            return false;
+        }
         List<String> pargs = Arrays.asList(args);
         
         for (String key : keys) {

Modified: 
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
 (original)
+++ 
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
 Fri Jan 12 00:26:34 2007
@@ -52,13 +52,15 @@
 import org.apache.cxf.tools.wsdlto.core.AbstractWSDLBuilder;
 import org.apache.cxf.tools.wsdlto.core.DataBindingProfile;
 import org.apache.cxf.tools.wsdlto.core.FrontEndProfile;
+import org.apache.cxf.tools.wsdlto.core.PluginLoader;
 import org.apache.cxf.wsdl11.WSDLServiceBuilder;
 
 public class WSDLToJavaContainer extends AbstractCXFToolContainer {
 
     private static final String DEFAULT_NS2PACKAGE = 
"http://www.w3.org/2005/08/addressing";;
     String toolName;
-
+    
+    
     public WSDLToJavaContainer(String name, ToolSpec toolspec) throws 
Exception {        
         super(name, toolspec);
         this.toolName = name;
@@ -83,13 +85,34 @@
     @SuppressWarnings("unchecked")
     public void execute(boolean exitOnFinish) throws ToolException {
         try {
-            super.execute(exitOnFinish);
+            if (getArgument() != null) {
+                super.execute(exitOnFinish);
+            }
             if (!hasInfoOption()) {
                 buildToolContext();
                 validate(context);
                 
                 FrontEndProfile frontend = context.get(FrontEndProfile.class);
                 
+                if (frontend == null) {
+                    String name = WSDLToJava.DEFAULT_FRONTEND_NAME;
+                    if (context.get(ToolConstants.CFG_FRONTEND) != null) {
+                        name = (String)context.get(ToolConstants.CFG_FRONTEND);
+                    }
+                    frontend = 
PluginLoader.getInstance().getFrontEndProfile(name);
+                    context.put(FrontEndProfile.class, frontend);
+                }
+                
+                DataBindingProfile dataBindingProfile = 
context.get(DataBindingProfile.class);
+                if (dataBindingProfile == null) {
+                    String name = WSDLToJava.DEFAULT_DATABINDING_NAME;
+                    if (context.get(ToolConstants.CFG_DATABINDING) != null) {
+                        name = 
(String)context.get(ToolConstants.CFG_DATABINDING);
+                    }
+                    dataBindingProfile = 
PluginLoader.getInstance().getDataBindingProfile(name);
+                    context.put(DataBindingProfile.class, dataBindingProfile);
+                }
+                
                 ToolConstants.WSDLVersion version = getWSDLVersion();
 
                 ServiceInfo service = null;
@@ -308,9 +331,9 @@
             context.put(ToolConstants.CFG_WSDL_VERSION, WSDLVersion.WSDL11);
         }
         
-        if (isVerboseOn()) {
+        /*if (isVerboseOn()) {
             context.put(ToolConstants.CFG_VERBOSE, Boolean.TRUE);
-        }
+        }*/
 
         setExcludePackageAndNamespaces(context);
         loadDefaultNSPackageMapping(context);
@@ -388,6 +411,7 @@
         if (passthrough()) {
             return;
         }
-        context.get(DataBindingProfile.class).generate(context);
+        DataBindingProfile dataBindingProfile = 
context.get(DataBindingProfile.class);
+        dataBindingProfile.generate(context);
     }
 }

Modified: 
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/core/PluginLoader.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/core/PluginLoader.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/core/PluginLoader.java
 (original)
+++ 
incubator/cxf/trunk/tools2/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/core/PluginLoader.java
 Fri Jan 12 00:26:34 2007
@@ -37,7 +37,7 @@
 import org.apache.cxf.tools.common.ToolException;
 import org.apache.cxf.tools.plugin.DataBinding;
 import org.apache.cxf.tools.plugin.FrontEnd;
-//import org.apache.cxf.tools.plugin.Generator;
+import org.apache.cxf.tools.plugin.Generator;
 import org.apache.cxf.tools.plugin.Plugin;
 
 public final class PluginLoader {
@@ -147,7 +147,7 @@
         return frontend;
     }
 
-   /* private String getGeneratorClass(FrontEnd frontend, Generator generator) 
{
+    private String getGeneratorClass(FrontEnd frontend, Generator generator) {
         String fullPackage = generator.getPackage();
         if (StringUtils.isEmpty(fullPackage)) {
             fullPackage = frontend.getGenerators().getPackage();
@@ -156,13 +156,13 @@
             fullPackage = frontend.getPackage();
         }
         return fullPackage + "." + generator.getName();
-    }*/
+    }
     
     private List<FrontEndGenerator> getFrontEndGenerators(FrontEnd frontend) {
         List<FrontEndGenerator> generators = new 
ArrayList<FrontEndGenerator>();
 
-        //String fullClzName = null;
-       /* try {
+        String fullClzName = null;
+        try {
             for (Generator generator : 
frontend.getGenerators().getGenerator()) {
                 fullClzName = getGeneratorClass(frontend, generator);
                 Class clz = 
this.getClass().getClassLoader().loadClass(fullClzName);
@@ -172,7 +172,7 @@
             LOG.log(Level.SEVERE, "FRONTEND_PROFILE_LOAD_FAIL", fullClzName);
             Message msg = new Message("FRONTEND_PROFILE_LOAD_FAIL", LOG, 
fullClzName);
             throw new ToolException(msg, e);
-        }*/
+        }
         
         return generators;
     }

Modified: 
incubator/cxf/trunk/tools2/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
 (original)
+++ 
incubator/cxf/trunk/tools2/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
 Fri Jan 12 00:26:34 2007
@@ -18,7 +18,6 @@
  */
 package org.apache.cxf.tools.wsdlto.databinding.jaxb;
 
-
 import java.io.File;
 import java.io.IOException;
 import java.util.Collection;
@@ -64,41 +63,39 @@
         env = penv;
         serviceInfo = env.get(ServiceInfo.class);
         def = (Definition)env.get(Definition.class);
-                
-        SchemaCompilerImpl schemaCompiler = 
(SchemaCompilerImpl)XJC.createSchemaCompiler();        
-        
+
+        SchemaCompilerImpl schemaCompiler = 
(SchemaCompilerImpl)XJC.createSchemaCompiler();
+
         ClassCollector classCollector = env.get(ClassCollector.class);
         ClassNameAllocatorImpl allocator = new 
ClassNameAllocatorImpl(classCollector);
         allocator.setInterface(serviceInfo.getInterface(), 
env.mapPackageName(def.getTargetNamespace()));
         schemaCompiler.setClassNameAllocator(allocator);
-        
+
         JAXBBindErrorListener listener = new JAXBBindErrorListener(env);
         schemaCompiler.setErrorListener(listener);
-        
-        
+
         Collection<SchemaInfo> schemas = 
serviceInfo.getTypeInfo().getSchemas();
-        
+
         Collection<InputSource> jaxbBindings = 
env.getJaxbBindingFile().values();
-        
+
         for (SchemaInfo schema : schemas) {
             Element element = schema.getElement();
             String tns = element.getAttribute("targetNamespace");
             schemaCompiler.parseSchema(tns, element);
         }
-                 
+
         for (InputSource binding : jaxbBindings) {
             schemaCompiler.parseSchema(binding);
         }
-       
+
         rawJaxbModelGenCode = schemaCompiler.bind();
         addedEnumClassToCollector(schemas, allocator);
     }
-  
-    
+
     // JAXB bug. JAXB ClassNameCollector may not be invoked when generated
-    // class is an enum.  We need to use this method to add the missed file
+    // class is an enum. We need to use this method to add the missed file
     // to classCollector.
-    private void addedEnumClassToCollector(Collection<SchemaInfo> schemaList,
+    private void addedEnumClassToCollector(Collection<SchemaInfo> schemaList, 
                                            ClassNameAllocatorImpl allocator) {
         for (SchemaInfo schema : schemaList) {
             Element schemaElement = schema.getElement();
@@ -112,7 +109,7 @@
             }
         }
     }
-    
+
     private boolean addedToClassCollector(String packageName) {
         ClassCollector classCollector = env.get(ClassCollector.class);
         List<String> files = 
(List<String>)classCollector.getGeneratedFileInfo();
@@ -123,27 +120,25 @@
                 return true;
             }
         }
-        return false;        
+        return false;
     }
 
-   
-    
     public void generate(ToolContext context) throws ToolException {
         initialize(context);
         if (rawJaxbModelGenCode == null) {
             return;
         }
-        
+
         try {
             String dir = (String)env.get(ToolConstants.CFG_OUTPUTDIR);
-             
+
             TypesCodeWriter fileCodeWriter = new TypesCodeWriter(new 
File(dir), env.getExcludePkgList());
 
             if (rawJaxbModelGenCode instanceof S2JJAXBModel) {
                 S2JJAXBModel schem2JavaJaxbModel = 
(S2JJAXBModel)rawJaxbModelGenCode;
-                //TODO : enable jaxb plugin
+                // TODO : enable jaxb plugin
                 JCodeModel jcodeModel = schem2JavaJaxbModel.generateCode(null, 
null);
-                
+
                 jcodeModel.build(fileCodeWriter);
                 env.put(JCodeModel.class, jcodeModel);
                 for (String str : fileCodeWriter.getExcludeFileList()) {
@@ -152,27 +147,35 @@
             }
             return;
         } catch (IOException e) {
-            Message msg = new Message("FAIL_TO_GENERATE_TYPES", LOG); 
+            Message msg = new Message("FAIL_TO_GENERATE_TYPES", LOG);
             throw new ToolException(msg);
         }
     }
-    
+
     public String getType(QName qname) {
         Mapping mapping = rawJaxbModelGenCode.get(qname);
-        TypeAndAnnotation typeAnno = mapping.getType();
+
+        TypeAndAnnotation typeAnno = null;
+
+        if (mapping != null) {
+            typeAnno = mapping.getType();
+        } else {
+            typeAnno = rawJaxbModelGenCode.getJavaType(qname);
+        }
+
         if (typeAnno != null && typeAnno.getTypeClass() != null) {
             return typeAnno.getTypeClass().fullName();
         }
         return null;
-        
+
     }
-    
+
     public String getWrappedElementType(QName wrapperElement, QName item) {
         Mapping mapping = rawJaxbModelGenCode.get(wrapperElement);
         if (mapping != null) {
             List<? extends Property> propList = 
mapping.getWrapperStyleDrilldown();
             for (Property pro : propList) {
-                if 
(pro.elementName().getNamespaceURI().equals(item.getNamespaceURI()) 
+                if 
(pro.elementName().getNamespaceURI().equals(item.getNamespaceURI())
                     && 
pro.elementName().getLocalPart().equals(item.getLocalPart())) {
                     return pro.type().fullName();
                 }

Modified: 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customiztion/CustomizationParser.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customiztion/CustomizationParser.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customiztion/CustomizationParser.java
 (original)
+++ 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customiztion/CustomizationParser.java
 Fri Jan 12 00:26:34 2007
@@ -487,5 +487,31 @@
     
     public Set<InputSource> getJaxbBindings() {
         return this.jaxbBindings;
-    }    
+    }
+    
+    public static JAXWSBinding mergeJawsBinding(JAXWSBinding binding1, 
JAXWSBinding binding2) {
+        if (binding1 != null && binding2 != null) {
+            if (binding2.isEnableAsyncMapping()) {
+                binding1.setEnableAsyncMapping(true);
+            }
+            if (binding2.isEnableWrapperStyle()) {
+                binding1.setEnableWrapperStyle(true);
+            }
+            if (binding2.isEnableMime()) {
+                binding1.setEnableMime(true);
+            }
+
+            if (binding2.getJaxwsClass() != null) {
+                binding1.setJaxwsClass(binding2.getJaxwsClass());
+            }
+
+            if (binding2.getJaxwsPara() != null) {
+                binding1.setJaxwsPara(binding2.getJaxwsPara());
+            }
+            return binding1;
+        }
+
+        return binding1 == null ? binding2 : binding1;
+    }
+    
 }

Modified: 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customiztion/JAXWSBindingParser.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customiztion/JAXWSBindingParser.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customiztion/JAXWSBindingParser.java
 (original)
+++ 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/customiztion/JAXWSBindingParser.java
 Fri Jan 12 00:26:34 2007
@@ -82,6 +82,7 @@
             // other binding
             for (int i = 0; i < children.getLength(); i++) {
                 Node child = children.item(i);
+
                 if (isAsyncElement(child)) {
                     jaxwsBinding.setEnableAsyncMapping(getNodeValue(child));
                 }

Modified: 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java
 (original)
+++ 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/OperationProcessor.java
 Fri Jan 12 00:26:34 2007
@@ -35,7 +35,6 @@
 import org.apache.cxf.tools.common.model.JavaMethod;
 import org.apache.cxf.tools.common.model.JavaParameter;
 import org.apache.cxf.tools.common.model.JavaReturn;
-
 import org.apache.cxf.tools.wsdlto.frontend.jaxws.customiztion.JAXWSBinding;
 import 
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.annotator.SoapBindingAnnotator;
 import 
org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.annotator.WebMethodAnnotator;
@@ -46,8 +45,7 @@
 public class OperationProcessor  extends AbstractProcessor {
    
     private JavaParameter wrapperRequest;
-    private JavaParameter wrapperResponse;
-        
+    private JavaParameter wrapperResponse;   
     public OperationProcessor(ToolContext c) {
         super(c);
     }
@@ -55,17 +53,11 @@
     @SuppressWarnings("unchecked")
     public void process(JavaInterface intf, OperationInfo operation) throws 
ToolException {
         JavaMethod method = new MethodMapper().map(operation);
-        method.setInterface(intf);
-        
-        // TODO: add customizing
-       
-        
+        method.setInterface(intf);             
         processMethod(method, operation, null);
         Collection<FaultInfo> faults = operation.getFaults();
-
         FaultProcessor faultProcessor = new FaultProcessor(context);
         faultProcessor.process(method, faults);
-
         intf.addMethod(method);
     }
 

Modified: 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
 (original)
+++ 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
 Fri Jan 12 00:26:34 2007
@@ -27,7 +27,6 @@
 import javax.wsdl.OperationType;
 import javax.xml.namespace.QName;
 
-
 import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.jaxb.JAXBUtils;
 import org.apache.cxf.service.model.MessageInfo;
@@ -146,6 +145,27 @@
             addParameter(method, getParameterFromQName(part.getElementQName(), 
                                                        item, 
JavaType.Style.IN, part));
         }
+        
+        /*Map<String, Part> inputPartsMap = inputMessage.getParts();
+        Collection<Part> inputParts = inputPartsMap.values();
+        if (inputParts.size() > 1) {
+            processInput(method, inputMessage);
+            return;
+        } else if (inputParts.isEmpty()) {
+            return;
+        }
+        Part part = inputParts.iterator().next();
+        
+        List<? extends Property> block = dataBinder.getBlock(part);
+        if (block != null) {
+            if (block.size() == 0) {
+                // complete
+            }
+            for (Property item : block) {
+                addParameter(method, getParameterFromProperty(item, 
JavaType.Style.IN, part));
+            }
+        }*/
+        
     }
 
     @SuppressWarnings("unchecked")
@@ -223,7 +243,7 @@
             return;
         }
         method.setReturn(null);
-        if (inputWrapElement.size() == 1 && outputWrapElement != null) {
+        if (outputWrapElement.size() == 1 && inputWrapElement != null) {
             QName outElement = outputWrapElement.iterator().next();
             boolean sameWrapperChild = false;
             for (QName inElement : inputWrapElement) {
@@ -294,22 +314,22 @@
                                                 MessagePartInfo part) {
 
         String fullJavaName = "";
-        String simpleJavaName = "";
+        //String simpleJavaName = "";
               
         fullJavaName = this.dataBinding.getWrappedElementType(wrapperElement, 
item);
-        simpleJavaName = fullJavaName;
+        //simpleJavaName = fullJavaName;
         
-        int index = fullJavaName.lastIndexOf(".");
+        //int index = fullJavaName.lastIndexOf(".");
         
-        if (index > -1) {
+        /*if (index > -1) {
             simpleJavaName = fullJavaName.substring(index);    
-        }
+        }*/
         
         String targetNamespace = ProcessorUtil.resolvePartNamespace(part);
         if (targetNamespace == null) {
             targetNamespace = wrapperElement.getNamespaceURI();
         }
-        JavaParameter parameter = new JavaParameter(simpleJavaName, 
fullJavaName, targetNamespace);
+        JavaParameter parameter = new JavaParameter(item.getLocalPart(), 
fullJavaName, targetNamespace);
         parameter.setStyle(style);
         parameter.setQName(item);
         if (style == JavaType.Style.OUT || style == JavaType.Style.INOUT) {

Modified: 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java
 (original)
+++ 
incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java
 Fri Jan 12 00:26:34 2007
@@ -70,8 +70,13 @@
     }
     
     public static String getType(MessagePartInfo part, ToolContext context, 
boolean fullname) {
+        String type = "";
         DataBindingProfile dataBinding = context.get(DataBindingProfile.class);
-        String type = dataBinding.getType(getElementName(part));
+        if (part.isElement()) {
+            type = dataBinding.getType(getElementName(part));
+        } else {
+            type = dataBinding.getType(part.getTypeQName());
+        }
         if (type == null) {
             type = resolvePartType(part);
         }
@@ -115,12 +120,13 @@
                 return resolvePartType(part);
             }
         }
-        String name = dataBinding.getType(getElementName(part));
-        if (name == null) {
-            return resolvePartType(part);
+        String name = "";
+        if (part.isElement()) {
+            name = dataBinding.getType(getElementName(part));
+        } else {
+            name = dataBinding.getType(part.getTypeQName());
         }
-        return name;
-       
+        return name;       
     }
 
     public static String resolvePartNamespace(MessagePartInfo part) {

Modified: 
incubator/cxf/trunk/tools2/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java
 (original)
+++ 
incubator/cxf/trunk/tools2/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java
 Fri Jan 12 00:26:34 2007
@@ -19,29 +19,285 @@
 package org.apache.cxf.tools.wsdlto.jaxws;
 
 import java.io.File;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+
+import javax.jws.Oneway;
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
 
 import org.apache.cxf.tools.common.ProcessorTestBase;
-import org.apache.cxf.tools.wsdlto.WSDLToJava;
+import org.apache.cxf.tools.common.ToolConstants;
+import org.apache.cxf.tools.util.AnnotationUtil;
+import org.apache.cxf.tools.wsdlto.WSDLToJavaContainer;
 
 public class CodeGenTest extends ProcessorTestBase {
+    private WSDLToJavaContainer processor;
+    private ClassLoader classLoader;
 
     public void setUp() throws Exception {
         super.setUp();
         File classFile = new java.io.File(output.getCanonicalPath() + 
"/classes");
         classFile.mkdir();
+        System.setProperty("java.class.path", getClassPath() + 
classFile.getCanonicalPath()
+                                              + File.separatorChar);
+        classLoader = 
AnnotationUtil.getClassLoader(Thread.currentThread().getContextClassLoader());
+        env.put(ToolConstants.CFG_COMPILE, ToolConstants.CFG_COMPILE);
+        env.put(ToolConstants.CFG_IMPL, "impl");
+        env.put(ToolConstants.CFG_OUTPUTDIR, output.getCanonicalPath());
+        env.put(ToolConstants.CFG_CLASSDIR, output.getCanonicalPath() + 
"/classes");
+
+        processor = new WSDLToJavaContainer("jaxws", null);
+
     }
 
     public void tearDown() {
         super.tearDown();
+        processor = null;
+    }
+
+    public void testRPCLit() throws Exception {
+       
+        env.put(ToolConstants.CFG_WSDLURL, 
getLocation("/wsdl2java_wsdl/hello_world_rpc_lit.wsdl"));
+        processor.setContext(env);
+        processor.execute(false);
+
+        assertNotNull(output);
+
+        File org = new File(output, "org");
+        assertTrue(org.exists());
+        File apache = new File(org, "apache");
+        assertTrue(apache.exists());
+        File helloworldsoaphttp = new File(apache, "hello_world_rpclit");
+        assertTrue(helloworldsoaphttp.exists());
+        File types = new File(helloworldsoaphttp, "types");
+        assertTrue(types.exists());
+        File[] files = helloworldsoaphttp.listFiles();
+        assertEquals(4, files.length);
+        files = types.listFiles();
+        assertEquals(files.length, 3);
+
+        Class clz = 
classLoader.loadClass("org.apache.hello_world_rpclit.GreeterRPCLit");
+
+        javax.jws.WebService ws = AnnotationUtil.getPrivClassAnnotation(clz, 
javax.jws.WebService.class);
+        assertTrue("Webservice annotation wsdlLocation should begin with 
file", ws.wsdlLocation()
+            .startsWith("file"));
+
+        SOAPBinding soapBindingAnno = 
AnnotationUtil.getPrivClassAnnotation(clz, SOAPBinding.class);
+        assertEquals("LITERAL", soapBindingAnno.use().toString());
+        assertEquals("RPC", soapBindingAnno.style().toString());
+
+        assertEquals("Generate operation error", 3, clz.getMethods().length);
+
+        Class paraClass = 
classLoader.loadClass("org.apache.hello_world_rpclit.types.MyComplexStruct");
+        Method method = clz.getMethod("sendReceiveData", new Class[] 
{paraClass});
+        assertEquals("MyComplexStruct", 
method.getReturnType().getSimpleName());
+
+        clz = 
classLoader.loadClass("org.apache.hello_world_rpclit.GreeterRPCLitImpl");
+        assertNotNull(clz);
+        ws = AnnotationUtil.getPrivClassAnnotation(clz, 
javax.jws.WebService.class);
+        assertNotNull(ws);
+        assertTrue("Webservice annotation wsdlLocation should begin with 
file", ws.wsdlLocation()
+            .startsWith("file"));
+        assertEquals("org.apache.hello_world_rpclit.GreeterRPCLit", 
ws.endpointInterface());
+        assertEquals("GreeterRPCLit", ws.name());
+
+    }
+
+    public void testAsynMethod() throws Exception {
+        env.put(ToolConstants.CFG_WSDLURL, 
getLocation("/wsdl2java_wsdl/hello_world_async.wsdl"));
+        processor.setContext(env);
+        processor.execute(true);
+
+        assertNotNull(output);
+
+        File org = new File(output, "org");
+        assertTrue(org.exists());
+        File apache = new File(org, "apache");
+        assertTrue(apache.exists());
+        File async = new File(apache, "hello_world_async_soap_http");
+        assertTrue(async.exists());
+
+        File[] files = async.listFiles();
+        assertEquals(4, files.length);
+
+        Class clz = 
classLoader.loadClass("org.apache.hello_world_async_soap_http.GreeterAsync");
+
+        Method method1 = clz.getMethod("greetMeSometimeAsync", new Class[] 
{java.lang.String.class,
+                                                                            
javax.xml.ws.AsyncHandler.class});
+        WebMethod webMethodAnno1 = 
AnnotationUtil.getPrivMethodAnnotation(method1, WebMethod.class);
+
+        assertEquals(method1.getName() + "()" + " Annotation : 
WebMethod.operationName ", "greetMeSometime",
+                     webMethodAnno1.operationName());
+
+        java.lang.reflect.Method method2 = 
clz.getMethod("greetMeSometimeAsync",
+                                                         new Class[] 
{java.lang.String.class});
+        WebMethod webMethodAnno2 = 
AnnotationUtil.getPrivMethodAnnotation(method2, WebMethod.class);
+        assertEquals(method2.getName() + "()" + " Annotation : 
WebMethod.operationName ", "greetMeSometime",
+                     webMethodAnno2.operationName());
 
     }
 
+    public void testHelloWorldSoap12() throws Exception {
+        env.put(ToolConstants.CFG_WSDLURL, 
getLocation("/wsdl2java_wsdl/hello_world_soap12.wsdl"));
+        processor.setContext(env);
+        processor.execute(true);
+
+        assertNotNull(output);
+
+        File org = new File(output, "org");
+        assertTrue(org.exists());
+        File apache = new File(org, "apache");
+        assertTrue(apache.exists());
+        File helloworldsoaphttp = new File(apache, "hello_world_soap12_http");
+        assertTrue(helloworldsoaphttp.exists());
+        File types = new File(helloworldsoaphttp, "types");
+        assertTrue(types.exists());
+        File[] files = helloworldsoaphttp.listFiles();
+        assertEquals(5, files.length);
+        files = types.listFiles();
+        assertEquals(7, files.length);
+
+        Class clz = 
classLoader.loadClass("org.apache.hello_world_soap12_http.Greeter");
+        assertTrue("class " + clz.getName() + " modifier is not public", 
Modifier
+            .isPublic(clz.getModifiers()));
+        assertTrue("class " + clz.getName() + " modifier is interface", 
Modifier.isInterface(clz
+            .getModifiers()));
+
+        WebService webServiceAnn = AnnotationUtil.getPrivClassAnnotation(clz, 
WebService.class);
+        assertEquals("Greeter", webServiceAnn.name());
+
+        Method method = clz.getMethod("sayHi", new Class[] {});
+        WebMethod webMethodAnno = 
AnnotationUtil.getPrivMethodAnnotation(method, WebMethod.class);
+        assertEquals(method.getName() + "()" + " Annotation : 
WebMethod.operationName ", "sayHi",
+                     webMethodAnno.operationName());
+
+        RequestWrapper requestWrapperAnn = 
AnnotationUtil.getPrivMethodAnnotation(method,
+                                                                               
   RequestWrapper.class);
+
+        assertEquals("org.apache.hello_world_soap12_http.types.SayHi", 
requestWrapperAnn.className());
+
+        ResponseWrapper resposneWrapperAnn = 
AnnotationUtil.getPrivMethodAnnotation(method,
+                                                                               
     ResponseWrapper.class);
+
+        assertEquals("sayHiResponse", resposneWrapperAnn.localName());
+
+        WebResult webResultAnno = 
AnnotationUtil.getPrivMethodAnnotation(method, WebResult.class);
+
+        assertEquals("responseType", webResultAnno.name());
+
+        method = clz.getMethod("pingMe", new Class[] {});
+        webMethodAnno = AnnotationUtil.getPrivMethodAnnotation(method, 
WebMethod.class);
+        assertEquals(method.getName() + "()" + " Annotation : 
WebMethod.operationName ", "pingMe",
+                     webMethodAnno.operationName());
+        Class[] exceptionCls = method.getExceptionTypes();
+        assertEquals(1, exceptionCls.length);
+        assertEquals("org.apache.hello_world_soap12_http.PingMeFault", 
exceptionCls[0].getName());
+    }
+
     public void testHelloWorld() throws Exception {
+        env.put(ToolConstants.CFG_WSDLURL, 
getLocation("/wsdl2java_wsdl/hello_world.wsdl"));
+        processor.setContext(env);
+        processor.execute(true);
+
+        assertNotNull(output);
+
+        File org = new File(output, "org");
+        assertTrue(org.exists());
+        File apache = new File(org, "apache");
+        assertTrue(apache.exists());
+        File helloworldsoaphttp = new File(apache, "hello_world_soap_http");
+        assertTrue(helloworldsoaphttp.exists());
+        File types = new File(helloworldsoaphttp, "types");
+        assertTrue(types.exists());
+        File[] files = helloworldsoaphttp.listFiles();
+        assertEquals(6, files.length);
+        files = types.listFiles();
+        assertEquals(17, files.length);
+
+        Class clz = 
classLoader.loadClass("org.apache.hello_world_soap_http.Greeter");
+        assertTrue("class " + clz.getName() + " modifier is not public", 
Modifier
+            .isPublic(clz.getModifiers()));
+        assertTrue("class " + clz.getName() + " modifier is interface", 
Modifier.isInterface(clz
+            .getModifiers()));
+
+        WebService webServiceAnn = AnnotationUtil.getPrivClassAnnotation(clz, 
WebService.class);
+        assertEquals("Greeter", webServiceAnn.name());
+
+        Method method = clz.getMethod("sayHi", new Class[] {});
+        WebMethod webMethodAnno = 
AnnotationUtil.getPrivMethodAnnotation(method, WebMethod.class);
+        assertEquals(method.getName() + "()" + " Annotation : 
WebMethod.operationName ", "sayHi",
+                     webMethodAnno.operationName());
+
+        RequestWrapper requestWrapperAnn = 
AnnotationUtil.getPrivMethodAnnotation(method,
+                                                                               
   RequestWrapper.class);
+
+        assertEquals("org.apache.hello_world_soap_http.types.SayHi", 
requestWrapperAnn.className());
+
+        ResponseWrapper resposneWrapperAnn = 
AnnotationUtil.getPrivMethodAnnotation(method,
+                                                                               
     ResponseWrapper.class);
+
+        assertEquals("sayHiResponse", resposneWrapperAnn.localName());
+
+        WebResult webResultAnno = 
AnnotationUtil.getPrivMethodAnnotation(method, WebResult.class);
+
+        assertEquals("responseType", webResultAnno.name());
+
+        method = clz.getMethod("greetMe", new Class[] {String.class});
+        assertEquals("String", method.getReturnType().getSimpleName());
+        WebParam webParamAnn = AnnotationUtil.getWebParam(method, 
"requestType");
+        assertEquals("http://apache.org/hello_world_soap_http/types";, 
webParamAnn.targetNamespace());
+
+        method = clz.getMethod("greetMeOneWay", new Class[] {String.class});
+        Oneway oneWayAnn = AnnotationUtil.getPrivMethodAnnotation(method, 
Oneway.class);
+        assertNotNull("OneWay Annotation is not generated", oneWayAnn);
+        assertEquals("void", method.getReturnType().getSimpleName());
+
+        method = clz.getMethod("greetMeSometime", new Class[] {String.class});
+        assertEquals("String", method.getReturnType().getSimpleName());
+
+        method = clz.getMethod("testDocLitFault", new Class[] 
{java.lang.String.class});
+        assertEquals("void", method.getReturnType().getSimpleName());
+        assertEquals("Exception class is not generated ", 2, 
method.getExceptionTypes().length);
+
+        method = clz.getMethod("testDocLitBare", new Class[] 
{java.lang.String.class});
+        webResultAnno = AnnotationUtil.getPrivMethodAnnotation(method, 
WebResult.class);
+        assertEquals("out", webResultAnno.partName());
+        SOAPBinding soapBindingAnno = 
AnnotationUtil.getPrivMethodAnnotation(method, SOAPBinding.class);
+        assertEquals("BARE", soapBindingAnno.parameterStyle().toString());
+        assertEquals("BareDocumentResponse", 
method.getReturnType().getSimpleName());
+
+    }
 
-        String[] args = new String[] {"-d", output.getCanonicalPath(),
-                                      
getLocation("/wsdl2java_wsdl/hello_world.wsdl")};
-        WSDLToJava.main(args);
+    
+    public void testDocLitHolder() throws Exception {
+        env.put(ToolConstants.CFG_WSDLURL, 
getLocation("/wsdl2java_wsdl/mapping-doc-literal.wsdl"));
+        processor.setContext(env);
+        processor.execute(true);
+        assertNotNull(output);
+        File org = new File(output, "org");
+        assertTrue(org.exists());
+        File apache = new File(org, "apache");
+        assertTrue(apache.exists());
+        File mapping = new File(apache, "mapping");
+        assertTrue(mapping.exists());
+        File[] files = mapping.listFiles();
+        assertEquals(7, files.length);
+        Class clz = 
classLoader.loadClass("org.apache.mapping.SomethingServer");
+        Method method = clz.getMethod("doSomething", new Class[] {int.class, 
javax.xml.ws.Holder.class,
+                                                                  
javax.xml.ws.Holder.class});
+        assertEquals("boolean", method.getReturnType().getSimpleName());
+        WebParam webParamAnno = AnnotationUtil.getWebParam(method, "y");
+        assertEquals("INOUT", webParamAnno.mode().name());
+        webParamAnno = AnnotationUtil.getWebParam(method, "z");
+        assertEquals("OUT", webParamAnno.mode().name());
     }
+     
 
     private String getLocation(String wsdlFile) {
         return this.getClass().getResource(wsdlFile).getFile();

Modified: 
incubator/cxf/trunk/tools2/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async.wsdl
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async.wsdl?view=diff&rev=495513&r1=495512&r2=495513
==============================================================================
--- 
incubator/cxf/trunk/tools2/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async.wsdl
 (original)
+++ 
incubator/cxf/trunk/tools2/wsdlto/test/src/test/resources/wsdl2java_wsdl/hello_world_async.wsdl
 Fri Jan 12 00:26:34 2007
@@ -29,7 +29,7 @@
     targetNamespace="http://apache.org/hello_world_async_soap_http"; 
     name="HelloWorld">
     <jaxws:bindings>
-       <enableAsyncMapping>true</enableAsyncMapping>
+       <jaxws:enableAsyncMapping>true</jaxws:enableAsyncMapping>
     </jaxws:bindings>
     <wsdl:types>
        <schema 


Reply via email to