2017-08-10 155 views
0

我已经创建了一个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并获得了以下类。

enter image description here

然后我创建了一个新的项目并添加导入的类吧。

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管理面板检查现有类别时,我看到没有添加。

是什么原因?

回答

0

我正在使用错误的方式。这是应该的。

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); 
    } 
    } 
}