torsdag 8 oktober 2009

EJB3 & WLS10

Efter att ha testat runt lite känns det som om jag missat nått. Jag verkar inte vara ensam om att inte lyckas accessa mina remotebönor på en klient heller. Först var det lite forskning att hitta åt mappingName (som förstås var specifikt för weblogic) men nu hittar jag iaf bönorna i JNDI. Dock när jag försöker instansiera dem i klienten så får jag ett spännande ClassCastException. Var ju också ruskigt smidigt att få till en webbservice av bönorna.


Bönan
@Local({TestLocal.class})
@Remote({TestRemote.class})
@Stateless(name="TestBean", mappedName="ejb/Test", 
description="Test implementation.")
@WebService(endpointInterface = 
"nu.danielsundberg.service.TestRemote",
serviceName="TestRemote")
public class TestBean implements TestLocal, TestRemote {
    @javax.jws.WebMethod()
    public int test(int tal1, int tal2) {
        return tal1+tal2;
    }
} 

Localinterface
@Local 
public interface Test{
    int test(int tal1, int tal2);
}

Remoteinterface
@Remote
@WebService
@SOAPBinding(style = 
javax.jws.soap.SOAPBinding.Style.DOCUMENT)
public interface TestRemote extends Test{
}


Bönorna dyker upp i domänens JNDI-träd okej, frågan är om jag har packat ihop mitt projekt på nått fel sätt så att klassladdarstrul uppstår. Webbservicen blir iaf klockren. Ska replikera mitt projekt och testa i Glassfish istället och kolla om den klarar sig lite bättre.

Dock verkar EJB3-standarden vara lite som skivat bröd, jäkligt smidigt dvs.

Inga kommentarer:

Skicka en kommentar