Web services wsimport与maven一起失败

Web services wsimport与maven一起失败,web-services,jakarta-ee,maven,netbeans,Web Services,Jakarta Ee,Maven,Netbeans,我正在尝试使用maven和netbeans(7.2)创建一个ssl webservice客户端。 Web服务工作得很好,我使用ant项目对其进行了测试 当我尝试构建项目并生成webservice存根时,会出现以下错误: Failed to execute goal org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.2:wsimport (wsimport-generate-test_project_ws_v1) on project mavenproje

我正在尝试使用maven和netbeans(7.2)创建一个ssl webservice客户端。 Web服务工作得很好,我使用ant项目对其进行了测试

当我尝试构建项目并生成webservice存根时,会出现以下错误:

Failed to execute goal org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.2:wsimport (wsimport-generate-test_project_ws_v1) on project mavenproject3: Error executing: wsimport [-keep, -s, C:\Users\no_name\Documents\NetBeansProjects\mavenproject3\target\generated-sources\jaxws-wsimport, -verbose, -encoding, UTF-8, -extension, -Xnocompile, -catalog, C:\Users\no_name\Documents\NetBeansProjects\mavenproject3\src\jax-ws-catalog.xml, -wsdllocation, https://localhost:8181/test_project_ws_v1/test_project_ws_v1?wsdl, file:/C:/Users/no_name/Documents/NetBeansProjects/mavenproject3/src/wsdl/localhost_8181/test_project_ws_v1/test_project_ws_v1.wsdl]: UndeclaredThrowableException: javax.xml.bind.annotation.XmlElementRef.required() -> [Help 1]
这是我的pom(由netbeans生成)


4.0.0
com.procc
mavenproject3
1.0-快照
罐子
mavenproject3
http://maven.apache.org
META-INF
src
jax-ws-catalog.xml
wsdl/**
src/main/resources
org.jvnet.jax-ws-commons
jaxws-maven插件
2.2
wsimport
localhost_8181/test_project_ws_v1/test_project_ws_v1.wsdl
https://localhost:8181/test_project_ws_v1/test_project_ws_v1?wsdl
${project.build.directory}/jaxws/stale/test_project_ws_v1.stale
wsimport-generate-test_项目_ws_v1
生成源
javax.xml
webservicesapi
1.4
${project.build.directory}/generated sources/jaxws-wsimport
真的
真的
真的
${basedir}/src/jax-ws-catalog.xml
UTF-8
朱尼特
朱尼特
3.8.1
测试
com.sun.xml.ws
Web服务rt
1.4
编译

谢谢。

我最近也犯了同样的错误

这似乎是因为wsimport与jaxb的2.12.2版本发生了冲突

通过编辑project pom.xml并在每个导入的wsdl的配置中添加
2.1
标记,我能够正确地生成Web服务源,如下所示:

             <execution>
                <goals>
                   <goal>wsimport</goal>
                </goals>
                <configuration>
                   <wsdlFiles>
                      <wsdlFile>path/to/file.wsdl</wsdlFile>
                   </wsdlFiles>
                   <wsdlLocation>http://path/to/webservice?wsdl</wsdlLocation>
                   <staleFile>path/to/file.stale</staleFile>
                   <target>2.1</target>
                </configuration>
                <id>wsimport-generate-WebServiceName</id>
                <phase>generate-sources</phase>
             </execution>

wsimport
path/to/file.wsdl
http://path/to/webservice?wsdl
路径/to/file.stale
2.1
wsimport生成WebServiceName
生成源

希望它能帮助有这个问题的人。

我们也有类似的问题。在执行wsimport时,我们收到一个命令行错误,说明-encoding是无效参数

查看POM和jaxws maven插件的插件部分,存在以下依赖关系:

<dependencies>
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-tools</artifactId>
        <version>2.2.5</version>
   </dependency>
</dependencies>

com.sun.xml.ws
jaxws工具
2.2.5

删除此选项修复了此问题。我们还使用了jaxws maven插件的2.3版

我可以在一台机器上构建,但不能在另一台机器上构建-问题是由环境变量引起的

检查您的maven环境变量,M2M2\u HOME

M2\u HOME-“例如(“C:\Tools\apach maven”)

M2-“%M2\u HOME%\bin”(适用于windows机器)

根据,2.1与2.2由其运行的JDK版本决定。据此,JDK 6包含JAX-WS实现2.1。
<dependencies>
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-tools</artifactId>
        <version>2.2.5</version>
   </dependency>
</dependencies>