我正在 Windows Werver 2012 上运行的 Glassfish 上构建一个带有 java 客户端和 java web 服务的 web 服务。
这是我的@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;
}
}
在客户端创建存根方法时,我使用java 中的wsimport转换来生成所需的 java 源文件,这些文件来自 WS 发出的 WSDL xml。
我注意到的是,如果我在列表中添加一个 cetgory:
//...code
categories.add("Books");
categories.add("Music");
categories.add("Movies");
categories.add("Pens");
//...code
我从客户端获得更新的数组列表:书籍,音乐,电影+“笔”
- 但是如果我向 che 类添加一个新方法,该方法对客户端不可见,怎么会?
- 是因为我需要再次在 WSDL 文件上运行 WSIMPORT 并重新编译客户端吗?
- 如果上述情况属实,是否有办法避免每次服务器端/webservice 代码发生更改时生成 WSIMPORT 类/源文件?
谢谢路德