Author: ffang
Date: Fri Sep 16 10:50:33 2011
New Revision: 1171498
URL: http://svn.apache.org/viewvc?rev=1171498&view=rev
Log:
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.4.x-fixes/tools/wsdlto/misc/src/test/resources/misctools_wsdl/hello_world_mixed_style.wsdl
- copied unchanged from r1171492,
cxf/trunk/tools/wsdlto/misc/src/test/resources/misctools_wsdl/hello_world_mixed_style.wsdl
Modified:
cxf/branches/2.4.x-fixes/ (props changed)
cxf/branches/2.4.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java
cxf/branches/2.4.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/wsdl2service.xml
cxf/branches/2.4.x-fixes/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToServiceProcessorTest.java
Propchange: cxf/branches/2.4.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.4.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.4.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java?rev=1171498&r1=1171497&r2=1171498&view=diff
==============================================================================
---
cxf/branches/2.4.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java
(original)
+++
cxf/branches/2.4.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/processor/AbstractWSDLToProcessor.java
Fri Sep 16 10:50:33 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.4.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/wsdl2service.xml
URL:
http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/wsdl2service.xml?rev=1171498&r1=1171497&r2=1171498&view=diff
==============================================================================
---
cxf/branches/2.4.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/wsdl2service.xml
(original)
+++
cxf/branches/2.4.x-fixes/tools/wsdlto/misc/src/main/java/org/apache/cxf/tools/misc/wsdl2service.xml
Fri Sep 16 10:50:33 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.4.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.4.x-fixes/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToServiceProcessorTest.java?rev=1171498&r1=1171497&r2=1171498&view=diff
==============================================================================
---
cxf/branches/2.4.x-fixes/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToServiceProcessorTest.java
(original)
+++
cxf/branches/2.4.x-fixes/tools/wsdlto/misc/src/test/java/org/apache/cxf/tools/misc/processor/WSDLToServiceProcessorTest.java
Fri Sep 16 10:50:33 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!");
+ }
+ }
+ }
}