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

Re: [reverbel-sod] Descritores



Esse erro me parece ser na hora em que o WSDL do módulo cliente (que é
obtido dinamicamente usando um mecanismo proprietário do JBoss) é
processado. Verifique a propriedade wsdl-override do jboss-client.xml.
Veja se digitando o valor dessa propriedade num browser aparece o WSDL
e se ele contém o endereço dos ports.

Ah, respondendo sua pergunta: não, isso não quer dizer que a instância
de javax.xml.rpc.Service é nula. Na verdade, pelo que o jmx-console
mostrou, o que está registrado em service/VideoRentalStoreService não
é nulo (é um org.jboss.ws.jaxrpc.ServiceReferenceable).

Acho que eu disse isso em algum e-mail anterior: o que é registrado no
JNDI não é na verdade uma instância de javax.xml.rpc.Service. Uma
instância de uma classe que implementa essa interface é gerada
localmente no seu cliente quando ele faz o lookup. Para gerar essa
classe, uma das coisas necessárias é o WSDL do seu web service, que é
empacotado junto com o seu módulo cliente implantado no servidor de
aplicações (propriedade wsdl-override do jboss-client.xml). É só um
palpite, mas acho que deve haver algum erro simples por aí. O ruim
desse monte de descritores é que um errinho, por mais simples que
seja, já é suficiente para que as coisas não funcionem.

[]'s

On 6/10/06, Rafael Cosentino <rcosen@xxxxxxxxx> wrote:
Olá Ivan,

resolvi esses problemas. Compilei pela linha de comando e descobri que
jboss-commom-client.jar estava corrompido não sei porque o eclipse não
informava esse erro.

O modulo dos descritores para o cliente registra uma instancia de
javax.xml.rpc.Service, tem como eu saber que essa instancia foi corretamente
registrada?

Agora o ctx.lookup("java:comp/env/service/") não dá erro, mas
ctx.lookup("java:comp/env/service/VideoRentalStoreService")
solta a execption:

2006-06-10 10:42:55,706 ERROR ws.jaxrpc.ServiceObjectFactory  -> Cannot
create service
java.lang.NullPointerException
   at org.apache.xerces.impl.xs.XSModelGroupImpl.getAnnotation(Unknown
Source)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bindParticle(
XsdBinder.java:866)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bindComplexType(
XsdBinder.java:726)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bindType(
XsdBinder.java:386)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bindElement(
XsdBinder.java:1004)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bind(
XsdBinder.java:319)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bind(
XsdBinder.java:243)
   at org.jboss.ws.jaxb.SchemaBindingBuilder.buildSchemaBinding(
SchemaBindingBuilder.java:82)
   at org.jboss.ws.metadata.ServiceMetaData.getSchemaBinding(
ServiceMetaData.java:332)
   at org.jboss.ws.metadata.ServiceMetaData.eagerInitialize(
ServiceMetaData.java:400)
   at org.jboss.ws.metadata.UnifiedMetaData.eagerInitialize(
UnifiedMetaData.java:143)
   at org.jboss.ws.metadata.JSR109ClientMetaDataBuilder.buildMetaData(
JSR109ClientMetaDataBuilder.java:125)
   at org.jboss.ws.jaxrpc.ServiceImpl.<init>(ServiceImpl.java:112)
   at org.jboss.ws.jaxrpc.ServiceObjectFactory.getObjectInstance(
ServiceObjectFactory.java:182)
   at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java
:304)
   at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java
:1125)
   at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(
NamingContext.java:1142)
   at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:705)
   at
org.jboss.naming.client.java.javaURLContextFactory$EncContextProxy.invoke(
javaURLContextFactory.java:135)
   at $Proxy0.lookup(Unknown Source)
   at javax.naming.InitialContext.lookup(InitialContext.java:351)
   at client.Client.doWork(Client.java:29)
   at client.Client.main(Client.java:70)
javax.naming.NamingException: Could not dereference object [Root exception
is java.lang.NullPointerException]null

   at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(
NamingContext.java:1150)
   at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:705)
   at
org.jboss.naming.client.java.javaURLContextFactory$EncContextProxy.invoke(
javaURLContextFactory.java:135)
   at $Proxy0.lookup(Unknown Source)
   at javax.naming.InitialContext.lookup(InitialContext.java:351)
   at client.Client.main(Client.java:70)
Caused by: java.lang.NullPointerException
   at org.apache.xerces.impl.xs.XSModelGroupImpl.getAnnotation(Unknown
Source)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bindParticle(
XsdBinder.java:866)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bindComplexType(
XsdBinder.java:726)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bindType(
XsdBinder.java:386)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bindElement(
XsdBinder.java:1004)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bind(
XsdBinder.java:319)
   at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bind(
XsdBinder.java:243)
   at org.jboss.ws.jaxb.SchemaBindingBuilder.buildSchemaBinding(
SchemaBindingBuilder.java:82)
   at org.jboss.ws.metadata.ServiceMetaData.getSchemaBinding(
ServiceMetaData.java:332)
   at org.jboss.ws.metadata.ServiceMetaData.eagerInitialize(
ServiceMetaData.java:400)
   at org.jboss.ws.metadata.UnifiedMetaData.eagerInitialize(
UnifiedMetaData.java:143)
   at org.jboss.ws.metadata.JSR109ClientMetaDataBuilder.buildMetaData(
JSR109ClientMetaDataBuilder.java:125)
   at org.jboss.ws.jaxrpc.ServiceImpl.<init>(ServiceImpl.java:112)
   at org.jboss.ws.jaxrpc.ServiceObjectFactory.getObjectInstance(
ServiceObjectFactory.java:182)
   at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java
:304)
   at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java
:1125)
   at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(
NamingContext.java:1142)
   ... 6 more


Isso siginifica que a instancia de javax.xml.rpc.Service é nula?

vlw,
Cosen


2006/6/9, Ivan Neto <ivanneto@xxxxxxxxx>: > > Olá Rafael! > > As classes do jnp-client.jar e do jboss-commom-client.jar estão todas > presentes no jbossall-client.jar. Portanto, adicionar esses dois > outros jars ao seu classpath não deveria fazer diferença alguma. > > No código que você enviou estava a seguinte linha: > > env.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming.client"); > > Esta linha está correta. Porém, a primeira mensagem de erro que você me > postou: > > javax.naming.NameNotFoundException: client not bound > > é "melhor" do que: > > javax.naming.NameNotFoundException: comp not bound > > A primeira mensagem dizia que o lookup só não funciou porque nenhuma > instância de javax.xml.rpc.Service estava registrada no JNDI com o > nome que você estava procurando. Já a segunda mensagem me parece ter > uma causa um pouco mais profunda. Vou tentar explicar. > > Quando você faz um lookup por "java:/comp/env/blablabla", o que o > JBoss faz é o seguinte: ele vê que a string começa com "java:", e > então ele vai procurar em algum dos pacotes mencionados em > Context.URL_PKG_PREFIXES uma classe chamada "javaURLContextFactory", > que deve estar dentro de um pacote chamado "java". Por exemplo, se > Context.URL_PKG_PREFIXES == "org.jboss.naming.client", o JBoss vai > procurar por uma classe chamada > org.jboss.naming.client.java.javaURLContextFactory. É essa classe que > sabe resolver lookups de clientes J2EE que rodam fora do servidor de > aplicações. Eu vejo duas possíveis explicações para o erro que você me > enviou: > > 1. A classe "org.jboss.naming.client.java.javaURLContextFactory" não > está no classpath do seu cliente, o que significa que o > jbossall-client.jar não está. > > 2. A propriedade Context.URL_PKG_PREFIXES não inclui o pacote > "org.jboss.naming.client". > > São as duas únicas explicações que consigo ver no momento. Por favor > verifique cuidadosamente a sua implementação, deve ser um detalhe que > está causando esse erro. > > Bom trabalho! >