2009-11-18 2 views
1

JAX-WS를 사용하여 웹 서버에서 클라이언트로 EXCEPTION을 보내려고합니다 ... 서버가 예외를 throw하면 클라이언트가 catch합니다. ...하지만 내용이 예상 메시지 없습니다 ...클라이언트가 웹 서비스 사용자 예외를 잡음 [Java 6.0.17]

Server.java

package pck; 

@WebService() 
public class Server 
{ 
    @WebMethod() 
    public function() throws UserException 
    { 
    throw new UserException(“Something”); 
    } 
} 

Exception.java

import javax.xml.ws.WebFault; 

@WebFault() 
public class UserException 
     extends Exception 
{ 
    private String ErrMessage; 

    public UserException(String message) 
    { 
     this.ErrMessage = message; 
    } 

    public String ErrorMessage() 
    { 
     return this.ErrMessage; 
    } 
} 

Client.java

내가 언급 한 바와 같이
public class Client 
{ 
    public static void main(String[] args) throws Exception 
    { 
    try 
     { 
     Server.function(); 
     } 
    catch (UserException ex) 
     { 
     System.out.println("User Exception: " + ex.ErrorMessage()); 
     } 
    } 
} 

이제, 예외가 서버에 의해 슬로우되면 클라이언트는 그것을 잡을 않지만, ex.ErrorMessage는()가 만들어졌습니다 대신에 "뭔가"의 "pck.UserException"문자열을 반환 서버에서 ... 이유에 대한 단서? 또한

, 내 WebService를 실행했을 때 출력에 다음과 같은 메시지가 계속 : com.sun.xml.internal.ws.model.RuntimeModeler getExceptionBeanClass
정보 : 동적으로 생성 예외 콩 클래스 pck.jaxws.UserExceptionBean

모든 단서 또는 도움을 많이 주시면 감사하겠습니다. 감사합니다.

답변

0

잘 모르겠지만 맞춤 예외는 이상하게 보입니다. 당신이해야 사실 super의 메시지 : 당신이 e.getMessage()하여 얻을 수

public UserException(String message) { 
    super(message); 
} 

이 방법. 도움이되는지 확인하십시오.

+0

아니요 - 나에게 같은 문자열을주세요 ... – Shaitan00