NPE in cxf-codegen-plugin when trying to use defaultOptions with wsdlOptions
----------------------------------------------------------------------------
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
Priority: Minor
Attachments: Equipment.xsd, EquipmentService.wsdl, pom.xml
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.