java web服务和远程异常的最佳实践
我正在编写一个web服务。因此,我:java web服务和远程异常的最佳实践,java,web-services,Java,Web Services,我正在编写一个web服务。因此,我: public interface MyService extends Remote { public void service1(); } public class MyServiceImpl implements MyService { public void service1() { /* do something that sometimes throws an exception */ } } 我正在读有关RemoteException。
public interface MyService extends Remote
{
public void service1();
}
public class MyServiceImpl implements MyService
{
public void service1() { /* do something that sometimes throws an exception */ }
}
我正在读有关RemoteException
。我是否应该将service1()
中的所有代码包装到try..catch
中,以将任何异常包装到RemoteException
中?然后我必须为service2()
,service3()
等等做这件事
让调用者(在我的例子中是servlet)来做这件事更好吗
在远程异常中究竟应该包装什么-服务器中发生的一切?还是只处理远程调用过程的异常(反射、序列化等)?据我所知,您只需要声明这些方法在接口中抛出
RemoteException
public interface MyService extends Remote {
public void service1() throws RemoteException;
}
您的代码不应该抛出
RemoteException
,它应该在访问远程服务时为WS-framework保留
大多数框架都会捕获异常
,将其包装为SOAP错误,这是客户端通常通过抛出另一个带有SOAP错误消息的异常来处理的(请记住,客户端可能不是Java)
最重要的一点是,您应该抛出特定于已发生故障的异常,让框架发送适当的响应。Wow,直到现在我还没有找到您的答案。听起来好像我都做错了。。。谢谢你的信息。