2010-08-21 4 views
2

WSX & 연관된 클라이언트 코드 (양방향 쓰기, 전송 용 JAX-WS 사용)를 생성하기 위해 JAX-WS 어노테이션을 사용하는 webservice가 있습니다.JAX-WS를 사용하여 서비스에서 상수를 정의하는 방법은 무엇입니까?

@WebMethod 
public int uploadResults( 
     @WebParam(name="authentication") ServiceAuth auth, 
     @WebParam(name="mimeType") String mimeType, 
     @WebParam(name="data") byte [] dataBlock) 
{ 
    // ... omitted. 

내가 요청의 상태에 따라 다른 반환 값을 가질 수있는 방법을 가지고

은, 일부의 반환 값은 클래스에 정의되어 있습니다. 클라이언트 측 코드에 대한 WSDL 및 wsimport의를 생성하기 위해 wsgen의 사용 후

public static final int STATUS_OK = 0; 
public static final int STATUS_ERROR = 1; 
public static final int STATUS_AUTH_FAILURE = 2; 
... etc. 

, 모든 참조는 어느 곳이 상수가 아니다. 이상적으로, 나는 두 곳에서 그것들을 정의하지 않을 것이고 소스 트리를 공유하지 않기 때문에 공통된 위치에 그들을 정의하는 것이 약간 어색하다.

그래서, 내 질문은입니다 : 뭔가가 이후는 WSDL에 식별자와, 클라이언트 측 클래스에 정의 된 비슷한 일정으로 기록 될 것이다 그래야 내가 선언의 각에 넣을 수있는 주석이 있습니까 wsimport에 의해 생성 된?

는 는

(PS 나는 또한 '이 방법 대신 반환 상태, 당신은 잘못하고있어 ...'에 대한 의견을 감사하겠습니다)

답변

1

당신이 더 잘하지 않을까요 와이어 아래 예외를 전달하려고 그런 다음 두 가지 영역에서 정의해야하는 맞춤 방식을 제안합니다.

+0

글쎄요, 모든 상태가 오류 조건은 아니며, 내 마음에 드는 사람은 "모든 것이 좋았지 만 ..."을 나타내는 예외를 던지는 아이디어를 싫어합니다. –

+0

거의 열거 형 등을 반환하는 것이 더 나을 것 같습니다. 복잡한 객체를 반환하는 것은 어렵다고 생각하지만 단순한 유형의 객체라면 괜찮을 것입니다. 열거 형에 대한 데이터 계약을 만들어야하고 wsdl에 배치된다는 것을 기억하는 것 같습니다. 특정 주석을달라고 요청하는 것을 알고 있지만 지금 당장은 생각할 수 없습니다. – CtrlDot

+0

나는 이것을 포기할 것이다. 네가 대답 할 수있는 유일한 사람 이었기 때문에 내가 너에게 완전한 대표를 줄거야. :-) 감사. –

관련 문제