Author: ffang
Date: Fri Sep 16 10:59:25 2011
New Revision: 1171503

URL: http://svn.apache.org/viewvc?rev=1171503&view=rev
Log:
Merged revisions 1171498 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/branches/2.4.x-fixes

................
  r1171498 | ffang | 2011-09-16 18:50:33 +0800 (五, 16  9 2011) | 9 lines
  
  Merged revisions 1171492 via svnmerge from 
  https://svn.apache.org/repos/asf/cxf/trunk
  
  ........
    r1171492 | ffang | 2011-09-16 18:26:25 +0800 (五, 16  9 2011) | 1 line
    
    [CXF-3125]Add -validate option to wsdl2service
  ........
................

Added:
    
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/test/resources/misctools_wsdl/hello_world_mixed_style.wsdl
      - copied unchanged from r1171498, 
cxf/branches/2.4.x-fixes/tools/wsdlto/misc/src/test/resources/misctools_wsdl/hello_world_mixed_style.wsdl
Modified:
    cxf/branches/2.3.x-fixes/   (props changed)
    
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java
    
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/wsdl2service.xml
    
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToServiceProcessorTest.java

Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java?rev=1171503&r1=1171502&r2=1171503&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java
 (original)
+++ 
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java
 Fri Sep 16 10:59:25 2011
@@ -115,6 +115,9 @@ public class AbstractWSDLToProcessor imp
         }
         WSDLDefinitionBuilder builder = new WSDLDefinitionBuilder(bus);
         wsdlDefinition = builder.build(wsdlURL);
+        if (env.optionSet(ToolConstants.CFG_VALIDATE_WSDL)) {
+            validate(wsdlDefinition, env, bus);
+        }
         WSDLManager mgr = bus.getExtension(WSDLManager.class);
         mgr.removeDefinition(wsdlDefinition);
         
@@ -194,5 +197,9 @@ public class AbstractWSDLToProcessor imp
             System.err.println("Parsing schema warning " + 
exception.toString());
         }
     }
+    
+    public boolean validate(final Definition def, ToolContext context, Bus 
bus) throws ToolException {
+        return new WSDL11Validator(def, context, bus).isValid();
+    }
 
 }

Modified: 
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/wsdl2service.xml
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/wsdl2service.xml?rev=1171503&r1=1171502&r2=1171503&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/wsdl2service.xml
 (original)
+++ 
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/wsdl2service.xml
 Fri Sep 16 10:59:25 2011
@@ -233,6 +233,14 @@ wsdl2service -transport http -e servicen
                                <switch>quiet</switch>
                                <switch>q</switch>
                    </option>
+                    <option id="validate" maxOccurs="1">
+                        <annotation>
+                            To validate the wsdl before generating the wsdl 
service part.  Usage of
+                            this option is highly recommended.
+                        </annotation>
+                        <switch>validate</switch>
+                    </option>
+
                </optionGroup>
                
                <argument id="wsdlurl" minOccurs="1" maxOccurs="1">

Modified: 
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToServiceProcessorTest.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToServiceProcessorTest.java?rev=1171503&r1=1171502&r2=1171503&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToServiceProcessorTest.java
 (original)
+++ 
cxf/branches/2.3.x-fixes/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToServiceProcessorTest.java
 Fri Sep 16 10:59:25 2011
@@ -350,4 +350,30 @@ public class WSDLToServiceProcessorTest 
             }
         }
     }
+    
+    @Test
+    public void testWSDLValidation() throws Exception {
+        //intend to use a wsdl which will break WSIBPValidator
+        
+        WSDLToServiceProcessor processor = new WSDLToServiceProcessor();
+
+        env.put(ToolConstants.CFG_WSDLURL, 
getLocation("/misctools_wsdl/hello_world_mixed_style.wsdl"));
+        env.put(ToolConstants.CFG_TRANSPORT, new String("soap"));
+        env.put(ToolConstants.CFG_BINDING_ATTR, new 
String("Greeter_SOAPBinding"));
+        env.put(ToolConstants.CFG_SERVICE, new String("serviceins"));
+        env.put(ToolConstants.CFG_PORT, new String("portins"));
+        env.put(ToolConstants.CFG_VALIDATE_WSDL, 
ToolConstants.CFG_VALIDATE_WSDL);
+        processor.setEnvironment(env);
+        
+        try {
+            processor.process();
+            fail("Do not catch expected tool exception for breaking 
WSIBPValidator!");
+        } catch (Exception e) {
+            if (!(e instanceof ToolException && e.toString()
+                .indexOf("Mixed style, invalid WSDL") >= 0)) {
+                fail("Do not catch tool exception for breaking 
WSIBPValidator!, "
+                     + "catch other unexpected exception!");
+            }
+        }
+    }
 }


Reply via email to