我是新来的Web服务。我开发了一个示例Web服务,如下所示。Axis2 Web服务 - 版本
我试图在数据中添加一个新字段,比如boolean sucess;。 (只是为了学习向后兼容性)
当我添加新字段时,正如我预期服务调用失败客户端存根。
如何维护不同版本的服务。我有什么选择?
我已经通过网上很多文章了(可惜没有例子:()。而几个选项是
1)在类新的输出写入不同的操作。我明白了。
2)对服务进行版本控制。像服务/ VERSION1/SumAndMult,服务/ 版本2/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;
}
}
由于
非常感谢您的回复。我知道在service.xml中添加多个服务。您提到“使用自己的WSDL添加新的Web服务”。我应该用新的Response对象在服务器端创建一个新的服务类吗? – Jack 2013-03-11 06:56:47
是的,您将为每项服务有不同的服务等级。 – Kenster 2013-03-11 15:17:09