[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: [reverbel-sod] Descritores
- Subject: Re: [reverbel-sod] Descritores
- From: "Rafael Cosentino" <rcosen@xxxxxxxxx>
- Date: Sat, 10 Jun 2006 10:46:16 -0300
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!