Poczytam Panowie/Panie to co wysłaliście.
Mam coś podobnego: i przy restach wygląda to tak:
server
@ApplicationPath("/cos")
public class RestStarter extends Application{
}
i to np:
@Path("/Pracownik")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class PracownikResourceImpl {
@EJB
PracownikDAO pracownikDAO;
@POST
@Path("/dodajPracownika")
public void dodajPracownika(PracownikDTO pracownikDTO) {
pracownikDAO.dodajPracownika(pracownikDTO.stworzPracownika());
}
a w shared czyli po stronie klienta:
@Path("/Pracownik")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public interface PracownikResource {
@POST
@Path("/dodajPracownika")
public RestAction<Void> dodajPracownika(PracownikDTO pracownikDTO);
a w kliencie mam tak:
private void dodajDoBazy(final PracownikDTO pracownikDTO) {
dispatcher.execute(pracownikResource.dodajPracownika(pracownikDTO), new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
Window.alert("COS NIE DZIAŁA - DODAJ PRACOWNIKA");
}
@Override
public void onSuccess(Void result) {
Window.alert("DODANO!");
funkcjaDoFireEvent();
}
});
}
a ejb:
@Stateless
public class PracownikDAO {
@PersistenceContext(unitName = "postgres")
private EntityManager entityManager;
public void dodajPracownika(Pracownik pracownik){
entityManager.persist(pracownik);
}
I chciałbym analogicznie zrobic sesje + logowanie