Avatar billede callisen Nybegynder
04. februar 2007 - 20:36 Der er 5 kommentarer og
1 løsning

Simple java ItemSearch (amazon webservice)

Jeg er ved at lave en simpel amazon webservice i java 1.4.. og skal have noget hjælp hertil (er lidt desperat).
jeg ved godt at der findes et forum hertil, men jeg mener altså at alle der prøvet at lave nogle seriøse java
web service klienter bør kunne svare herpå. Derfor udlover jeg også 150 point til den der kan komme med en god
løsning på problemet.

Jeg skal hjælp til at benytte den genereret stup method ItemSearch() fra
http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.xsd
Jeg forventer at det kan gøre ved hjælp af følgende java klasse,
men jeg skal have lidt hjælp til lave simpleBookRequest(..) methoden korrekt .


// JEg har ikke check på hvilke af følgende import der er nødvendige!
import oracle.soap.transport.http.OracleSOAPHTTPConnection;
import org.apache.soap.encoding.soapenc.BeanSerializer;
import org.apache.soap.encoding.SOAPMappingRegistry;
import org.apache.soap.util.xml.QName;
import java.util.Vector;
import org.w3c.dom.Element;
import java.net.URL;
import org.apache.soap.Body;
import org.apache.soap.Envelope;
import org.apache.soap.messaging.Message;
import java.io.File;
import org.w3c.dom.*;
import org.w3c.dom.Document;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

public class Cunsumer extends AWSECommerceServiceStub
{
  private Vector result;
  private String key; // My AMAZON Access Key ID
  private String operation      = "ItemSearch";
 

  public Cunsumer(String key)
  {
    super();
    this.key = key;
    runApp(this);
  }

  public void runApp(Cunsumer cunsumerStub)
  {
    result = new Vector();
    result = simpleBookRequest(cunsumerStub, "Books","Ludovic Cham","Medium");
    System.out.println(result.toString());
  }
 
  public Vector simpleBookRequest(Cunsumer cunsumerStub, String searchIndex, String author, String responseGroup)
  {
    result = new Vector();
    Element requestElement;
    .
    .
    .
    try { 
      requestElement.setAttribute("AWSAccessKeyId ", key);    //Access Key ID
      requestElement.setAttribute("Operation", operation);    //ItemSearch
      requestElement.setAttribute("SearchIndex", searchIndex);//Books
      requestElement.setAttribute("Author", author);  //Ludovic Cham
      requestElement.setAttribute("ResponseGroup", responseGroup);//Medium
      result = cunsumerStub.ItemSearch(requestElement);
    } catch(Exception ex) {
      ex.printStackTrace();
    }
    return result;
  }



  public static void main(String[] args)
  {
    new Cunsumer("xxxxxxxx"); //My Access Key ID
  }
}

PLEASE HELP
Michael

NB Jeg har læst "Java Sample for Amazon E-Commerce Service", men synes den er svær at lære noget fra (IKKE TIL AT FINDE RUNDT I!).
Avatar billede callisen Nybegynder
04. februar 2007 - 20:38 #1
Jeg er ved at lave en simpel amazon webservice i java 1.4.. og skal have noget hjælp hertil (er lidt desperat).
jeg ved godt at der findes et forum hertil, men jeg mener altså at alle der prøvet at lave nogle seriøse java
web service klienter bør kunne svare herpå. Derfor udlover jeg også 150 point til den der kan komme med en god
løsning på problemet.

Jeg skal hjælp til at benytte den genereret stup method ItemSearch() fra
http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.xsd
Jeg forventer at det kan gøre ved hjælp af følgende java klasse,
men jeg skal have lidt hjælp til lave simpleBookRequest(..) methoden korrekt .
Avatar billede callisen Nybegynder
05. februar 2007 - 13:23 #2
OK jeg har løst noget a problemet, nu mangler jeg bare at læse resultatet korekt

import org.w3c.dom.*;
import org.w3c.dom.Document;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import java.util.Vector;
import javax.xml.parsers.ParserConfigurationException;

public class Cunsumer extends AWSECommerceServiceStub
{
  private Vector result;
  private String key; // My AMAZON Access Key ID
  private String operation = "ItemSearch";
  private static DocumentBuilderFactory domBuildFactory = null;
  private static DocumentBuilder docBuilder = null;
  private Document doc;

  public Cunsumer(String key)
  {
    super();
    this.key = key;
    runApp(this);
  }

  public void runApp(Cunsumer cunsumerStub)
  {
    result = new Vector();
    result = simpleBookRequest(cunsumerStub, "Books","Ludovic Cham","Medium");
    System.out.println(result.toString());
    System.out.println("exit program");   
  }

  public Vector simpleBookRequest(Cunsumer cunsumerStub, String searchIndex, String author, String responseGroup)
  {
    result = new Vector();
    domBuildFactory = DocumentBuilderFactory.newInstance();
    try {
      docBuilder = domBuildFactory.newDocumentBuilder();
    } catch(ParserConfigurationException oParserConfigurationException) {
      oParserConfigurationException.printStackTrace();
    }
    doc = docBuilder.newDocument();
    Element requestElement = doc.createElement("ItemSearch");
   
    requestElement.setAttribute("AWSAccessKeyId", key);        //Access Key ID
    requestElement.setAttribute("Operation", operation);        //ItemSearch
    requestElement.setAttribute("SearchIndex", searchIndex);    //Books
    requestElement.setAttribute("Author", author);              //Ludovic Cham
    requestElement.setAttribute("ResponseGroup", responseGroup);//Medium
    doc.appendChild(requestElement);

    System.out.println("\nConnecting to AMAZON webservice\n");
    try {
      result = cunsumerStub.ItemSearch(requestElement);
    } catch(Exception ex) {
      ex.printStackTrace();
    }
    return result;
  }

  public static void main(String[] args)
  {
    new Cunsumer("xxxxxxx");
  }
 
}
Avatar billede callisen Nybegynder
05. februar 2007 - 13:24 #3
kom nu der må være nogen der er skarp i SOAP webservices (Det er jo bare noget xml stuf)
Avatar billede callisen Nybegynder
05. februar 2007 - 18:01 #4
hvis nu jeg giver 300 points til den der kan give mig et svar, er der så nogen der gidder at svare?
Avatar billede callisen Nybegynder
06. februar 2007 - 14:01 #5
Jeg har selv løst problemet og lukker derfor dette spørgsmål
Avatar billede callisen Nybegynder
06. februar 2007 - 14:02 #6
OK
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB