quinta-feira, 27 de setembro de 2012

constructor Service JAX-WS 2.2

Olá, hoje ao gerar um client para web services através de um wsdl (utilizei o gerador de client ws do eclipse) tive o seguinte erro de compilação:

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project ProjectL8-ejb: Compilation failure: Compilation failure:
[exec] [ERROR] \work\workspaces\workspace-juno\ProjectL8\ProjectL8-ejb\src\main\java\br\com\localhost8080\wstest\ws\test\TestService.java:[39,8] cannot find symbol
[exec] [ERROR] symbol : constructor Service(java.net.URL,javax.xml.namespace.QName,javax.xml.ws.WebServiceFeature[])
[exec] [ERROR] location: class javax.xml.ws.Service

Isso acontece pois o maven está usando a classe Service errada:

javax.xml.ws.Service encontrada no "JDK SE 1.6" e no "JAX-WS 2.1" não tem este construtor com três parâmetros.

javax.xml.ws.Service encontrada no "JAX-WS 2.2" é a versão correta.

Você pode alterar o build-path diretamente do seu projeto para utilizar o jaxws-api.jar ou então alterar o seu pom para usar o "JAX-WS 2.2.x", basta adicionar no seu pom o que está no link a seguir:

http://jax-ws-commons.java.net/jaxws-maven-plugin/examples/using-jaxws22-on-jdk6.html

Vaaleu!!
Adriano Schmidt