2012-02-17 73 views
5

我的团队正在使用soap开发一个java和一个GUI网络服务层。由于服务层偶尔会更改Web服务接口,因此GUI开发人员一直感到不安。在java中更改SOAP接口并废弃web方法

为了保持GUI chaps的高兴,而不是捣毁原来的web方法,我们现在正在编写与现有的方法相同的新方法。由于我们的肥皂接口设计仍在不断完善中,所以这会变得混乱,当然还有更好的方法!有什么建议么?另外,有时候我们想要废弃一个Web服务方法 - 是否有一个用于执行此操作的java注释(将在WSDL中显示的注释)?

感谢您的任何建议

+0

您的服务是否还在生产?如果不是,那么这比其他任何事情都更像是一个沟通问题。让每个人都在同一个房间里,让他们知道在产品进入QA之前会有一些流失。他们必须为此做好准备。 – Perception 2012-02-17 11:43:42

回答

6

有没有这样的弃用注解,我知道的。这是我通常使用的一般模式:

  • 实现一个SOAP API,把版本号(V1)中的任一个值得更新的SOAP的WSDL名或路径
  • 撰写新的(或改善)的应用程序代码api
  • 使用新版本号(v2)在v1代码旁边实现全新版本的SOAP API,但由相同的域类支持
  • 更改v1 web服务的实现以执行迁移可能)调用v2服务的适当方法
  • 通知他们应该开始使用V2而不是V1客户
  • 等待
  • 如果你在一个大的企业环境中的时候,等待甚至更长的时间;-)
  • 一旦无人使用V1的话(与日志验证这一点,和用户交谈),删除v1界面

当您的Web服务代码和您的实际应用程序代码之间有良好的分离时,此方法才能很好地工作。它有助于将Web服务代码视为表示层。