JAX-WS customizável

3 respostas
M
Espero que alguém que conheça um pouco mais de Jax-WS possa me tirar uma dúvida que está me tirando o sono... Imagine que eu tenho dois wsdl referentes a dois web services praticamente iguais e dentro deles tenha diferença apenas nos segmentos abaixo: O primeiro tem esse formato:
<wsdl:service name="NfeStatusServico2">
   <wsdl:port name="NfeStatusServico2Soap12" binding="tns:NfeStatusServico2Soap12">
       <soap12:address location="https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfeStatusServico/nfeStatusServico2.asmx" />
   </wsdl:port>
</wsdl:service>
E o segundo tem este:
<wsdl:service name='NfeStatusServico2'>
   <wsdl:port name='NfeStatusServicoServicePort' binding='tns:NfeStatusServico2Soap12'>  
        <soap12:address location='https://ssefa00009.fazenda.pr.gov.br:8543/nfe/NFeStatusServico2'/>   
   </wsdl:port>
</wsdl:service>
Se dentro de um programa Java eu chamo o serviço da maneira abaixo e altero o valor na URL, consigo definir um novo valor programaticamente para o campo "soap12:address location" e assim utilizar o mesmo wsdl mapeado:
NfeStatusServico2 service = new NfeStatusServico2(new URL("https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfeStatusServico/nfeStatusServico2.asmx"));
        NfeStatusServico2Soap12 port = service.getNfeStatusServico2Soap12();
Como faço para definir também o um novo "wsdl:port name" (já que ora ele terá que ter o valor "NfeStatusServico2Soap12", ora terá o valor "NfeStatusServicoServicePort" como nos trechos de wsdl acima? Qualquer dica é bem vinda.

3 Respostas

Alexandre_Saudate

Use o Banshee, que já encapsula tudo isso e você ainda vai reaproveitar o código que você já tem:

http://www.bansheeframework.com/

Ou então, pelo menos investigue o código fonte do mesmo para ver.

[]´s

M

Oi Alexandre,
obrigado por responder.

Com certeza vou investigar o código, contudo incorporar algum framework novo está fora de questão. A aplicação em questão está em um applet e o tamanho final dela tem que ser o menor possível.

[ ]'s,

Mau.

M

Bom, para quem precisar da resposta, existe um bom tutorial em http://www.ibm.com/developerworks/br/websphere/library/techarticles/0707_thaker/0707_thaker.html .

Criado 22 de março de 2011
Ultima resposta 24 de mar. de 2011
Respostas 3
Participantes 2