[
https://issues.apache.org/jira/browse/CXF-2368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp updated CXF-2368:
-----------------------------
Fix Version/s: (was: Invalid)
Summary: defaultOptions in cxf-codegen-plugin only works with
wsdlRoot scanning (was: NPE in cxf-codegen-plugin when trying to use
defaultOptions with wsdlOptions)
The wiki page at:
http://cwiki.apache.org/CXF20DOC/maven-integration-and-plugin.html
says the defaultOptions should work with the "wsdlOptions" specified wsdl, but
it doesn't. It only applies to wsdlOptions obtained by the directory scan
using wsdlRoot with includes/excludes. Not sure if this is a doc error or
code error. My gut feeling says it was MEANT to be a doc error, but it's
definitely a good feature and thus is a code error.
In anycase, you can use the wsdlRoot form:
<wsdlRoot>src/main/wsdl</wsdlRoot>
<defaultOptions>
<validateWsdl>true</validateWsdl>
<bindingFiles>
<bindingFile>src/main/wsdl/bindings/bindings.xjb</bindingFile>
</bindingFiles>
<extraargs>
<extraarg>-server</extraarg>
</extraargs>
</defaultOptions>
> defaultOptions in cxf-codegen-plugin only works with wsdlRoot scanning
> ----------------------------------------------------------------------
>
> Key: CXF-2368
> URL: https://issues.apache.org/jira/browse/CXF-2368
> Project: CXF
> Issue Type: Bug
> Components: Tooling
> Affects Versions: 2.2.2
> Environment: Windows XP, Eclipse 3.3.2 + m2eclipse plug-in
> Reporter: John McGinn
> Assignee: Daniel Kulp
> Priority: Minor
> Attachments: bindingMapping.xsd, bindings.xjb, Equipment.xsd,
> EquipmentService.wsdl, pom.xml, stacktrace.txt
>
>
> I setup the plug-in with defaultOptions + a wsdlOption and get the following
> stack trace:
> java.lang.NullPointerException
> at java.io.File.<init>(File.java:222)
> at
> org.apache.cxf.maven_plugin.WSDL2JavaMojo.mergeOptions(WSDL2JavaMojo.
> java:143)
> at
> org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:
> 195)
> This appears to be happening at this line of code:
> private void mergeOptions(List<WsdlOption> options) {
> File outputDirFile = testSourceRoot == null ? sourceRoot :
> testSourceRoot;
> for (WsdlOption o : wsdlOptions) {
> if (o.getOutputDir() == null) {
> o.setOutputDir(outputDirFile);
> }
>
> File file = new File(o.getWsdl()); <!------------------
> I believe this method is merging default options with wsdl options, but the
> default options doesn't have a wsdl file those the File constructor fails.
> I put a wsdl option in my default options and the exception went away and the
> code was generated.
> My plugin config:
> <plugin>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-codegen-plugin</artifactId>
> <version>2.2.2</version>
> <executions>
> <execution>
> <id>generate-sources</id>
> <phase>generate-sources</phase>
> <configuration>
> <wsdlOptions>
> <defaultOptions>
>
> <validateWsdl>true</validateWsdl>
>
> <wsdl>src/main/wsdl/EquipmentService.wsdl</wsdl>
>
> </defaultOptions>
> <wsdlOption>
> <bindingFiles>
>
> <bindingFile>src/main/wsdl/bindings/bindings.xjb</bindingFile>
> </bindingFiles>
>
> <wsdl>src/main/wsdl/EquipmentService.wsdl</wsdl>
> </wsdlOption>
> </wsdlOptions>
> </configuration>
> <goals>
> <goal>wsdl2java</goal>
> </goals>
> </execution>
> </executions>
> </plugin>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.