[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: [reverbel-sod] VideoRentalStoreService



Olá Daniel.

On 6/18/06, Daniel Creão <ldaugusto@xxxxxxxxx> wrote:
1. Devo supor então que o servidor CORBA (o EP2 rodando dentro do MBean)
está rodando separadamente e ja criou tudo? A implementação da interface
VideoRentalStoreService (ou javax.xml.rpc.Service) apenas acessaria os
objetos ja anteriormente criados pelo servidor CORBA (obtendo o
RentalServiceImpl por lookup no JNDI)?
Sim, a criação de instâncias de Customers, Movies e MovieCopies só
pode ser feita através do servidor CORBA. A fachada web service apenas
provê acesso aos objetos já criados no servidor CORBA.

2. O serviço implementado é instanciado automaticamente pelo container, isso
implica que não podemos cria-lo ja com parametros, por exemplo uma
referencia para um RentalServiceDocImpl e um RentalServiceRPCImpl? Ou terei
que sempre criar criar um
A instanciação da classe de implementação do seu web service é
controlada pelo container, que sempre chama o construtor sem
argumentos de tal classe (a sua classe de implementação deve ter um
construtor sem nenhum argumento). Mas isso não impede que você crie
uma referência para um servente CORBA dentro do web service, dado que
isso pode ser feito dentro do construtor. Uma outra alternativa é
fazer com que a sua classe de implementação (do web service)
implemente a interface javax.xml.rpc.server.ServiceLifeCycle. Nesse
caso, o método init(Object context) da sua classe será chamado pelo
container logo após a instanciação de tal classe.

3. Uma classe que implementa VideoRentalStoreService possui uma série de
metodos dentro dela, além dos getRental..., como getPort e getCalls. Eles
precisam ser implementados?
Você não precisa implementar nenhuma das operações definidas na
interface VideoRentalStoreService (que foi gerada pelo wscompile). É
responsabilidade do container gerar uma classe dessas para que seu
cliente a utilize. O que ocorre na realidade é o seguinte: quando você
faz o lookup no JNDI, as bibliotecas do JBoss geram uma instância de
uma classe que implementa a interface VideoRentalStoreService (ou
javax.xml.rpc.Service) e a retornam como resultado do lookup. Logo,
você não precisa implementar nada da interface
VideoRentalStoreService.

Qualquer dúvida volte a escrever. Bom trabalho.

--
Ivan Neto