2013-12-15 140 views
0

亚马逊产品广告API请求大家好,我对相同的代码是与Java

// 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()); 

我不断收到错误不能从虚空转换为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的目标名称空间。但无法找到。请帮助我

+0

您应该显示确切的错误消息和堆栈跟踪。 – Kapep

+0

@kapep,帮助我改善我的问题。你为什么会倒投票呢? –

+2

我不知道是谁downvoted。也许那个也投了赞成票的人,也许是别人 - 没有人能告诉你,但是那个沮丧的人。如果想知道_why_是否被低估了,但你不应该指责任何人这样做。我认为这个问题没有问题,不要太担心downvote。 – Kapep

回答

0

您正在为您的Web服务客户端及其端口使用错误的名称空间(实际上是WS的错误版本)。

转到AWSECommerceServiceAWSECommerceServicePortType类,并用http://webservices.amazon.com/AWSECommerceService/2013-08-01替换看起来像http://webservices.amazon.com/AWSECommerceService/2010-11-01的所有命名空间。

+0

我试过了,但没有显示与它关联的javaDocs。 –

+0

@sa_nyc“no javaDocs”是什么意思?您没有使用这些AWS类的源代码? – CyberMJ

+0

它说Jar文件“path-to-jar”没有源附件。我正在使用amazon-ecs.jar –