Szymon
Błądek
Software Engineer at
I-BS.PL
Temat: EJB3 + WS + System zewnetrzny
Witam,Uporalem sie juz z pula polaczen do systemu zewnetrznego, ale teraz znalazl sie nowy problem i nie wiem co robie nie tak. No ale moze po koleji:
Mam pewna biblioteke (nazwijmy ja bibl), ktora zapewnia mi polaczenie do systemu zewnetrznego. No i powiedzmy ze ma metody polacz(), rozlacz(), wykonajoperacje(jakis parametr).
No to tworze sobie EJB, ktore chce zeby polaczylo sie z systemem zewnetrznym i obslugiwalo wywolanie metody wykonajoperacje(jakis parametr). Robie to tak:
@Stateless
public class KlasaBean implements KlasaLocal {
bibl polaczenie;
public KlasaBean() {
polaczenie.polacz();
}
public void wykonajOperacje (String parametr) {
polaczenie.wykonajoperacje(parametr);
}
public void close() {
polaczenie.rozlacz();
}
}
nastepnie mam interfejs:
@Local
public interface KlasaLocal {
public void close();
public void wykonajOperacje (String parametr);
}
Nastepnie mam WebService:
@WebService()
@Stateless
public class NewWebService {
@EJB
private KlasaLocal ejbRef;
@WebMethod(operationName = "wykonajOperacje")
public void wykonajOperacje(@WebParam(name = "parametr")
String parametr) {
return ejbRef.wykonajOperacje(parametr);
}
}
No i problem teraz polega na tym ze po deployu na serwer aplikacji (JBossAS 5.0.0) Po wykonaniu przez klienta metody WS wykonajOperacje dostaje wyjatek:
javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:171)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:94)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:240)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:210)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:103)
at $Proxy31.wykonajOperacje(Unknown Source)
at clientwstest.Main.main(Main.java:25)
Co robie nie tak?