我是新來的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