2013-04-16 1 views
0

웹 서비스를 사용하고 있으므로 한 단계 위주로하고 싶습니다. JAX-WS에서 Axis2를 사용하고 있습니다. String[] 대신 객체를 전송할 생각입니다. 내가 좀 챙기고 난 후에 JAXB가 올바른 지원을한다는 것을 알게되었다.오브젝트 기반 자바 웹 서비스

그러나 전송할 필요가있는 modelclass를 추가 할 때마다, 많은 작업을해야합니다 (실수를 할 수있는 모든 주석에 대해 종료해야합니다). 그래서 조금 더 추상적으로 생각하는 것이 더 쉽다고 생각했습니다.

Object 유형을 사용하여 웹 서비스를 만들려고했습니다. 그런 다음 addObject(Object object), removeObject(Object object), retrieveObject()과 같은 메서드를 사용할 수 있습니다. 즉, 내 서버가 incomming 개체를 처리해야합니다. 그런 다음 새 모델 클래스를 추가하면 서버 끝에서이를 catch해야합니다. 내 고객은 약간의 중복을 유발하는 모델 클래스를 포함해야하지만 괜찮습니다. 나는 자바가이 순간에 내 생각을지지 할 수 없다는 느낌을 가지고있다. 적어도 JAX-WS & JAXB 기술.

당신이 나에 대해 옳은지 또는 틀린 지 말해 줄 수 있습니까? 이것이 좋은 생각인지 아닌지, 그리고 그렇다면, 올바른 방향으로이 문제를 해결할 수있는 방법을 알려주세요. 기술)

미리 감사드립니다.

+0

netbeans에는 모델 클래스를 생성하는 마법사가 있습니다. –

+1

일반적으로 웹 서비스에 대한 유형이 지정된 도메인 모델을 갖는 것이 가장 좋습니다. 구매 주문서 작성을위한 WS는'PurchaseOrder'의 인스턴스를 취하고, 찾기 고객 호출은'Customer' 인스턴스를 리턴합니다. 형식화 된 매개 변수와 반환 값을 사용하면 사용자가 서비스와 상호 작용하기 쉽게 만드는 훌륭한 WSDL을 생성 할 수 있습니다. –

+0

모델 클래스에 대해 조금 더 설명해 주시겠습니까? 모델 클래스를 사용하는 데 많은 시간이 걸리는 이유는 무엇입니까? –

답변

0

클라이언트에 모델 유형이 필요하지 않지만 서버에서 클라이언트로 메시지를 보낼 때 데이터를 직렬화 및 비 직렬화해야합니다. JAX-WS가 JAX-RS와 다른지 확신 할 수 없지만 동일한 경우 json 또는 xml을 생성/소비할지 여부를 표시하는 주석을 추가 할 수 있습니다.

모델을 json으로 serialize하면 클라이언트에서 데이터를 읽는 데 아무런 문제가 없습니다.

또한 요청 및 응답 개체를 만들 때 객체를 사용할 수 있습니다. Web 서비스에서 그 나는 최근에 내가 당신이 생각하고있는 것과 비슷한 방식으로 Object 클래스를 사용하고 있다고 생각이

public class Response 
{ 
    private Object data; 
    private boolean success; 

    public Response() 
    { 
     super(); 
    } 

    //write getters and setters here 

} 

유사한 서비스 응답 클래스를 만들어 썼다.

+0

정보 주셔서 감사합니다! 요청 및 응답 객체에서 Object를 사용하는 경우 데이터를 직렬화 및 비 직렬화해야 할 수 있습니다.내 모델 클래스 (또는 그것의 더 단순한 버전)를 클라이언트에 복사하여 복사하는 것을 피할 것을 생각했다. – Tankske

+0

@ Tankske 당신이 보내는 데이터를 직렬화 및 비 직렬화해야합니다. –

-1

확실히 JAX-RS (JAXB 구현), 특히 Jersey 프레임 워크를 사용하는 것이 좋습니다. 사용법은 간단하며 비즈니스 객체를 마샬링 및 언 마샬링 할 수 있습니다. 이 Jersey Example

에서

봐는 희망이 도움이!