2017-08-10 168 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); 
    } 
    } 
} 
相關問題