Client JAX-WS de WebService .NET que usa Token de segurança (padrão WSE 3.0)  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
adriano_si
JWizard
[Avatar]

Membro desde: 01/10/2006 15:29:40
Mensagens: 2047
Offline

Prezados,

estou até envergonhado de dizer o que direi a seguir, mas realmente não consegui entender como funciona esse Token.

Pesquisei http://www.google.com.br/#sclient=psy&hl=pt-BR&site=&source=hp&q=cliente+jax-ws+usando+Token&oq=cliente+jax-ws+usando+Token&aq=f&aqi=&aql=&gs_sm=e&gs_upl=672252l695719l0l696495l67l58l14l16l16l1l5856l65569l4-3.9.0.4.0.11l28l0&bav=on.2,or.r_gc.r_pw.&fp=da1c7e7cdd4bcfdf&biw=1280&bih=638 e vi que tem algumas soluções, mas não estou conseguindo relmente entender.

Tenho que consumir um WebService que foi feito em .NET com o padrão WSE 3.0. Estamos usando o JAXWS para a geração desse client.

Usei o wsimport no WSDL que nos foi enviado. No documento da empresa, estava descrito que esse Token deveria ser inserido na classe de Proxy.

Ao Gerar pelo wsimport, não achei em nenhuma das classes onde inserir o maldito Token.

Pesquisando no livro [Java WebServices Implementando], ví que pode-se gerar um Handler que seta alguns parâmetros no Header, só que não ví como passar esses valores na hora de consultar o serviço.

No documento descreve que esse Token (usuário e senha) deve ser passado no proxy, mas no Proxy não há métodos nem atributos para que sejam setados esse Token, o Handler é comunicado sempre que chamamos o serviço e faz o trabalho implicitamente ???

Fiquei realmente boiando na questão. Estou em casa e assim que chegar posto as classes geradas.

Enquanto isso se alguém já passou pela questão e puder dar esse Help. Ficarei grato.

Abs[] e sucesso a todos.

"É preciso ter mais fé pra acreditar que viemos do nada..."

Blog - http://aohana.wordpress.com/

Padrão de nomenclatura Java - http://www.oracle.com/technetwork/java/codeconventions-139411.html#16712

Doc. Java - http://www.oracle.com/technetwork/java/javase/documentation/index.html

Faça perguntas Inteligentes - http://istf.com.br/perguntas

Sobrevivência no GUJ:
(Regras) http://www.guj.com.br/java/21516-regras-do-forum

(Boa prática) http://www.guj.com.br/java/15477-antes-de-voce-perguntar

(Código fonte) http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor
warley
Java Ninja
[Avatar]

Membro desde: 16/03/2004 18:46:25
Mensagens: 266
Localização: Vitória - ES
Offline

Fala Cara...

Gere o cliente pelo NetBeans que ele irá pedir no wizard as informações do token em seguida ele irá gerar as classes.
Com as classes geradas vc consegue encontrar onde ele colocou o token.
O legal que o NetBeans gera o código todo usando o JAX-WS.


Ninguém é tão grande que não possa aprender, nem tão pequeno que não possa ensinar

Já me perguntaram: "O porquê que tem que ser em Java?"
Eu respondi: "Por quê não pode ser?"

- SCWCD 1.4
- SCJP 5.0
- SCJA 1.0
[Email]
adriano_si
JWizard
[Avatar]

Membro desde: 01/10/2006 15:29:40
Mensagens: 2047
Offline

warley wrote:Fala Cara...

Gere o cliente pelo NetBeans que ele irá pedir no wizard as informações do token em seguida ele irá gerar as classes.
Com as classes geradas vc consegue encontrar onde ele colocou o token.
O legal que o NetBeans gera o código todo usando o JAX-WS.



Fala Warley, muito obrigado pela atenção dispensada ao assunto.

Pois bem, fiz o teste no wsimport, no eclipse e no NetBeans e o curioso é que em nenhum essas informações foram pedidas. Meu NetBeans é o 6.9.1.

Devo gerar em alguma outra versão ?? Fiz alguma besteira ??

Um fato curioso é que me parece que essa informação do Token não se encontra no WSDL... Ela não deveria estar explícita nesse arquivo ???

Outro fato curioso é que em nenhum lugar eu vi essa informação ou então passei batido por ela, mas quando chamo o método do Serviço, a mensagem de que foi impossível obter o Token aparece como um SOAPFaultException.

Abs [] e mais uma vez, muito obrigado pela atenção dispensada.

"É preciso ter mais fé pra acreditar que viemos do nada..."

Blog - http://aohana.wordpress.com/

Padrão de nomenclatura Java - http://www.oracle.com/technetwork/java/codeconventions-139411.html#16712

Doc. Java - http://www.oracle.com/technetwork/java/javase/documentation/index.html

Faça perguntas Inteligentes - http://istf.com.br/perguntas

Sobrevivência no GUJ:
(Regras) http://www.guj.com.br/java/21516-regras-do-forum

(Boa prática) http://www.guj.com.br/java/15477-antes-de-voce-perguntar

(Código fonte) http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor
adriano_si
JWizard
[Avatar]

Membro desde: 01/10/2006 15:29:40
Mensagens: 2047
Offline

Warley, mais uma vez agradeço.

O problema foi resolvido com essa solução aqui: http://www.javadb.com/using-a-message-handler-to-alter-the-soap-header-in-a-web-service-client

O jeito foi criar um Handler + Resolver. Aí Voilá, tudo funcionou perfeitamente bem..

Agora tá dando erro interno, mas não é mais bronca do Token nem da comunicação.

Fica aí caso mais alguém precise.

Mais uma vez sou grato pela atenção dispensada.

Abs[] e sucessos a todos.

"É preciso ter mais fé pra acreditar que viemos do nada..."

Blog - http://aohana.wordpress.com/

Padrão de nomenclatura Java - http://www.oracle.com/technetwork/java/codeconventions-139411.html#16712

Doc. Java - http://www.oracle.com/technetwork/java/javase/documentation/index.html

Faça perguntas Inteligentes - http://istf.com.br/perguntas

Sobrevivência no GUJ:
(Regras) http://www.guj.com.br/java/21516-regras-do-forum

(Boa prática) http://www.guj.com.br/java/15477-antes-de-voce-perguntar

(Código fonte) http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team