Учебное пособие для генерации клиента веб -службы < /p>
Пока нет проблем. Чтобы проверить клиента, я написал небольшой кусочек кода. Код предназначен для простого получения некоторой информации о продукте. Продукт указан по его ASIN. < /P>
Код: < /p>
Код: Выделить всё
package client;
import com.ECS.client.jax.AWSECommerceService;
import com.ECS.client.jax.AWSECommerceServicePortType;
import com.ECS.client.jax.ItemLookup;
import com.ECS.client.jax.ItemLookupResponse;
import com.ECS.client.jax.ItemLookupRequest;
public class Client {
public static void main(String[] args) {
System.out.println("API Test startet");
AWSECommerceService service = new AWSECommerceService();
AWSECommerceServicePortType port = service.getAWSECommerceServicePort();
ItemLookupRequest itemLookup = new ItemLookupRequest();
itemLookup.setIdType("ASIN");
itemLookup.getItemId().add("B000RE216U");
ItemLookup lookup = new ItemLookup();
lookup.setAWSAccessKeyId("");
lookup.getRequest().add(itemLookup);
ItemLookupResponse response = port.itemLookup(lookup);
String r = response.toString();
System.out.println("response: " + r);
System.out.println("API Test stopped");
}
}
< /code>
Как видите, нет части, где я подписываю запрос. Я прошел путь через многие используемые классы и не нашел методов подписания запроса. < /P>
Итак, как подписать запрос? Предлагаемые решения более или менее для ручного использования. Поэтому я посмотрел на классах клиентов, чтобы разобраться, если смогу получить URL -адрес запроса и поместить все детали, необходимые для подписи запроса. Но нет таких методов. < /P>
Я надеюсь, что кто -то сможет указать на то, что я делаю не так. Весь кредит подходит Джону и парням форумов Amazon. Чем я изменил свой собственный код, так что он выглядит так: < /p>
package client;
import com.ECS.client.jax.AWSECommerceService;
import com.ECS.client.jax.AWSECommerceServicePortType;
import com.ECS.client.jax.ItemLookup;
import com.ECS.client.jax.ItemLookupResponse;
import com.ECS.client.jax.ItemLookupRequest;
public class Client {
public static void main(String[] args) {
System.out.println("API Test startet");
AWSECommerceService service = new AWSECommerceService();
service.setHandlerResolver(new AwsHandlerResolver("")); // important
AWSECommerceServicePortType port = service.getAWSECommerceServicePort();
ItemLookupRequest itemLookup = new ItemLookupRequest();
itemLookup.setIdType("ASIN");
itemLookup.getItemId().add("B000RE216U");
ItemLookup lookup = new ItemLookup();
lookup.setAWSAccessKeyId(""); // important
lookup.getRequest().add(itemLookup);
ItemLookupResponse response = port.itemLookup(lookup);
String r = response.toString();
System.out.println("response: " + r);
System.out.println("API Test stopped");
}
}
Подробнее здесь: https://stackoverflow.com/questions/318 ... -with-java