Como acessar um Ejb 3.0 de uma aplicacao Client  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
adrianogf
Entusiasta Java
[Avatar]

Membro desde: 15/01/2005 18:39:45
Mensagens: 18
Localização: São Paulo
Offline

pessoal estou com duvidas de como posso acessar um session bean(remote) de uma aplicacao client.

estou tentando acessar conforme o tutorial jee da sun mas nao estou conseguindo..segue meu codigo.

Obrigado pessoal..
Adriano


import ejb.CustomerFacadeRemote;
import javax.ejb.EJB;
/**
*
* @author adriano
*/
public class Test {

@EJB
public static CustomerFacadeRemote customer;

public static void main(String arg[]){
System.out.println(customer.getResultado());
}

}
sandokandias
JavaBaby
[Avatar]

Membro desde: 01/05/2006 22:11:03
Mensagens: 86
Localização: Uberlãndia - MG
Offline

to com o mesmo problema, segue meu post:
[url]
http://www.guj.com.br/posts/list/56524.java
[/url]
[MSN]
Maracuja
GUJ Ranger
[Avatar]

Membro desde: 28/03/2006 10:18:44
Mensagens: 940
Localização: Behind the screen
Offline

Segue o código de um cliente que acessa um EJB 3.



Os seguintes .jar devem estar no seu classpath


jbossall-client.jar
jboss-aspect-jdk50-client.jar
jboss-aop-jdk50-client.jar
jboss-ejb3-client.jar


Essa é a maneira mais simples de acessar um EJB.

Todas essas libs se encontram sobre JBOSS_HOME\client

nesse dir existem muitas outras libs, mas neste caso somente com as 4 descritas acima já funciona.

Abaixo estão as classes do meu Bean

O bean


A interface Remota



Criei um arquivo build.xml para poder usar o eclipse e fazer o deploy



no dir C:\lib tenho apenas


javaee.jar


Funciona que é uma beleza.


"Nunca deixarei de reclamar, mas espero reclamar de coisas melhores a cada dia..." Um amigo muito sabio
plentz
Moderador
[Avatar]

Membro desde: 28/01/2004 07:34:12
Mensagens: 1584
Localização: Porto Alegre, RS
Offline

Só completando, a anotação @EJB não funciona porque você não está em um ambiente do aplication server. Em clients com JSE, é necessário fazer o lookup.

Diego Plentz - Twitter
"Provide options, don't make lame excuses."
[Email] [WWW]
leoangelim
HelloWorld

Membro desde: 05/10/2006 09:41:33
Mensagens: 11
Offline

Nao estou conseguindo fazer o deploy de meu arquivo build.xml.

ai vai o arquivo.

<?xml version="1.0" encoding="UTF-8"?>
<project name="TesteEjb" basedir="." default="deploy">

<property name="project.libs" value="C:\lib" />
<property name="src.cliente" value="classes" />
<property name="deploy.dir" value="C:\jboss\server\default\deploy" />
<property name="src.bean" value="ejbModule">
</property>


<path id="base.path">
<fileset dir="${project.libs}">
<include name="**/*.jar" />
</fileset>
</path>
<target name="clean" description="Delete all generated files">
<delete dir="${src.cliente}" />
</target>

<target name="compile" description="Compiles the Task">
<mkdir dir="${src.cliente}" />
<javac srcdir="${src.cliente}" destdir="${src.cliente}">
<classpath>
<path refid="base.path" />
</classpath>
</javac>
</target>

<target name="deploy" description="JARs the Task" depends="compile">
<jar destfile="${deploy.dir}/${ant.project.name}.jar">
<fileset dir="${src.bean}" />
<fileset dir="${src.cliente}">
<include name="**/**/*.class" />
</fileset>
</jar>
</target>

<target name="undeploy" description="Undeploy jar from server">
<delete file="${deploy.dir}/${ant.project.name}.jar" />
</target>

</project>



O erro que da é este :
Buildfile: C:\Documents and Settings\leonardo\workspace\TesteEjb\build.xml
compile:
deploy:

BUILD FAILED
C:\Documents and Settings\leonardo\workspace\TesteEjb\build.xml:30: C:\Documents and Settings\leonardo\workspace\TesteEjb\ejbModule not found.

Total time: 516 milliseconds
leoangelim
HelloWorld

Membro desde: 05/10/2006 09:41:33
Mensagens: 11
Offline

consegui fazer o deploy da aplicaçao agora !
mas esta dando um erro, o seguinte :


javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at cliente.ClienteEjb.main(ClienteEjb.java:33)
Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
... 5 more
Cabazzo
JavaChild
[Avatar]

Membro desde: 06/11/2007 13:58:32
Mensagens: 137
Localização: Recife, PE
Offline

Vc configurou o InitialContext assim?

Properties properties = new Properties();
properties.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
properties.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
properties.put("java.naming.provider.url","ip_do_servidor:1099");

InitialContext initialContext = new InitialContext(properties);

This message was edited 2 times. Last update was at 23/11/2007 12:36:47


Flex 4.5 ACE Certified.
[MSN]
leoangelim
HelloWorld

Membro desde: 05/10/2006 09:41:33
Mensagens: 11
Offline

poxa cara !
detectei o erro, e porque eu nao add o javaee.jar, onde posso encontrar este jar?
estou usando o jboss 4.2.3, e ja procurei pra caramba o javaee e nao encontro !

valeu aeee...
Cabazzo
JavaChild
[Avatar]

Membro desde: 06/11/2007 13:58:32
Mensagens: 137
Localização: Recife, PE
Offline

que eu saiba tem o C:\jboss-4.2.3.GA\client\jboss-j2ee.jar
Não é este não?
Mas nos meus clientes eu só uso estes:
- jbossall-client.jar
- jboss-ejb3x.jar
- ejb3-persistence.jar

Já é o suficiente.

Flex 4.5 ACE Certified.
[MSN]
leoangelim
HelloWorld

Membro desde: 05/10/2006 09:41:33
Mensagens: 11
Offline

eu ja tentei colocar este jar que voce me falou, so que continua o mesmo erro,citado ai em cima !
Rodrigo.Lima
JavaChild
[Avatar]

Membro desde: 14/07/2006 09:45:21
Mensagens: 128
Offline

System.out.println("OI EJB Caralho");


AuHAUhAUhUAhAUhUAha, essa foi boa.
RafaelVS
JavaEvangelist
[Avatar]

Membro desde: 13/12/2006 09:50:16
Mensagens: 405
Localização: Recife - PE
Offline

leoangelim wrote:poxa cara !
detectei o erro, e porque eu nao add o javaee.jar, onde posso encontrar este jar?
estou usando o jboss 4.2.3, e ja procurei pra caramba o javaee e nao encontro !

valeu aeee...


Coloca os seguintes jar's que o Maracuja sugeriu para evitar o erro :
javax.naming.NoInitialContextException: Cannot instantiate class

jbossall-client.jar
jboss-aspect-jdk50-client.jar
jboss-aop-jdk50-client.jar
jboss-ejb3-client.jar

#

Quanto ao javaee.jar, acho que ele vem com a distribuição do Glassfish e não do JBoss.

- Mestrando em Engenharia de Software no CIn/UFPE;
- Pós-Graduado em Engenharia de Software na POLI/UPE;
- Bacharel em Ciência da Computação na UNICAP (Universidade Católica de Pernambuco);
- Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (score 95%);
- Sun Certified Web Components Developer for J2EE 1.4 Platform (score 89%)
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team