2011-03-22 2 views
2

Я разрабатываю клиент веб-сервиса Amazon в java. Я разработал все необходимые заглушки, как указано на их сайте. Я мог получить доступ к заголовку и asin с помощью ответа ItemLookup. Мне нужно получить доступ к информации о цене и изображению продуктов. Может кто-то помочь мне разобраться код issue.The и его ответ приведен нижеDevoloping amazon WS-client с использованием API-интерфейса продукта в java

public class iteml { 
    public void itemdetails() 
    { 
    System.out.println("sample test"); 
    AWSECommerceService service = new AWSECommerceService(); 
    service.setHandlerResolver(new awshandlerresolver("secret key")); // important 
    AWSECommerceServicePortType port = service.getAWSECommerceServicePort(); 

ItemLookupRequest itemLookup = new ItemLookupRequest(); 
itemLookup.setIdType("ASIN"); 
itemLookup.getItemId().add("B0036WT3EI"); 

ItemLookup lookup = new ItemLookup(); 
lookup.setAWSAccessKeyId("APi key"); // important 
lookup.getRequest().add(itemLookup); 

ItemLookupResponse response = port.itemLookup(lookup); 

String r = response.toString(); 
System.out.println("response: " + r); 


     for (Items itemList:response.getItems()) 

     for (Item item : itemList.getItem()) 
     { 
      final String asin= item.getASIN(); 
      System.out.println(asin); 
      System.out.println("Title: " + 
      item.getItemAttributes().getTitle()); 
      // Image I=item.getSmallImage(); 
      // final Image I1 = I; 
      // String url=I1.getURL(); 
      // System.out.println(url); 

      String pr=item.getItemAttributes().getListPrice().getFormattedPrice(); 
      // System.out.println(p); 
      System.out.println(pr); 
} 
} 


public static void main(String args[]) 
    { 
     iteml l=new iteml(); 
     l.itemdetails(); 
    } 
    } 

выходе B0036WT3EI // ASIN идентификатор Исключение в потоке «главный» java.lang.NullPointerException Название: Samsung LN19C350 19-дюймовый 720p 60 Гц LCD HDTV (черный) на plugin.iteml.itemdetails (iteml.java:65) на plugin.iteml.main (iteml.java:73) Java Результат: 1

ответ

2

Я боюсь быть немного запоздалым, но здесь мы идем.

После этого куска кода:

ItemLookupRequest itemLookup = new ItemLookupRequest(); 
itemLookup.setIdType("ASIN"); 
itemLookup.getItemId().add("B0036WT3EI"); 

добавить следующую строку:

itemLookup.setResponseGroup(new String[] { "Images", "ItemAttributes" }); 

Вы должны сказать, что вы хотите ItemLookupRequest запрос возвращает ответ с обоих изображений и ItemAttributes (от где вы извлекаете ListPrice).

Я не тестировал на Java, но должен работать нормально.

 Смежные вопросы

  • Нет связанных вопросов^_^