我正在Windows Werver上運行的Glassfish上構建一個具有java客戶端和java web服務的webservice 2012年Java:WSDL Web服務wsimport,我是否需要重新運行wsimport我更改web服務服務器中的@WebService類代碼
這是我的@WebService類:
import java.util.ArrayList;
import java.util.List;
import javax.jws.WebService;
@WebService
public class ProductCatalog {
public List<String> getProductCategories(){
List<String> categories = new ArrayList<>();
categories.add("Books");
categories.add("Music");
categories.add("Movies");
return categories;
}
}
在客戶端創建我用的wsimport轉換是在Java中生成所需的java源文件正在添加從存根方法由WS發佈的WSDL xml。
我已經注意到的是,如果我一個cetgory添加到列表:
//...code
categories.add("Books");
categories.add("Music");
categories.add("Movies");
categories.add("Pens");
//...code
我從客戶端獲取更新的ArrayList:圖書,音樂,電影+「筆」
- 但是如果我給che類添加一個新方法,方法對於客戶端的 是不可見的,怎麼回事?
- 是否因爲我需要再次在WSDL文件上運行WSIMPORT並且 重新編譯客戶端?
- 如果以上情況屬實,每次服務器端/服務器代碼發生更改時,是否有避免WSIMPORT 類/源文件生成的方法?
感謝路德
動態調用是否有可能通過「大幅」減慢soap通信過程來危害性能? – Luther