WSDL - Web Services

Olá pessoal,

Recebi do cliente dois arquivos WSDL e dois XSD, gostaria de saber se tem como gerar as classes .java apartir desses arquivos. Lembrando que eu não tenho acesso a URL para gerar através do Wizard do Eclipse, esse arquivos estão “OFFLINE” em minha máquina.

Cara que eu me lembre pra gerar a palhaçada toda (proxy, binding, etc) precisa ter acesso a url.

Você não consegue conectar no endpoint?

mas então como você irá testar ou algo do tipo?

tenta acessar, o endereço fica dentro do wsdl mesmo.

É perfeitamente possível gerar a implementação, desde que a estrutura no seu filesystem esteja correta. Dê uma olhada no wsimport, ele consegue gerar as classes necessárias a partir do filesystem sem problemas.

[jabá]
Meu livro SOA Aplicado mostra como fazer isso.
[/jabá]

[]'s

[quote=Alexandre Saudate]É perfeitamente possível gerar a implementação, desde que a estrutura no seu filesystem esteja correta. Dê uma olhada no wsimport, ele consegue gerar as classes necessárias a partir do filesystem sem problemas.

[jabá]
Meu livro SOA Aplicado mostra como fazer isso.
[/jabá]

[]'s[/quote]

Cara tentei via wsimport com o seguinte comando (wsimport -keep -verbose D:…\Arquivo.wsdl) e não obtive muito sucesso, obtive o seguinte erro:

[WARNING] schema_reference.4: Failed to read schema document ‘http://localhost:8080/infranetwebsvc/(“NOME DO PROJETO”)?xsd=1’, because 1) could not find the d
ocument; 2) the document could not be read; 3) the root element of the documentis not xsd:schema. line 6 of file:/D:/EMPRESA/(“NOME DO PROJETO”).wsdl#types?schema1

[quote=danielJaponeis]Cara que eu me lembre pra gerar a palhaçada toda (proxy, binding, etc) precisa ter acesso a url.

Você não consegue conectar no endpoint?

mas então como você irá testar ou algo do tipo?

tenta acessar, o endereço fica dentro do wsdl mesmo.[/quote]

Infelizmente não temos acesso ainda, quando entrar em fase de homologação no cliente nós iremos ter acesso, enquanto isso só irei fazer referencias aos metodos dele e em homologação testo.

[quote=colix][quote=Alexandre Saudate]É perfeitamente possível gerar a implementação, desde que a estrutura no seu filesystem esteja correta. Dê uma olhada no wsimport, ele consegue gerar as classes necessárias a partir do filesystem sem problemas.

[jabá]
Meu livro SOA Aplicado mostra como fazer isso.
[/jabá]

[]'s[/quote]

Cara tentei via wsimport com o seguinte comando (wsimport -keep -verbose D:…\Arquivo.wsdl) e não obtive muito sucesso, obtive o seguinte erro:

[WARNING] schema_reference.4: Failed to read schema document ‘http://localhost:8080/infranetwebsvc/(“NOME DO PROJETO”)?xsd=1’, because 1) could not find the d
ocument; 2) the document could not be read; 3) the root element of the documentis not xsd:schema. line 6 of file:/D:/EMPRESA/(“NOME DO PROJETO”).wsdl#types?schema1[/quote]

Essa mensagem acontece porque você está tentando referenciar o schema pela rede. Altere a seção types do WSDL para achar o schema pelo filesystem e tente novamente.

[]'s

[quote=Alexandre Saudate][quote=colix][quote=Alexandre Saudate]É perfeitamente possível gerar a implementação, desde que a estrutura no seu filesystem esteja correta. Dê uma olhada no wsimport, ele consegue gerar as classes necessárias a partir do filesystem sem problemas.

[jabá]
Meu livro SOA Aplicado mostra como fazer isso.
[/jabá]

[]'s[/quote]

via wsimport com o seguinte comando (wsimport -keep -verbose D:…\Arquivo.wsdl) e não obtive muito sucesso, obtive o seguinte erro:

[WARNING] schema_reference.4: Failed to read schema document ‘http://localhost:8080/infranetwebsvc/(“NOME DO PROJETO”)?xsd=1’, because 1) could not find the d
ocument; 2) the document could not be read; 3) the root element of the documentis not xsd:schema. line 6 of file:/D:/EMPRESA/(“NOME DO PROJETO”).wsdl#types?schema1[/quote]

Essa mensagem acontece porque você está tentando referenciar o schema pela rede. Altere a seção types do WSDL para achar o schema pelo filesystem e tente novamente.

[]'s[/quote]

Dentro da TAG types tem schemaLocation e namespace devo alterar os dois?
Outra dúvida a TAG service tem dentro dela soap:adress que também referencia a rede, este também deve ser alterado/


Cara consegui, pode ajudar dizendo aonde eles são gerados?

Eles são gerados, normalmente, no mesmo diretório onde você invocou o wsimport. Mas você pode alterar isso com a opção -s .

[]'s