Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java & Amazon’s E-Commerce Web Service, клиент для веб-сервиса 
V
    Опции темы
atlas
Дата 1.8.2010, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 17.8.2009

Репутация: нет
Всего: нет



Всем привет!
Пытаюсь опробовать пример из книги Java Web Services: Up and Running - 
клиент для веб сервиса Amazon
вот код:

Код

import awsClient.AWSECommerceService;
import awsClient.AWSECommerceServicePortType;
import awsClient.ItemSearchRequest;
import awsClient.ItemSearch;
import awsClient.Items;
import awsClient.Item;
import awsClient.OperationRequest;
import awsClient.SearchResultsMap;
import javax.xml.ws.Holder;
import java.util.List;
import java.util.ArrayList;
class AmazonClientW { // W is for Wrapped style
    public static void main(String[ ] args) {
      if (args.length < 1) {
        System.err.println("Usage: java AmazonClientW <access key>");
        return;
      }
      final String access_key = args[0];
      // Construct a service object to get the port object.
      AWSECommerceService service = new AWSECommerceService();
      AWSECommerceServicePortType port = service.getAWSECommerceServicePort();
      // Construct an empty request object and then add details.
      ItemSearchRequest request = new ItemSearchRequest();
      request.setSearchIndex("Books");
      request.setKeywords("quantum gravity");
      ItemSearch search = new ItemSearch();
      search.getRequest().add(request);
      search.setAWSAccessKeyId(access_key);
      Holder<OperationRequest> operation_request = null;
      Holder<List<Items>> items = new Holder<List<Items>>();
      port.itemSearch(search.getMarketplaceDomain(),
                      search.getAWSAccessKeyId(),
                      search.getSubscriptionId(),
                      search.getAssociateTag(),
                      search.getXMLEscaping(),
                      search.getValidate(),
                      search.getShared(),
                      search.getRequest(),
                      operation_request,
                      items);
      // Unpack the response to print the book titles.
      Items retval = items.value.get(0);       // first and only Items element
      List<Item> item_list = retval.getItem(); // list of Item subelements
      for (Item item : item_list)              // each Item in the list
        System.out.println(item.getItemAttributes().getTitle());
    }
}


и при вызове метода port.itemSearch() вываливается ошибка

Код

Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 403: Forbidden
        at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:196)
        at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:168)
        at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83)
        at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105)
        at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)
        at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)
        at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)
        at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)
        at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211)
        at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124)
        at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
        at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
        at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
        at $Proxy29.itemSearch(Unknown Source)
        at ch02.amazon.AmazonClientW.main(AmazonClientW.java:63)
Java Result: 1


access key использутся корректный, хотя если его не указывать, ошибка та же.
в чем может быть проблема?
И почему именно 403 HTTP-код?
PM MAIL   Вверх
atlas
Дата 3.8.2010, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 17.8.2009

Репутация: нет
Всего: нет



Вопрос решен.
Они в который раз поменяли АПИ, и нужно указывать дополнительные параметры для аутентификации
Даже примеры кода с их сайта не работают. Наплевать им на простой доступ к СОАП =)

Это сообщение отредактировал(а) atlas - 3.8.2010, 20:36
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0791 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.