Kalde metode på EJB
Jeg har lavet en bean , pakket den i en jar sammen med META-INF og deployet den på JBOSS. Det ser ud til at virke.Nu forsøger jeg så at få forbindelse til beanen fra et simpelt klient program og kalde en metode. Klient programmet følger her:
//package org.jboss.docs.interest;
import mybean.*;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
class MyBeanClient
{
public static void main(String[] args)
{
try
{
// Get a naming context
InitialContext jndiContext = new InitialContext();
System.out.println("Got context");
// Get a reference to the Interest Bean
Object ref = jndiContext.lookup("mybean/MyBean");
Object ref = jndiContext.lookup("mybean/MyBean");
System.out.println("Got reference");
// Get a reference from this to the Bean's Home interface
MyBeanHome home = (MyBeanHome) PortableRemoteObject.narrow(ref, MyBeanHome.class);
// Create an Interest object from the Home interface
MyBean mb = home.create();
// call the bean method
System.out.println("Calling method on mybean");
System.out.println(mb.myBeanMethod(100));
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
}
Min jboss.xml ser således ud:
<?xml version="1.0" encoding="UTF-8"?>
<jboss>
<enterprise-beans>
<session>
<ejb-name>MyBean</ejb-name>
<jndi-name>mybean/MyBean</jndi-name>
</session>
</enterprise-beans>
</jboss>
Når jeg kører klienten (fra DOS prompt) får jeg følgende exception:
javax.naming.CommunicationException: Can't find SerialContextProvider
spørgsmål 1: Jeg følger en tutorial fra http://www.jboss.org/online-manual/HTML/ som selvfølgelig er nede :(, derfor: kan det jeg prøver overhovedet lade sig gøre?
spørgsmål 2: hvis det kan lade sig gøre, hvad gør jeg så forkert?
(ps: ved godt at det her minder meget om http://www.eksperten.dk/spm/288933)
