2
I 오전 수석 자바 개발자 (새로운 유래에서) 클라이언트 - 서버 프로젝트를 진행 :일반는 Crud Restfull 서비스
- 서버 : javaee6 웹 프로젝트 (휴식, EJB3.1, JPA)
- 클라이언트 : javaee6 웹 프로젝트 (JSF2.0) 및 Android 디바이스. 고객이 요청할 것 : 일부 상점 절차의 순항 및 실행.
- 엔티티 : 모두 JPA 및 공급자와 JAXB 주석이있는 Eclipse 링크로 생성 된 엔티티 클래스가있는 자바 프로젝트에 있습니다. jar 파일이 서버 프로젝트에 추가되었으며 클라이언트에서도 사용됩니다.
모든 엔티티 클라이언트는 엔티티의 클래스 유형을 전달하기 만하면 원하는 기능을 갖게됩니다.
public class Consumer {
private WebResource webResource;
private Client client;
private static final String BASE_URI = "http://localhost:8181/ServerPRS/webresources";
public Consumer() {
com.sun.jersey.api.client.config.ClientConfig config = new com.sun.jersey.api.client.config.DefaultClientConfig();
client = Client.create(config);
webResource = client.resource(BASE_URI).path("DAOFacad");
}
public <T> T findAll(Class<T> responseType, Object requestEntity) throws UniformInterfaceException {
return webResource.type(javax.ws.rs.core.MediaType.APPLICATION_JSON).put(responseType, requestEntity);
}
public void close() {
client.destroy();
}
}
:
@Stateless
@Path("/DAOFacad/")
public class DAOFacade<T> {
@PersistenceContext EntityManager entityManager;
@PUT
@Consumes("application/json")
@Produces("application/json")
public List findAll(Class type) {
CriteriaQuery cq = entityManager.getCriteriaBuilder().createQuery();
cq.select(cq.from(type));
return entityManager.createQuery(cq).getResultList();
}
} 클라이언트 웹 프로젝트에서
, 나는 이런 식으로 뭔가를 가지고 :
그래서 나는이 좋아 findall은 평안한 방법이있는 일반 세션 빈을 가지고 노력관리 대상 :
public class AdminContollerMB {
Consumer consumer;
/**
* Creates a new instance of AdminContollerMB
*/
public AdminContollerMB() {
consumer = new Consumer();
}
public List<Bank> getAllBanks(){
GenericType<List<Bank>> respT = new GenericType<List<Bank>>(){};
return (List<Bank>) consumer.findAll(respT.getClass(),Bank.class);
}
내가 많이 검색 한
com.sun.jersey.api.client.ClientHandlerException: A message body writer for Java type, class java.lang.Class, and MIME media type, application/json, was not found
: 6,
하지만 실행 한 후 나는 오류가 발생합니다. 나는 GenericEntity와 GenericType을 저지 API와 Google의 gson api에서 시도했지만 작동하지 않았다.
어떤 도움을 주시면 감사하겠습니다.