将数据传递到SOAP Web服务
问题描述:
我已经创建了一个Web服务并在本地主机上的GlassFish上进行了deplyed。将数据传递到SOAP Web服务
@WebService
public class ProductCatalog {
ProductServiceImpl productService = new ProductServiceImpl();
public boolean addProductCategories(String category) {
return productService.addCategory(category);
}
public List<String> getProductCategories() {
return productService.getCategories();
}
}
我的服务类
public class ProductServiceImpl {
List<String> categories = new ArrayList<>();
public boolean addCategory(String categoryName) {
return categories.add(categoryName);
}
public List<String> getCategories() {
return categories;
}
}
通过GF管理面板我查了这两种方法。他们工作。我可以添加一个类别或获取所有现有类别。
之后,我导入了wsdl并获得了以下类。
然后我创建了一个新的项目并添加导入的类吧。
public class DataController {
public static void main(String[] args) {
String category = "Horror";
ProductCatalog productCatalog = new ProductCatalog() {
public boolean addProductCategories(String arg0) {
return false;
}
public List<String> getProductCategories() {
return null;
}
};
productCatalog.addProductCategories(category);
ProductCatalogService productCatalogService = new ProductCatalogService();
}
}
现在我想添加一个新的类别,但不知道该怎么做。
这
productCatalog.addProductCategories(category);
不起作用。该应用程序运行,但通过GF管理面板检查现有类别时,我看到没有添加。
是什么原因?
答
我正在使用错误的方式。这是应该的。
public class DataController {
public static void main(String[] args) {
String category = "Anime";
ProductCatalogService productCatalogService = new ProductCatalogService();
ProductCatalog productCatalog = productCatalogService.getProductCatalogPort();
productCatalog.addProductCategories(category);
List<String> categories = productCatalog.getProductCategories();
for(String categoryName : categories){
System.out.println(categoryName);
}
}
}