嗨,我的代码是
// Initialize Web Service
HandlerResolver handlerResolver=new AwsHandlerResolver(credentials.getAWSSecretKey());
AWSECommerceService service = new AWSECommerceService();
service.setHandlerResolver(handlerResolver);
// Create Web Service Connection
AWSECommerceServicePortType port = service.getAWSECommerceServicePort();
// Add Parameters for the Item Lookup
ItemLookupRequest itemLookup = new ItemLookupRequest();
itemLookup.setIdType("ASIN");
itemLookup.getItemId().add("B000RE216U");
// Wrap Request in Lookup Body
ItemLookup lookup = new ItemLookup();
lookup.setAWSAccessKeyId(credentials.getAWSAccessKeyId());
lookup.getRequest().add(itemLookup);
ItemLookupResponse response = port.itemLookup(lookup);
System.out.println("response: " + response.toString());在开始的时候,我一直收到错误“cannot convert from Void to AWSECommerceService”。我已经安装并配置了AWSHandlerResolver文件和编解码器jar。
错误消息:
Exception in thread "main" javax.xml.ws.WebServiceException: {http://webservices.amazon.com/AWSECommerceService/2010-11-01}AWSECommerceService is not a valid service. Valid services are: {http://webservices.amazon.com/AWSECommerceService/2011-08-01}AWSECommerceService
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:223)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:168)
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:96)
at javax.xml.ws.Service.<init>(Service.java:77)
at com.ECS.client.jax.AWSECommerceService.<init>(AWSECommerceService.java:46) 我一直在网上搜索。我可能需要更改AWSECommerceService的目标名称空间。但是找不到方法。请帮帮我
发布于 2013-12-16 07:04:44
您为Webservice客户端及其端口使用了错误的命名空间(实际上是错误的WS版本)。
转到AWSECommerceService和AWSECommerceServicePortType类,将所有看起来像http://webservices.amazon.com/AWSECommerceService/2010-11-01的名称空间替换为http://webservices.amazon.com/AWSECommerceService/2013-08-01。
https://stackoverflow.com/questions/20590292
复制相似问题