2012-08-09 3 views
3

약간 비누 웹 서비스가 있습니다. 그리고 내가 어떻게 오류로 대응할 수 있는지 궁금합니다.soap webservices - 오류 메시지를 반환 하시겠습니까?

예 : 사용자가 생성 할 수없는 경우

이제
public int createUser(String username) { 
    //create... 
    return id; 
} 

은 어떻게 적절한 응답을해야합니까? 사용자 지정 예외를 throw해야합니까? 올바른 방법은 무엇입니까?

답변

1

올바른 접근법은 예외를 SOAP Fault으로 변환하는 것입니다.

0

내 경험으로는 데이터 클래스와 함께 반환되는 공통 클래스를 만들었습니다. 예를 들어, Soap 응답은 CommonOut 오브젝트와 ResultData 오브젝트로 돌아옵니다. CommonOut 클래스에는 상태, 레코드 반환 및 메시지와 같이 요청의 상태가 양호한 지 나쁜지에 관계없이 데이터가 채워지는 필드가 들어 있습니다.

인터셉터는 컨테이너의 모든 예외를 catch하고 사용자 지정 형식으로 래핑하고 사용자에게 반환하는 데 사용됩니다. 그렇게하면 실제 예외 메시지를 잡아 자신의 형식으로 래핑 할 수 있습니다.

실제 오류 메시지를 호출자에게 반환하는 위험은 예외를 catch하고 반환 된 값을 무시하지 않으면 잠재적으로 시스템에 대한 세부 정보를 노출 할 수 있다는 것입니다.

위의 SOAP 오류와 비슷하지만 출력 형식을 사용자 지정할 수있는 기능이 더 많습니다.

0

SOAP 서버에서이 작업을 수행합니다.하지만 자신 만의 비누 오류를 만들려고하지 마십시오. 단순히 런타임 예외가 발생하고 비누 오류로 변환되어야합니다.

관련 문제