我是网络服务的新手。我开发了一个示例 Web 服务,如下所示。
我正在尝试在数据中添加一个新字段,例如布尔成功;. (只是为了学习向后兼容性)
当我添加新字段时,正如我所料,服务调用从客户端存根失败。
我如何维护不同版本的服务。我有什么选择?
我在网上浏览了很多文章(不幸的是没有例子。:()。很少有选择是
1)用新的输出在类中编写不同的操作。这我明白了。
2) 对服务进行版本控制。喜欢 services/ version1 /SumAndMult, services/ version2 /SumAndMult
我如何实现第二个选项?这个选项背后的想法是什么?维护服务类的副本?
如果我的服务器上只有一个服务类,如何公开多个 wsdls?
另外,保持向后兼容性的最佳方法是什么?
public Data getSumAndMultData(int[] input){
Data result = new Data();
int sum = 0;
int mult = 1;
for(int i = 0; i < input.length; i++){
sum += input[i];
mult *= input[i];
}
result.setMult(mult);
result.setSum(sum);
return result;
}
class Data{
int sum;
int mult;
public int getSum() {
return sum;
}
public void setSum(int sum) {
this.sum = sum;
}
public int getMult() {
return mult;
}
public void setMult(int mult) {
this.mult = mult;
}
}
作为