Java使用亚马逊mws?

标签 java amazon-mws

我在理解如何使用 amazon mws java 库时遇到问题。我能够实现它,我可以调用 ListMatchingProducts 并将一些 xml 打印到控制台中。但是我如何从中获取部分内容,例如产品标题? 我刚开始编程,可能我只是不了解这里的 api 使用的一些基础知识。 请帮帮我。 这就是我调用搜索方法的方式:

   searchF.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
            AmazonSearch.amazonSearch(searchF.getText());               
        }
    });

这是我想使用的亚马逊 api 类的摘录:

         invokeListMatchingProducts(service, request);

    }

    public static ListMatchingProductsResponse response;

    public static void invokeListMatchingProducts(MarketplaceWebServiceProducts service, 
            ListMatchingProductsRequest request) {
        try {

            response = service.listMatchingProducts(request);


            System.out.println ("ListMatchingProducts Action Response");
            System.out.println ("=============================================================================");
            System.out.println ();

            System.out.println("    ListMatchingProductsResponse");
            System.out.println();
            if (response.isSetListMatchingProductsResult()) {
                System.out.println("        ListMatchingProductsResult");
                System.out.println();
                ListMatchingProductsResult  listMatchingProductsResult = response.getListMatchingProductsResult();
                if (listMatchingProductsResult.isSetProducts()) {
                    System.out.println("            Products");
                    System.out.println();
                    ProductList  products = listMatchingProductsResult.getProducts();
                    java.util.List<Product> productList = products.getProduct();
                    for (Product product : productList) {
                        System.out.println("                Product");
                        System.out.println();
                        if (product.isSetIdentifiers()) {
                            System.out.println("                    Identifiers");
                            System.out.println();
                            IdentifierType  identifiers = product.getIdentifiers();
                            if (identifiers.isSetMarketplaceASIN()) {
                                System.out.println("                        MarketplaceASIN");
                                System.out.println();
                                ASINIdentifier  marketplaceASIN = identifiers.getMarketplaceASIN();
                                if (marketplaceASIN.isSetMarketplaceId()) {
                                    System.out.println("                            MarketplaceId");
                                    System.out.println();
                                    System.out.println("                                " + marketplaceASIN.getMarketplaceId());
                                    System.out.println();
                                }
                                if (marketplaceASIN.isSetASIN()) {
                                    System.out.println("                            ASIN");
                                    System.out.println();
                                    System.out.println("                                " + marketplaceASIN.getASIN());
                                    System.out.println();
                                }
                            } 
                            if (identifiers.isSetSKUIdentifier()) {
                                System.out.println("                        SKUIdentifier");
                                System.out.println();
                                SellerSKUIdentifier  SKUIdentifier = identifiers.getSKUIdentifier();
                                if (SKUIdentifier.isSetMarketplaceId()) {
                                    System.out.println("                            MarketplaceId");
                                    System.out.println();
                                    System.out.println("                                " + SKUIdentifier.getMarketplaceId());
                                    System.out.println();
                                }
                                if (SKUIdentifier.isSetSellerId()) {
                                    System.out.println("                            SellerId");
                                    System.out.println();
                                    System.out.println("                                " + SKUIdentifier.getSellerId());
                                    System.out.println();
                                }
                                if (SKUIdentifier.isSetSellerSKU()) {
                                    System.out.println("                            SellerSKU");
                                    System.out.println();
                                    System.out.println("                                " + SKUIdentifier.getSellerSKU());
                                    System.out.println();
                                }
                            } 
                        } 
                        if (product.isSetAttributeSets()) {
                            System.out.println("                    Attributes");
                            AttributeSetList attributeSetList = product.getAttributeSets();
                            for (Object obj : attributeSetList.getAny()) {
                                Node attribute = (Node) obj;
                                System.out.println(ProductsUtil.formatXml(attribute));
                            }
                            System.out.println();
                        }
                       ...
                    }
                } 
            } 
            if (response.isSetResponseMetadata()) {
                System.out.println("        ResponseMetadata");
                System.out.println();
                ResponseMetadata  responseMetadata = response.getResponseMetadata();
                if (responseMetadata.isSetRequestId()) {
                    System.out.println("            RequestId");
                    System.out.println();
                    System.out.println("                " + responseMetadata.getRequestId());
                    System.out.println();
                }
            } 
            System.out.println();
            System.out.println(response.getResponseHeaderMetadata());
            System.out.println();


        } catch (MarketplaceWebServiceProductsException ex) {

            System.out.println("Caught Exception: " + ex.getMessage());
            System.out.println("Response Status Code: " + ex.getStatusCode());
            System.out.println("Error Code: " + ex.getErrorCode());
            System.out.println("Error Type: " + ex.getErrorType());
            System.out.println("Request ID: " + ex.getRequestId());
            System.out.println("XML: " + ex.getXML());
            System.out.print("ResponseHeaderMetadata: " + ex.getResponseHeaderMetadata());
        }
    }

}

最佳答案

我自己搞定了。我只需要访问 public static ListMatchingProductsResponse response; 并将其转换为 xml。其实没那么难。

关于Java使用亚马逊mws?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14055962/

相关文章:

java - Java 和 Android 中的包范围访问

javascript - 如何在 Netsuite 中使用 Node.js?

amazon-mws - 是否可以使用 Amazon Marketplace 网络服务获取商家价格?

java - 如何在特定条件下停止 Gradle 或 Maven 构建

java - 堆内存每次都触及新高

amazon-mws - MWS 或 'Product Advertising API' 如何判断产品是否为 'Add-on-Item'

Python .read() 无法将 CSV 正确读入字符串

python - 如何在 Python 中的这个嵌套字典中搜索特定键?

java - 具有比较参数的 Mockito 模拟方法 - 此处检测到放错位置的参数匹配器

java - 构造函数不工作,稍后调用时不接受参数?