You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Ryan Moquin <fr...@gmail.com> on 2007/09/18 18:32:27 UTC
Strange problem with wsdl2java
I decided to convert one of my servicemix services over to cxf which was
working great on xfire. I added the cxf wsdl2java plugin for maven like
this:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf-version}</version>
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-soap</artifactId>
<version>${cxf-version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory
}/generated-sources/jaxws</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/CommunicationService.wsdl</wsdl>
<extraargs>
<extraarg>-verbose</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
and got this exception:
WSDLToJava Error : java.lang.NullPointerException
org.apache.cxf.tools.common.ToolException: java.lang.NullPointerException
at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(
WSDLToJavaContainer.java:242)
at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(
ToolRunner.java:83)
at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:102)
at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:171)
at org.apache.cxf.maven_plugin.WSDL2JavaMojo.processWsdl(
WSDL2JavaMojo.java:186)
at org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(
WSDL2JavaMojo.java:102)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(
DefaultPluginManager.java:443)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
DefaultLifecycleExecutor.java:539)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle
(DefaultLifecycleExecutor.java:480
)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
DefaultLifecycleExecutor.java:459)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
(DefaultLifecycleExecutor.java
:311)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
DefaultLifecycleExecutor.java:278)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
DefaultLifecycleExecutor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java
:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java
:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.lang.NullPointerException
at org.apache.cxf.tools.util.SOAPBindingUtil.getSoapHeaders(
SOAPBindingUtil.java:199)
at org.apache.cxf.binding.soap.SoapBindingFactory.initializeMessage(
SoapBindingFactory.java:507)
at
org.apache.cxf.binding.soap.SoapBindingFactory.initializeBindingOperation(
SoapBindingFactory.java:493)
at org.apache.cxf.binding.soap.SoapBindingFactory.createBindingInfo(
SoapBindingFactory.java:468)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildBinding(
WSDLServiceBuilder.java:490)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(
WSDLServiceBuilder.java:264)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(
WSDLServiceBuilder.java:154)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(
WSDLServiceBuilder.java:143)
at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(
WSDLToJavaContainer.java:161)
at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(
WSDLToJavaContainer.java:234)
... 23 more
I decided since coincidentally, CXF is failing on header code again (and
since my service doesn't actually have any), I thought I would take out the
dependency cxf-rt-bindings-soap which I had put in the plugin. When I did,
this error went away.
Does the plugin somehow detect a class in that jar can cause it to go
haywire? I would think it shouldn't matter if I include that dependency or
not?
Re: Strange problem with wsdl2java
Posted by James Mao <ja...@iona.com>.
Which version of cxf are you using? I would suggest try the 2.0.2 [1]
If the problem still there, then, you should file an issue in jira, and
mark the affected version as 2.0.2, and we will fix it for 2.1
Regards,
James
[1] http://people.apache.org/~dkulp/stage_cxf/2.0.2-incubator-take2/
> I decided to convert one of my servicemix services over to cxf which was
> working great on xfire. I added the cxf wsdl2java plugin for maven like
> this:
>
> <plugin>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-codegen-plugin</artifactId>
> <version>${cxf-version}</version>
> <dependencies>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-bindings-soap</artifactId>
> <version>${cxf-version}</version>
> </dependency>
> </dependencies>
> <executions>
> <execution>
> <phase>generate-sources</phase>
> <configuration>
> <sourceRoot>${project.build.directory
> }/generated-sources/jaxws</sourceRoot>
> <wsdlOptions>
> <wsdlOption>
>
> <wsdl>${basedir}/src/main/resources/CommunicationService.wsdl</wsdl>
> <extraargs>
> <extraarg>-verbose</extraarg>
> </extraargs>
> </wsdlOption>
> </wsdlOptions>
> </configuration>
> <goals>
> <goal>wsdl2java</goal>
> </goals>
> </execution>
> </executions>
> </plugin>
>
> and got this exception:
>
> WSDLToJava Error : java.lang.NullPointerException
>
> org.apache.cxf.tools.common.ToolException: java.lang.NullPointerException
> at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(
> WSDLToJavaContainer.java:242)
> at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(
> ToolRunner.java:83)
> at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:102)
> at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:171)
> at org.apache.cxf.maven_plugin.WSDL2JavaMojo.processWsdl(
> WSDL2JavaMojo.java:186)
> at org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(
> WSDL2JavaMojo.java:102)
> at org.apache.maven.plugin.DefaultPluginManager.executeMojo(
> DefaultPluginManager.java:443)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
> DefaultLifecycleExecutor.java:539)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle
> (DefaultLifecycleExecutor.java:480
> )
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
> DefaultLifecycleExecutor.java:459)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
> (DefaultLifecycleExecutor.java
> :311)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
> DefaultLifecycleExecutor.java:278)
> at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
> DefaultLifecycleExecutor.java:143)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java
> :315)
> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java
> :430)
> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: java.lang.NullPointerException
> at org.apache.cxf.tools.util.SOAPBindingUtil.getSoapHeaders(
> SOAPBindingUtil.java:199)
> at org.apache.cxf.binding.soap.SoapBindingFactory.initializeMessage(
> SoapBindingFactory.java:507)
> at
> org.apache.cxf.binding.soap.SoapBindingFactory.initializeBindingOperation(
> SoapBindingFactory.java:493)
> at org.apache.cxf.binding.soap.SoapBindingFactory.createBindingInfo(
> SoapBindingFactory.java:468)
> at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildBinding(
> WSDLServiceBuilder.java:490)
> at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(
> WSDLServiceBuilder.java:264)
> at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(
> WSDLServiceBuilder.java:154)
> at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(
> WSDLServiceBuilder.java:143)
> at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(
> WSDLToJavaContainer.java:161)
> at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(
> WSDLToJavaContainer.java:234)
> ... 23 more
>
> I decided since coincidentally, CXF is failing on header code again (and
> since my service doesn't actually have any), I thought I would take out the
> dependency cxf-rt-bindings-soap which I had put in the plugin. When I did,
> this error went away.
>
> Does the plugin somehow detect a class in that jar can cause it to go
> haywire? I would think it shouldn't matter if I include that dependency or
> not?
>
>