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

Fw: Erro ao executar metodo a partir do cliente



Estou usando o JBoss 3.2.3 e o jacorb.jar dele como cliente, mas mesmo assim
quando tento acessar um método besta
da minha session que apenas imprime uma frase na console do JBoss é lançada
uma exception que não compreendo:

package teste;
import java.util.Properties;
import javax.ejb.CreateEx;
import org.omg.CosNaming.NamingContextExt;
import org.omg.CosNaming.NamingContextExtHelper;
import org.omg.CosTransactions.Current;
import org.omg.CosTransactions.CurrentHelper;
import ejb.SConta;
import ejb.SContaHome;
import ejb.SContaHomeHelper;

/**
* Fernando Kasten Peinado, 04/11/2003 <br>
*
* @author $Author: fernando $
* @version $Revision: 1.8 $ Modificado $Date: 2003/11/13 02:13:14 $
*/

public class Client {
    public static void main(String[] args) throws Exception {
        Properties properties = new Properties();

properties.put("ORBInitRef.NameService","corbaloc::localhost:3528/JBoss/Nami
ng/root");

        org.omg.CORBA.ORB orb = org.jacorb.orb.ORB.init(args, properties);
        org.omg.CORBA.Object objPOA =
orb.resolve_initial_references("RootPOA");
        org.omg.PortableServer.POA poa =
        org.omg.PortableServer.POAHelper.narrow(objPOA);
        poa.the_POAManager().activate();

        org.omg.CORBA.Object objNc =
orb.resolve_initial_references("NameService");
        NamingContextExt nc = NamingContextExtHelper.narrow(objNc);
        org.omg.CORBA.Object obj =
orb.string_to_object(nc.resolve_str("ejb/ep2/SConta").toString());
        SContaHome home = SContaHomeHelper.narrow(obj);
        SConta session = home.create();
        session.teste();
    }
}

A Excecucao na console mostra:

JacORB V 2.0 beta 2b (JBoss release), www.jacorb.org
(C) Gerald Brose, XTRADYNE Technologies/FU Berlin, 08 November 2003
[ InterceptorManager started with 0 SIs, 0 CIs and 1 IORIs ]
[ POA RootPOA - ready ]
[ ClientConnectionManager: created new conn to target localhost:3528 ]
[ Connected to localhost:3528 from local port 1820 ]
[ ClientConnectionManager: created new conn to target 192.168.0.178:3528 ]
[ Connected to 192.168.0.178:3528 from local port 1821 ]
[ ClientConnectionManager: found conn to target 192.168.0.178:3528 ]

org.omg.CORBA.UNKNOWN: org.omg.CORBA.portable.UnknownException vmcid: 0x0
minor code: 0 completed: No
at org.jacorb.orb.SystemExceptionHelper.read(Unknown Source)
at org.jacorb.orb.ReplyReceiver.getReply(Unknown Source)
at org.jacorb.orb.Delegate.invoke_internal(Unknown Source)
at org.jacorb.orb.Delegate.invoke(Unknown Source)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
at ejb._SContaStub.teste(_SContaStub.java:140)
at teste.Client.main(Client.java:56)
Exception in thread "main"

o codigo executado na minha session é simples:

public void teste() {
    System.out.println("testando!");
}

----- Original Message ----- 
From: "Francisco Reverbel" <reverbel@ime.usp.br>
To: "UOL" <fernandopeinado@uol.com.br>
Cc: <reverbel-sma@ime.usp.br>
Sent: Thursday, November 13, 2003 3:19 PM
Subject: Re: Erro ao executar metodo a partir do cliente


On Thu, 13 Nov 2003, UOL wrote:

>         SConta session = home.create();
>         // session.criaConta(1, 100, 0);
> ==> session.debitar(1, 100); <==
>
>         // txCurrent.commit(true);

Parece estranho debitar sem ter criado a conta...

> quando executamos com a linha acima descomentada (session.criaConta())
temos
> a seguinte exception:
...
> Caused by: org.omg.CORBA.MARSHAL: Cannot handle TypeCode with kind 29
vmcid:
> 0x0 minor code: 0 completed: No
> at org.jacorb.orb.CDROutputStream.write_value(Unknown Source)
> at org.jacorb.orb.CDROutputStream.write_value(Unknown Source)
> at org.jacorb.orb.Any.read_value(Unknown Source)
> at javax.ejb.CreateExHelper.insert(CreateExHelper.java:20)
> ... 12 more
> ####################################################################
> TxClientInterceptor:receive_exception()
> javax.ejb.CreateEx: IDL:javax/ejb/CreateEx:1.0
> at javax.ejb.CreateExHelper.read(CreateExHelper.java:65)
> at
>
br.usp.ime.mac5765.ep2.component._SContaStub.criaConta(_SContaStub.java:28)
> at teste.Client.main(Client.java:54)
>
>
> essa então é mais esquisita ainda!

Pois essa eu já vi... Mude para o jacorb.jar distribuído com o
JBoss 3.2.3RC1. Há uma cópia desse jar em

   http://www.ime.usp.br/~reverbel/SMA/trabalhos/jacorb.jar

Com esse jacorb.jar no cliente a exceção deve sumir.

Sorry...

Reverbel