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

Re: [reverbel-sod] Chamando métodos de RentalServiceRPC



Olá Cabral, Rafael.

O que está acontecendo com vocês é que o método "setProperty" da
classe "javax.xml.soap.SOAPMessage" não está implementado (vocês _não_
precisam implementar essa classe). O jbossall-client.jar possui essa
classe e ela implementa o método "setProperty".

Eu acho que o problema de vocês é com o classpath. Eu tive um erro
parecido com esse quando usei o JDK 1.6. Se esse for o caso de vocês,
usem o JDK 1.4 ou 1.5. Senão, acho que vocês estão com alguma coisa
desnecessária no classpath.

Não é preciso nenhum jar que não esteja dentro do diretório do JBoss.
Usem os jars de lá, senão é bem provável que muitos erros com essa
cara irão aparecer. Eu sugiro que vocês usem o seguinte classpath no
cliente:

http://www.ime.usp.br/~reverbel/SOD/maillist/msg00116.html

Não adicionem mais nenhum jar ao classpath, pois não é preciso. O
mesmo vale na hora de implantar os componentes no servidor de
aplicações: vocês não precisam empacotar nenhum dos jars mencionados
no e-mail acima dentro do módulo do web service ou do cliente.

Qualquer coisa por favor voltem a escrever.

[]'s

On 6/14/06, Rafael Cosentino <rcosen@xxxxxxxxx> wrote:
Estou com mesmo problema.

2006/6/14, Cleiton Cabral <ccabrals@xxxxxxxxxx>:
>
> Depois de muito sofrer, consegui colocar o servidor para funcionar, testei
> no NetBeans e o servidor parece estar funcionando corretamente.
>
> No entanto, ainda não consegui fazer o cliente funcionar. Os seguintes
> comandos funcionaram com sucesso:
>
> Context ctx = getInitialContext();
> Service service = (Service) ctx.lookup
> ("java:comp/env/service/VideoRentalStoreService");
> rentalServiceRPC = (RentalServiceRPC) service.getPort(
> RentalServiceRPC.class);
> rentalServiceDoc = (RentalServiceDoc) service.getPort(
> RentalServiceDoc.class);
>
> Mas dá erro quando faço:
>
> MovieInfo movie = rentalServiceRPC.findMovieById(1);
>
> Aí vai o stacktrace:
>
> log4j:WARN No appenders could be found for logger (
> org.jboss.ws.jaxrpc.ServiceObjectFactory).
> log4j:WARN Please initialize the log4j system properly.
> java.rmi.RemoteException: Call invocation failed: setProperty must be
> overridden by all subclasses of SOAPMessage; nested exception is:
>         java.lang.UnsupportedOperationException: setProperty must be
> overridden by all subclasses of SOAPMessage
>         at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:719)
>         at org.jboss.ws.jaxrpc.CallImpl.invoke(CallImpl.java:398)
>         at org.jboss.ws.jaxrpc.CallProxy.invoke(CallProxy.java:164)
>         at $Proxy2.findMovieById(Unknown Source)
>         at client.Client.main(Client.java:77)
> Caused by: java.lang.UnsupportedOperationException: setProperty must be
> overridden by all subclasses of SOAPMessage
>         at javax.xml.soap.SOAPMessage.setProperty(Unknown Source)
>         at org.jboss.ws.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java
> :77)
>         at org.jboss.ws.soap.MessageFactoryImpl.createMessage(
> MessageFactoryImpl.java:133)
>         at org.jboss.ws.binding.soap.SOAP11BindingProvider.createMessage(
> SOAP11BindingProvider.java:52)
>         at
> org.jboss.ws.binding.soap.SOAPBindingProvider.bindRequestMessage(
> SOAPBindingProvider.java:108)
>         at
> org.jboss.ws.binding.soap.SOAP11BindingProvider.bindRequestMessage(
> SOAP11BindingProvider.java:58)
>         at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:647)
>
>
>
> Alguém tem alguma luz???
>
> Abraços,
> Cabral.
>
>