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!
>