Gerar stub a partir de wsdl

4 respostas
H

Bom dia galera,

Estou com problema em criar a classe stub a partir do wsdl em um web services simples de teste, seguindo o livro ‘Web Services SOAP em Java’. Quando vou gerar a classe stub através do comando via CMD abaixo, ocorre um erro que não faço idéia do que seja.

  1. Comando para gerar o stub no prompt

wsdl2java -uri C:\Documents and Settings\Administrador\worksp
ace\ClientCalcSwing\META-INF\Calculadora.wsdl -p org.ws.calc.cliente.stub -d adb -s

  1. Erro apresentado
Using AXIS2_HOME:   c:\axis2-1.5.6

Using JAVA_HOME:    C:\Arquivos de programas\Java\jdk1.6.0_21

Retrieving document at ‘C:\Documents’.

Exception in thread “main” org.apache.axis2.wsdl.codegen.CodeGenerationException

: Error parsing WSDL

at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.(CodeGenerat

ionEngine.java:156)

at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)

at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)

Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=OTHER_ERROR: Unabl

e to resolve imported document at ‘C:\Documents’.: java.io.FileNotFoundException

: This file was not found: file:/C:/Documents

at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)

at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)

at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(

CodeGenerationEngine.java:288 )

at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.(CodeGenerat

ionEngine.java:111)

… 2 more

Caused by: java.io.FileNotFoundException: This file was not found: file:/C:/Docu

ments

at com.ibm.wsdl.util.StringUtils.getContentAsInputStream(Unknown Source)
... 6 more

Já conferi os diretórios onde tem que gerar o stub, estão certos, porém o arquivo não é gerado. Alguém pode me ajudar?

valeu!

4 Respostas

H

Para teste, mudei a workspace de C:\Documents and Settings\Administrador\worksp
ace PARA c:\teste\workspace e ocorreu o seguinte

1. A primeira vez que tentei gerar deu a mensagem que tinha gerado

2. Tanto é que tentei gerar de novo e apareceu a seguinte mensagem:

Using AXIS2_HOME: c:\axis2-1.5.6
Using JAVA_HOME: C:\Arquivos de programas\Java\jdk1.6.0_21
Retrieving document at ‘C:\teste\workspace\ClientCalcSwing\META-INF\Calculadora.
wsdl’.
[INFO] The .\src\org\ws\calc\cliente\stub\CalculadoraStub.java file cannot be overwritten.

3. Mas o problema é que não existe a classe stub lá, tento achar o arquivo mas não encontro nada.

Alguém já teve essa experiência?

obgado

K

Oi hbdias,

já tentou usar o JAX-WS ao invés do Axis? É bem mais interessante.

Neste caso, você geraria o seu cliente pro webservice usando o próprio JDK (pós 5) com um comando como o abaixo

wsimport -d [diretorio aonde vai ser gerado o cliente] -source [diretorio aonde o código fonte vai ser gerado] [endereço do wsdl]

Muito mais fácil.

A

Siga a dica do kicolobo, com JAX-WS é bem mais fácil e interessante. Ultimamente tenho estudado SOAP e REST, e o que aprendi foi pelos tutoriais do site do NetBeans, e claro utilizando Netbeans. Pelo Eclipse não sei fazer. Aqui http://netbeans.org/kb/trails/web.html tem uns tutoriais que podem ajudar, é só procurar por SOAP Web Services

H

Entendi. Na verdade, eu tava querendo seguir o livro desde o início pra seguir todos os exemplos. E quanto a IDE, eu estou querendo aprender a usar no ambiente eclipse mesmo. Vou dar uma fuçada aqui e qq eu falo pra todos.

vlw.

Criado 26 de janeiro de 2012
Ultima resposta 26 de jan. de 2012
Respostas 4
Participantes 3