[英]Client catching Web Service User Exceptions [Java 6.0.17]
我正在嘗試使用JAX-WS從Web服務器向客戶端發送EXCEPTION ...服務器拋出異常時,客戶端會捕獲到該異常...但是內容不是預期的消息...
服務器.java
package pck;
@WebService()
public class Server
{
@WebMethod()
public function() throws UserException
{
throw new UserException(“Something”);
}
}
異常
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;
}
}
客戶端.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”,而不是在服務器中使用它創建的“ Something”。為什么有任何線索?
另外,當我運行WebService時,我不斷在輸出中得到以下消息:com.sun.xml.internal.ws.model.RuntimeModeler getExceptionBeanClass
INFO:動態創建異常bean類pck.jaxws.UserExceptionBean
任何線索或幫助將不勝感激。 謝謝,
不確定,但是您的自定義異常看起來很奇怪。 實際上,您應該super
提示:
public UserException(String message) {
super(message);
}
這樣,您可以通過e.getMessage()
獲得它。 看看是否有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.