2013-12-15 137 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 –