Informationen aus dem Internet Abgleichen

MiMa

Top Contributor
Hi,

ich habe eine ISBN Nummer und möchte Informationen dazu aus dem Internet abgreifen.
Wie ist denn da die Vorgehensweise?

Ich habe mal einiges in Google probiert, aber es sind zu viele und unterschiedliche Informationen.
Ebenfalls habe ich die ISBN zerlegt um gezielter suchen zu können, aber leider sind die Datenbanken für Verlagsnummern unter Verschluss. Das heisst zahlen für die Daten.

Dann ist mir der Gedanke gekommen auf der Verlagsseite zu den Informationen zu kommen, aber leider weiss ich nicht wie ich den Verlag erst mal finden soll?

Ich möchte gerne die Verlage anhand der ISBN Nummer, welche auch die Verlagsnummer enthält, aus dem Internet finden lassen. Wenn alle Stricke reissen, werde ich eine eigene Auflistung der Verlage und der zugehörigen Nummern machen müssen. Das wäre aber erst meine letzte Wahl.

Hat vielleicht jemand eine andere Idee.

Vielen Dank

Mi
 

Ark

Top Contributor
Ich habe keine Ahnung, ob die Verwendung von Bots gestattet ist, aber mit ein bisschen Glück reicht schon Amazon mit folgendem Muster: [c]http://www.amazon.de/dp/HierISBNeinsetzen[/c] Zum Beispiel http://www.amazon.de/dp/1241719381 Dort findet man dann zumindest weitere Anhaltspunkte, zum Beispiel den Verlag. Na ja, und dann könnte man ja anfangen mit Raten und gucken, inwiefern da irgendwas korreliert. :D

Aber wie gesagt: ich weiß nicht, ob das so gedacht/erlaubt ist, und noch viel weniger, ob das für deine Zwecke taugt.

Ark
 

MiMa

Top Contributor
Ich habe keine Ahnung, ob die Verwendung von Bots gestattet ist, aber mit ein bisschen Glück reicht schon Amazon mit folgendem Muster: [c]http://www.amazon.de/dp/HierISBNeinsetzen[/c] Zum Beispiel Japanese Culture,Vol. 6: Fashion from Kimonos to Harajuku Including Traditional Accessories,Fruits Magazine,Lolita,Gothic,Cosplay,Ganguro,: Amazon.de: Elane Casselberry: Englische Bücher Dort findet man dann zumindest weitere Anhaltspunkte, zum Beispiel den Verlag. Na ja, und dann könnte man ja anfangen mit Raten und gucken, inwiefern da irgendwas korreliert. :D

Aber wie gesagt: ich weiß nicht, ob das so gedacht/erlaubt ist, und noch viel weniger, ob das für deine Zwecke taugt.

Ark

Habe da smal versucht mit "http://www.amazon.de/dp/9783834805690" da komt ein 404 Fehler.
Wenn ich bei Amazon diekt in die Suchmaske die iSBN 978-3-8348-0569-0 eingebe, erscheint das Buch aber. In Amazon drin ist es aber dann auch.

Lange gesucht und bin auf die Deutsche Nationalbibliothek gestossen.
DNB - Home
Dort konnte ich in der Suchmaske das Buch finden.
https://portal.dnb.de/opac.htm?query=978-3-8348-0569-0&method=simpleSearch

Ist nur die Frage, wie schaffe ich das mit Java in die Suchmaske ein zu tragen und dann bei dem Ergebnis die Informationen zu entnehmen?

Mi
 

MiMa

Top Contributor
Warscheinlich wird es auf Lucene hinaus laufen.

Das hat eine API für suchen und Parsen.

Dann wird das wohl noch eine weile dauern, bis ich das verstanden habe.

Mi
 

Templarthelast

Bekanntes Mitglied
Du brauchst dafür noch nichtmal irgendein framwork, sondern kannst das ganze per httpstream und ein bisschen kleinarbeit selber machen und würdest dabei noch eine Menge lernen.
 

MiMa

Top Contributor
Ok, habe mittlerweile viel über Java gelernt, aber man lernt ja nie aus und deshalb sitze ich hier täglich sehr sehr viele Stunden und lerne, programmiere.

HttpStream sagt mir nichts, muss da erst mal einen Einstieg suchen. Stichwort habe ich ja jetzt.
Vielen Dank


Mi
 

Templarthelast

Bekanntes Mitglied
Du ließt den HTMLinhalt einer Website mit dem Stream aus. Danach filterst du die richtigen Infos raus und speicherst sie ab. Ansonsten mal im JavaDoc bzw. Java ist auch eine Insel bzw. mehr als eine Insel schauen.
 

ARadauer

Top Contributor
nimm die amazon ws api!! https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html

ok für einen anfänger ist das nicht sehr einfach.
aber im grunde kannst du den Webservice über Rest aufrufen und musst nur das was zurück kommt mit jaxb in ein objekt parsen.

Das mit dem Request absetzen ist etwas kritisch... aber da gibts eine hilfsklasse..

ok also mit jaxb aus dieser wsdl die objekte erzeugen...
http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl
ich mach das mit dem jaxws-maven-plugin, aber auf der jaxb homepage ist sicher beschrieben wie das auf der konsole geht..

so dann diese hilfsklasse und den request abzusetzen...
die hab ich von der amazon ws homepage... musst du nicht verstehen...

Java:
/**********************************************************************************************
 * Copyright 2009 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file 
 * except in compliance with the License. A copy of the License is located at
 *
 *       [url=http://aws.amazon.com/apache2.0/]Apache License[/url]
 *
 * or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS"
 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under the License. 
 *
 * ********************************************************************************************
 *
 *  Amazon Product Advertising API
 *  Signed Requests Sample Code
 *
 *  API Version: 2009-03-31
 *
 */

package com;

import java.io.UnsupportedEncodingException;

import java.net.URLDecoder;
import java.net.URLEncoder;

import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

import java.text.DateFormat;
import java.text.SimpleDateFormat;

import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.SortedMap;
import java.util.TimeZone;
import java.util.TreeMap;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

import org.apache.commons.codec.binary.Base64;

/**
 * This class contains all the logic for signing requests
 * to the Amazon Product Advertising API.
 */
public class SignedRequestsHelper {
    /**
     * All strings are handled as UTF-8
     */
    private static final String UTF8_CHARSET = "UTF-8";
    
    /**
     * The HMAC algorithm required by Amazon
     */
    private static final String HMAC_SHA256_ALGORITHM = "HmacSHA256";
    
    /**
     * This is the URI for the service, don't change unless you really know
     * what you're doing.
     */
    private static final String REQUEST_URI = "/onca/xml";
    
    /**
     * The sample uses HTTP GET to fetch the response. If you changed the sample
     * to use HTTP POST instead, change the value below to POST. 
     */
    private static final String REQUEST_METHOD = "GET";

    private String endpoint = null;
    private String awsAccessKeyId = null;
    private String awsSecretKey = null;

    private SecretKeySpec secretKeySpec = null;
    private Mac mac = null;

    /**
     * You must provide the three values below to initialize the helper.
     *  
     * @param endpoint          Destination for the requests.
     * @param awsAccessKeyId    Your AWS Access Key ID
     * @param awsSecretKey      Your AWS Secret Key
     */
    public static SignedRequestsHelper getInstance(
            String endpoint, 
            String awsAccessKeyId, 
            String awsSecretKey
    ) throws IllegalArgumentException, UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException
    {
        if (null == endpoint || endpoint.length() == 0)
            { throw new IllegalArgumentException("endpoint is null or empty"); }
        if (null == awsAccessKeyId || awsAccessKeyId.length() == 0) 
            { throw new IllegalArgumentException("awsAccessKeyId is null or empty"); }
        if (null == awsSecretKey || awsSecretKey.length() == 0)   
            { throw new IllegalArgumentException("awsSecretKey is null or empty"); }
        
        SignedRequestsHelper instance = new SignedRequestsHelper();
        instance.endpoint = endpoint.toLowerCase();
        instance.awsAccessKeyId = awsAccessKeyId;
        instance.awsSecretKey = awsSecretKey;

        byte[] secretyKeyBytes = instance.awsSecretKey.getBytes(UTF8_CHARSET);
        instance.secretKeySpec = new SecretKeySpec(secretyKeyBytes, HMAC_SHA256_ALGORITHM);
        instance.mac = Mac.getInstance(HMAC_SHA256_ALGORITHM);
        instance.mac.init(instance.secretKeySpec);

        return instance;
    }
    
    /**
     * The construct is private since we'd rather use getInstance()
     */
    private SignedRequestsHelper() {}

    /**
     * This method signs requests in hashmap form. It returns a URL that should
     * be used to fetch the response. The URL returned should not be modified in
     * any way, doing so will invalidate the signature and Amazon will reject
     * the request.
     */
    public String sign(Map<String, String> params) {
        // Let's add the AWSAccessKeyId and Timestamp parameters to the request.
        params.put("AWSAccessKeyId", this.awsAccessKeyId);
        params.put("Timestamp", this.timestamp());

        // The parameters need to be processed in lexicographical order, so we'll
        // use a TreeMap implementation for that.
        SortedMap<String, String> sortedParamMap = new TreeMap<String, String>(params);
        
        // get the canonical form the query string
        String canonicalQS = this.canonicalize(sortedParamMap);
        
        // create the string upon which the signature is calculated 
        String toSign = 
            REQUEST_METHOD + "\n" 
            + this.endpoint + "\n"
            + REQUEST_URI + "\n"
            + canonicalQS;

        // get the signature
        String hmac = this.hmac(toSign);
        String sig = this.percentEncodeRfc3986(hmac);

        // construct the URL
        String url = 
            "http://" + this.endpoint + REQUEST_URI + "?" + canonicalQS + "&Signature=" + sig;

        return url;
    }

    /**
     * This method signs requests in query-string form. It returns a URL that
     * should be used to fetch the response. The URL returned should not be
     * modified in any way, doing so will invalidate the signature and Amazon
     * will reject the request.
     */
    public String sign(String queryString) {
        // let's break the query string into it's constituent name-value pairs
        Map<String, String> params = this.createParameterMap(queryString);
        
        // then we can sign the request as before
        return this.sign(params);
    }

    /**
     * Compute the HMAC.
     *  
     * @param stringToSign  String to compute the HMAC over.
     * @return              base64-encoded hmac value.
     */
    private String hmac(String stringToSign) {
        String signature = null;
        byte[] data;
        byte[] rawHmac;
        try {
            data = stringToSign.getBytes(UTF8_CHARSET);
            rawHmac = mac.doFinal(data);
            Base64 encoder = new Base64();
            signature = new String(encoder.encode(rawHmac));
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException(UTF8_CHARSET + " is unsupported!", e);
        }
        return signature;
    }

    /**
     * Generate a ISO-8601 format timestamp as required by Amazon.
     *  
     * @return  ISO-8601 format timestamp.
     */
    private String timestamp() {
        String timestamp = null;
        Calendar cal = Calendar.getInstance();
        DateFormat dfm = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
        dfm.setTimeZone(TimeZone.getTimeZone("GMT"));
        timestamp = dfm.format(cal.getTime());
        return timestamp;
    }

    /**
     * Canonicalize the query string as required by Amazon.
     * 
     * @param sortedParamMap    Parameter name-value pairs in lexicographical order.
     * @return                  Canonical form of query string.
     */
    private String canonicalize(SortedMap<String, String> sortedParamMap) {
        if (sortedParamMap.isEmpty()) {
            return "";
        }

        StringBuffer buffer = new StringBuffer();
        Iterator<Map.Entry<String, String>> iter = sortedParamMap.entrySet().iterator();

        while (iter.hasNext()) {
            Map.Entry<String, String> kvpair = iter.next();
            buffer.append(percentEncodeRfc3986(kvpair.getKey()));
            buffer.append("=");
            buffer.append(percentEncodeRfc3986(kvpair.getValue()));
            if (iter.hasNext()) {
                buffer.append("&");
            }
        }
        String cannoical = buffer.toString();
        return cannoical;
    }

    /**
     * Percent-encode values according the RFC 3986. The built-in Java
     * URLEncoder does not encode according to the RFC, so we make the
     * extra replacements.
     * 
     * @param s decoded string
     * @return  encoded string per RFC 3986
     */
    private String percentEncodeRfc3986(String s) {
        String out;
        try {
            out = URLEncoder.encode(s, UTF8_CHARSET)
                .replace("+", "%20")
                .replace("*", "%2A")
                .replace("%7E", "~");
        } catch (UnsupportedEncodingException e) {
            out = s;
        }
        return out;
    }

    /**
     * Takes a query string, separates the constituent name-value pairs
     * and stores them in a hashmap.
     * 
     * @param queryString
     * @return
     */
    private Map<String, String> createParameterMap(String queryString) {
        Map<String, String> map = new HashMap<String, String>();
        String[] pairs = queryString.split("&");

        for (String pair: pairs) {
            if (pair.length() < 1) {
                continue;
            }

            String[] tokens = pair.split("=",2);
            for(int j=0; j<tokens.length; j++)
            {
                try {
                    tokens[j] = URLDecoder.decode(tokens[j], UTF8_CHARSET);
                } catch (UnsupportedEncodingException e) {
                }
            }
            switch (tokens.length) {
                case 1: {
                    if (pair.charAt(0) == '=') {
                        map.put("", tokens[0]);
                    } else {
                        map.put(tokens[0], "");
                    }
                    break;
                }
                case 2: {
                    map.put(tokens[0], tokens[1]);
                    break;
                }
            }
        }
        return map;
    }
}

so und jetzt die eigentliche arbeit... gar nicht mehr so schwer...

Java:
package com;

import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import java.util.Map;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

import com.ECS.client.jax.Item;
import com.ECS.client.jax.ItemAttributes;
import com.ECS.client.jax.ItemLookupResponse;
import com.ECS.client.jax.Items;

public class AmazonTest {

	public static void main(String[] args) throws Exception {
		AmazonTest amazonProductFinder = new AmazonTest();
		amazonProductFinder.findBook("3897214482");
	}

	private static final String AWS_ACCESS_KEY_ID = "deine id";
	private static final String AWS_SECRET_KEY = " dein key";
	private static final String ASSOCIATE_TAG = "dein tag...";

	private static final String ENDPOINT = "ecs.amazonaws.de";
	private SignedRequestsHelper signedRequestsHelper = null;

	private Unmarshaller unmarshaller;

	public AmazonTest() throws InvalidKeyException, IllegalArgumentException, UnsupportedEncodingException, NoSuchAlgorithmException, JAXBException {
		if (signedRequestsHelper == null) {
			signedRequestsHelper = SignedRequestsHelper.getInstance(ENDPOINT, AWS_ACCESS_KEY_ID, AWS_SECRET_KEY);
		}
		JAXBContext jaxbContext = JAXBContext.newInstance("com.ECS.client.jax");
		unmarshaller = jaxbContext.createUnmarshaller();

	}

	public void findBook(String isbn) throws Exception {

		Map<String, String> params = new HashMap<String, String>();
		params.put("Service", "AWSECommerceService");
		params.put("Version", "2011-08-01");
		params.put("Operation", "ItemLookup");
		params.put("ResponseGroup", "Medium");
		params.put("IdType", "ISBN");
		params.put("SearchIndex", "Books");
		params.put("ItemId", isbn);
		params.put("AssociateTag", ASSOCIATE_TAG);

		ItemLookupResponse itemLookupResponse = (ItemLookupResponse) execute(params);

		for (Items item : itemLookupResponse.getItems()) {
			for (Item i : item.getItem()) {
				ItemAttributes itemAttr = i.getItemAttributes();

				System.out.println("Title   = " + itemAttr.getTitle());
				System.out.println("Autor   = " + itemAttr.getAuthor());
				System.out.println("Bindung = " + itemAttr.getBinding());
				System.out.println("Verlag  = " + itemAttr.getPublisher());
				System.out.println("Seiten  = " + itemAttr.getNumberOfPages());
				System.out.println("Jahr    = " + itemAttr.getPublicationDate());
			}
		}

	}

	public Object execute(Map<String, String> params) throws Exception {
		String url = signedRequestsHelper.sign(params);
		System.out.println("URL     = " + url);
		return unmarshaller.unmarshal(new URL(url));
	}
}

bei mir kommt da sauber ein ergebnis...
Title = Java von Kopf bis Fuß
Autor = [Kathy Sierra, Bert Bates]
Bindung = Broschiert
Verlag = O'Reilly
Seiten = 720
Jahr = 2006-05-28

das key, id, tag zeugs bekommst du auf der amazon ws homepage...

fertig...
 
Zuletzt bearbeitet:
H

hüteüberhüte

Gast
Kennt Jemand da ein Tutorial für ein kleines Beispiel?

Danke

Mi

Java:
    public static void main(String[] args) throws MalformedURLException, IOException {
        BufferedReader br = null;
        try {
            br =
                    new BufferedReader(
                    new InputStreamReader(
                    new URL("http://www.java-forum.org/").openStream()));
            String s;
            while ((s = br.readLine()) != null) {
                System.out.println(s);
            }
        } finally {
            if (br != null) {
                br.close();
            }
        }
    }

Ganz knappee, gleich kommt noch eins
 

MiMa

Top Contributor
Vielen Dank für die Informationen.

Das Ergebnis was du da bekommen hast, reicht völlig aus.
Ich war erst mal geschockt von dem 300 Zeilen Listig, habe mir das zweite Listing angeschaut und bin guter Dinge.

Da ich aber noch nicht so lange in Java Programmiere, wird mich das noch ziemlich beschäftigen.
Dann schau ich jetzt erst mal was ich da laden und installieren muss damit ich ebenfalls so ein tolles Ergebnis bekomme.

Mi
 
H

hüteüberhüte

Gast
2. Beispiel:

Java:
package javaforum;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author hüte
 */
public class ReadTest {

    public static void main(String[] args) throws MalformedURLException, IOException {
        Pattern p = Pattern.compile(
                "<a href=\"[^\"]+\" style=\"white-space:nowrap\" ><strong>([^<]+)</strong></a></span>");
        BufferedReader br = null;
        try {
            br =
                    new BufferedReader(
                    new InputStreamReader(
                    new URL("http://www.java-forum.org/").openStream()));
            String s;
            while ((s = br.readLine()) != null) {
                Matcher m = p.matcher(s);
                if (m.find()) {
                    System.out.println("Neustes Thema: " + m.group(1));
                }
            }
        } finally {
            if (br != null) {
                br.close();
            }
        }
    }
}

Code:
Neustes Thema: Informationen aus dem Internet...
Neustes Thema: batch datei wird nicht aufgerufen
Neustes Thema: JButton deaktivieren greift nicht
Neustes Thema: Sortierung Java vs DB
Neustes Thema: JDBC pr�fen ob Table existiert
Neustes Thema: Video Gui Konzeptfrage (Mit After...
Neustes Thema: HtmlUnit Problem
Neustes Thema: Gui Labels �bersetzen
Neustes Thema: Numberformatexception bei Int
Neustes Thema: Eclipse Plugin
Neustes Thema: Buckminster hilfe
Neustes Thema: Liste von empfohlenen B�chern
Neustes Thema: MAVEN + CDI + JSF + TomEE
Neustes Thema: [JSF] Zugriff auf Bean (Eclispe,JBoss)
Neustes Thema: org.jboss.weld.exceptions.UnproxyableRes...
Neustes Thema: Criteria API length()
Neustes Thema: JAX-WS Parameter &quot;USER&quot; immer...
Neustes Thema: JBoss 7.1.1 st�rzt ab
Neustes Thema: Scala Schulung - Gratis vom...
Neustes Thema: Kritische Sicherheitsl�cke in Java 7
Neustes Thema: Hallo wir suchen Java Programierer f�r...
Neustes Thema: MVC noch Zeitgem�� oder anderes...
Neustes Thema: Steigung einer Parabel
Neustes Thema: Blog zu Datum und Zeit in Java
Neustes Thema: Nicht jeder kann ein Programmierer...
Neustes Thema: Toshiba PA3191U-1BRS Akku problem?
Neustes Thema: Einlesen von CSV Dateien
Neustes Thema: Javascript Maus Funktion

Post requests sind natürlich etwas schwieriger. Dafür benötigst du auch
Code:
.openConnection().getOutputStream()
:)
 

MiMa

Top Contributor
nimm die amazon ws api!! https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html
das key, id, tag zeugs bekommst du auf der amazon ws homepage...
fertig...

Ist es das "AWS SDK for Java" ?
Darin konnte ich zwei Bibliotheken finden.
1. aws-java-sdk-1.3.20.jar
2. aws-java-sdk-flow-build-tools-1.3.20.jar


diese imports konnten noch nicht gefunden werden.

Java:
import com.ECS.client.jax.Item;
import com.ECS.client.jax.ItemAttributes;
import com.ECS.client.jax.ItemLookupResponse;
import com.ECS.client.jax.Items;

Mi
 

MiMa

Top Contributor
So, ich habe nun die Bibliothek amazon-ecs.jar gefunden, importiert und nun klappen die o.a. Importe.
Kaum hatte ich die Bibliothek eingebunden kam wiede rein Problem mit dem import von.
Java:
import com.amazonaws.services.simpledb.model.Item;
com.ECS.client.jax.item is already defined in a single-type import
unused import

Wenn ich das auskommentiere, gibt es keine Compilerfehler.
Wenn ich das programm aber ausführe, erhalte ich folgende Meldungen

Code:
Exception in thread "main" javax.xml.bind.UnmarshalException
 - with linked exception:
[java.io.IOException: Server returned HTTP response code: 403 for URL: http://ecs.amazonaws.de/onca/xml?AWSAccessKeyId=deine%20id&AssociateTag=dein%20tag...&IdType=ISBN&ItemId=3897214482&Operation=ItemLookup&ResponseGroup=Medium&SearchIndex=Books&Service=AWSECommerceService&Timestamp=2012-09-19T05%3A35%3A07Z&Version=2011-08-01&Signature=MY4lByHR8PS114ceK5I8YXj%2Fwq9york2i1VxqXGB2OI%3D]
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:205)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:174)
	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:162)
	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:171)
	at testprogramme.AmazonTest.execute(AmazonTest.java:81)
	at testprogramme.AmazonTest.findBook(AmazonTest.java:61)
	at testprogramme.AmazonTest.main(AmazonTest.java:28)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://ecs.amazonaws.de/onca/xml?AWSAccessKeyId=deine%20id&AssociateTag=dein%20tag...&IdType=ISBN&ItemId=3897214482&Operation=ItemLookup&ResponseGroup=Medium&SearchIndex=Books&Service=AWSECommerceService&Timestamp=2012-09-19T05%3A35%3A07Z&Version=2011-08-01&Signature=MY4lByHR8PS114ceK5I8YXj%2Fwq9york2i1VxqXGB2OI%3D
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1615)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:630)
	at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:189)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:799)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:202)
	... 7 more

Ich habe folgende Bibliotheken hinzugefügt:
amazon-ecs.jar
was-java-sdk-1.3.20.jar

Klasse
SignedRequestHelper.java

Aufgefallen ist mir auch noch die Zeilen:

Java:
private static final String AWS_ACCESS_KEY_ID = "deine id";
private static final String AWS_SECRET_KEY = " dein key";
private static final String ASSOCIATE_TAG = "dein tag...";

Was muss ich denn da eingeben?
Benötige ich eine ID, was ist das denn für eine ID, sowie key (Passwort?)
und Tags ?

Danke

Mi
 

ARadauer

Top Contributor
mhn...

@hüteüberhüte: Ist die Frage ob man sich die Daten von einer Website ziehen will die sich jederzeit ändert oder ob man die angebotene Schnittstelle verwenden will

ich glaub diese jars brauchst du gar nicht....

die objekte die dir fehlen musst du generieren... hab ich schon geschrieben...
ok also mit jaxb aus dieser wsdl die objekte erzeugen...
http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl
ich mach das mit dem jaxws-maven-plugin, aber auf der jaxb homepage ist sicher beschrieben wie das auf der konsole geht..

aber die exception schaut schon ganz gut aus.. Server returned HTTP response code: 403 for URL:

Aufgefallen ist mir auch noch die Zeilen:
ähm ja... hast du meinen beitrag gelesen?
das key, id, tag zeugs bekommst du auf der amazon ws homepage...
https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html da rechts oben sign up usw...
 

MiMa

Top Contributor
Ja hatte ich schon gelesen, hatte gedacht das wären Bibliotheken, weil die import Anweisungen Fehler meldeten. Nach der Einbindung der Bibliotheken waren die Fehlermeldungen weg.

Entstehen da Kosten, wenn man auf die Datenbank zugreifen will?

Danke

Mi
 

MiMa

Top Contributor
Puh, das ist ja wirklich nicht so einfach.
Ich habe mich jetzt registriert und nach etwas suchen habe ich auch den Zugriffsschlüssel gefunden, den ich dann bei "AWS_SECRET_KEY" angeben muss?

Was muss ich denn bei "AWS_ACCESS_KEY_ID" angeben?, die registirierte email?
Was ist mir "ASSOCIATE_TAG" was kommt den da rein?

Mi
 

MiMa

Top Contributor
Ok,

also den Secret Key habe ich mittlerweile auch gefunden.
Bei "AWS_ACCESS_KEY_ID" muss ich bestimmt die AWS-Konto-ID angeben welche zwei Bindestriche enthält.

Bleibt nur noch "ASSOCIATE_TAG" offen?

Danke

Mi
 

MiMa

Top Contributor
Ja danke, aber es klappt immer noch nicht.

Ich habe AWS_ACCESS_KEY_ID mal mit der AWS-Konto-ID probiert, dann mal mit der Zugriffsschlüssel-ID, mit der emailadresse und zuletzt mit der Kanonischen Benutzer ID.

AWS_Secret_Key ist der der Geheime Zugriffsschlüssel und den
ASSOCIATE_TAG habe ich mal Deinen genommen.

Da kommt ein Ellen langer Einzeiler und beginnt mit
Code:
AWSAccessKeyId=............... ,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleYears>

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:647
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:243)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:238)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:105)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1048)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:483)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:465)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:135)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:506)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:376)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:602)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3063)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:881)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:202)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:174)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:162)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:171)
at testprogramme.AmazonTest.execute(AmazonTest.java:85)
at testprogramme.AmazonTest.findBook(AmazonTest.java:63)
at testprogramme.AmazonTest.main(AmazonTest.java:25)

???:L

Mi
 

ARadauer

Top Contributor
was kommt wenn die url die ganz unten von System.out.println("URL = " + url); ausgegeben wird, in den browser eingibst?

Also entweder hast du beim generieren der Klassen JAXB was falsch gemacht oder die Antwort vom Server passt nicht...
 

MiMa

Top Contributor
Da kommt

Code:
URL     = http://ecs.amazonaws.de/onca/xml?AWSAccessKeyId=.......

JAX Klassen generieren ???

Ich habe die beiden Bibliotheken zugefügt, (aws-java-sdk-1.3.20.jar, amazon-ecs.jar und den SignedRequestsHelper.java wie im Post erzeugt und alle compilerfehler durch importe behoben.

Mi
 

ARadauer

Top Contributor
was sagt der browser wenn du dort die url eingibst?

ja vielleicht stimmen die klassen aus der ecs.jar nicht mit der aktuellen schnittstelle überein...

Also schau mal was da über diese url zurück kommt...

hab auch nie geschrieben, dass du diese jar einbinden sollst (ich kenn die gar nicht)... vielleicht ist es besser, wenn du dir die klassen neu mit JAXB aus der wsdl generierst (wobei ich nicht genau weiß wie das am einfachsten geht).... nur not schick ich dir die klassen am abend..

aber schau mal was vom server zurück kommt, das ist ein rest aufruf, das heißt du kannst das in deinen browser eingeben...
 

ARadauer

Top Contributor
zb hier http://javathreads.de/2010/04/mit-jaxb-einfach-von-xml-daten-zu-java-objekten/

"Java Klassen mit JAXB Annotationen aus XML Schema generieren" die WSDL Datei beschreibt Plattformunanhängig die Schittstellle des Services... der liefert dann XML zurück, und mit dem xjc befehlt von jaxb kann man sich aus der WSDL (Beschreibung der Schnittstelle) Objekte generieren, und jaxb kann dann aus dem XML Java Objekte machen..

wenns gut klappt muss man mit dem ganzen xml gedöns nicht arbeiten. WSDL -> Klassen, mit JAXB XML zu Objekten...
 

MiMa

Top Contributor
Ich habe mir das mal angeschaut und muss ehrlich sagen, das ich von XML und dem ganzen keine Ahnung habe.

Ich habe die Bibliotheken wieder entfernt und die fehlenden Importmeldungen sind wieder da.
Leuchtet mir auch ein, denn die Jax Bibliothek oder Klassen fehlen ja.

Als ich die Seite "Mit JAXB einfach von XML Daten zu Java Objekten" auf gemacht habe, dachte ich gleich, och ne, musst das jetzt auch noch lernen!?! ;(
Aber nicht heute.

Desweiteren habe ich mal überlegt, wenn ich mein Programm weiter geben möchte, dann funktioniert das nicht ohne MEINE Amazon Zugangsdaten.

Wäre eine super Lösung, wenn man nicht einen Account, IDs, Keys und den ganzen kram bräuchte.

Ich glaub da muss ein anderer Lösungsansatz gefunden werden. :(

Mi
 

MiMa

Top Contributor
Habe noch mal den Ansatz genommen aus den Webseiten informationen zu gewinnen.


Sieht nicht so aus, als ob Amazon da einheitliche Muster hat aber ich habe das mal im Browser eingegeben und heraus ist folgendes Muster gekommen.

Code:
http://www.amazon.de/Algorithmen-kompakt-verständlich-Lösungsstrategien-Computer/dp/3834805696

Nochmal scharf nachdenken.
Den Verlag habe ich durch die ISBN, aber kann das nicht zuordnen, weil das Datenbankstück nicht verfügbar ist.

Eine Lösung wäre eine eigene Datenbank auf zu bauen und Verlage zu addieren durch manuelle Eingaben. :noe:

Eine weitere Lösung wäre den Verlag aus den Inhalt zu extrahieren. Ist dann nur die Frage woran erkenne ich einen Verlag? Da bräuchte ich ebenfalls eine Gegenstück, das sagt, Springer ist eine Verlag. Also da wäre es ebenfalls eine Datenbank als Gegenstück nötig?

Wenn ich den Verlag nicht über die ISBN ermittle, kann es vorkommen, das ich im Inhalt Springer und Pearson und oder Vieweg ermittle und dann? Wäre wieder die identifikation über die ISBN sicherer.

Ich glaube der beste Lösungsansatz wäre über die dnb.de (Deutsche Nationalbibliothek)zu gehen.

https://portal.dnb.de/opac.htm;jses...4?query=978-3-8348-0569-0&method=simpleSearch

Ich werde mir mal den HTML Quellcode ansehen, dort ist bestimmt der Text Strukturiert, den man dann über HTML parsen kann.

Mi
 

MiMa

Top Contributor
nimm die amazon ws api!! https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html

ok für einen anfänger ist das nicht sehr einfach.

ok also mit jaxb aus dieser wsdl die objekte erzeugen...
http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl
ich mach das mit dem jaxws-maven-plugin, aber auf der jaxb homepage ist sicher beschrieben wie das auf der konsole geht..

Ich habe mir das noch mal verinnerlicht und ärgere mich, das ich es nicht hin bekomme.

Mir ist aufgefallen, das ich diese .wsdl vergessen habe.
Ich habe keine Ahnung von Maven und weiss nicht wie ich die Konvertieren soll?

Mi
 

ARadauer

Top Contributor
ich weiß, darum hab ich auch das hier geschreiben... hier (ungefähr in der mitte des artikels) sollte erklärt werden wie du aus der wsdl Java Objekte erzeugen kannst. (ohne maven)

zb hier http://javathreads.de/2010/04/mit-jaxb-einfach-von-xml-daten-zu-java-objekten/

"Java Klassen mit JAXB Annotationen aus XML Schema generieren" die WSDL Datei beschreibt Plattformunanhängig die Schittstellle des Services... der liefert dann XML zurück, und mit dem xjc befehlt von jaxb kann man sich aus der WSDL (Beschreibung der Schnittstelle) Objekte generieren, und jaxb kann dann aus dem XML Java Objekte machen..

wenns gut klappt muss man mit dem ganzen xml gedöns nicht arbeiten. WSDL -> Klassen, mit JAXB XML zu Objekten...

Ich versteh dich ja... das ist nicht einfach, überhaupt wenn einem die ganzen begriffe fremd sind.
Aber nimm dir Zeit und ließ dir die einzelnen themen in ruhe durch, im Grunde ist es simpel. Url erzeugen, die kannst du dann auch im browser eingeben, da sollte ein xml zurück kommen. (Nach dem hab ich schon gefragt, du postest es aber nicht)
Damit du das XML nicht von hand verarbeiten musst kannst du mit jaxb das xml in objekte umwandeln. damit es diese objekte gibt und jaxb weiß wie das mit dem xml zusammen passt, muss irgenwer die definiert haben... das steht im wsdl (schnittstellen beschreibung)

Wenn du sowas machen willst, musst du dich einfach mit den themen kurz beschäftigen... hilft nicht.. wobei du musst das ja gar nicht machen...
 

MiMa

Top Contributor
Habe den ganzen Tag damit verbracht die Klassen aus der .wsdl Datei zu generieren.
Mittlerweile Frage ich mich, ob eine es nicht einfacher gewesen wäre in Maven ein zu steigen und das von dort zu machen?

Ich kenne Maven nicht und weiss auch nicht wie komplex es ist, aber ich habe schon öfters bei Lucene und Tika gelesen, das es Maven Pakete gibt und in Netbeans gibt es auch etwas zu Maven.

Aber nur nicht abschweifen, sonst komme ich nie zum Ziel.

Heute habe ich es sogar geschafft trang im Terminal laufen zu lassen, aber probiere immer noch mit den Parametern herum.

Morgen schaue ich noch mal im nach Netz ob ich noch etwas finden kann, was ich noch nicht gelesen habe. :lol:

Mi
 

MiMa

Top Contributor
... wenn du dir die klassen neu mit JAXB aus der wsdl generierst (wobei ich nicht genau weiß wie das am einfachsten geht).... nur not schick ich dir die klassen am abend..

Es wäre super, wenn Du mir die Bibliotheken zusenden könntest, damit ich mit Java weiter komme.

Ich habe gesehen, das der Datenaustausch mit den Datenbanken, egal von wem, immer mit XML zusammenarbeitet. Also wird das auch in Zukunft ein Thema für mich sein.

Deshalb werde ich Grundeinstellungen für Java und DNB einfliessen lassen und diese nutzen.
Auch bei DNB werden die Ergebnisse in XML bereitgestellt.

Um nicht immer so viel Zeit im Internet zu verlieren, meist auch von der Suche abdriftet, habe ich mir in der Unibibliothek das zurücklegen lassen, welches ich mir heute Abend abholen werde.

JAXB 2.0: Ein Programmiertutorial für die Java Architecture for XML Binding: Amazon.de: Samuel Michaelis,Wolfgang Schmiesing: Bücher

Vielen Dank

Mi
 
Zuletzt bearbeitet:

MiMa

Top Contributor
So ich habe jetzt noch mal Schritt für Schritt gemacht und mit Netbeans das Projekt "AmazonWebService" gemacht.

Ich habe zuerst wie im Post die Jax Klassen hergestellt.
Jetzt weiss ich endlich wie das geht.

Dann die Hilfsklasse integriert und die AmazonTest Klasse.

Es trat dann noch ein Importfehler von Org.apache.commons.codec.binary.Base64.
Ich habe daraufhin von der Apache Seite die commons-codec-1.7-bin geladen und
als Jar Bibliothek hinzugefügt und gut war es.

Der einzige übrig gebliebene Fehler sind die importe von com.ECS....
Ich habe dann die Bibliothek von amazon-ecs.jar hinzugefügt und keine Compiler Fehler mehr.

Dann meine Zugangdaten eingetragen und war gespannt.

ich erhalte dann folgende Meldungen im Output:

Code:
ant -f /Users/michael/NetBeansProjects/AmazonWebService -Djavac.includes=com/AmazonTest.java -Drun.class=com.AmazonTest run-single
init:
Deleting: /Users/michael/NetBeansProjects/AmazonWebService/build/built-jar.properties
deps-jar:
Updating property file: /Users/michael/NetBeansProjects/AmazonWebService/build/built-jar.properties
xjc-typedef-target:
jaxb-code-generation:
files are up to date
Compiling 1 source file to /Users/michael/NetBeansProjects/AmazonWebService/build/classes
compile-single:
run-single:
URL     = http://ecs.amazonaws.de/onca/xml?AWSAccessKeyId="Hier war der Access Key" &AssociateTag=&IdType=ISBN&ItemId=3897214482&Operation=ItemLookup&ResponseGroup=Medium&SearchIndex=Books&Service=AWSECommerceService&Timestamp=2012-09-21T06%3A27%3A04Z&Version=2011-08-01&Signature=BRHefgBazA3%2BvRrpmz20J63SYj7aoy7vs1yamF1da8g%3D
Exception in thread "main" javax.xml.bind.UnmarshalException: unexpected element (uri:"http://webservices.amazon.com/AWSECommerceService/2011-08-01", local:"ItemLookupResponse"). Expected elements are <{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Accessories>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Arguments>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}AudienceRating>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Bin>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}BrowseNode>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}BrowseNodeLookup>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}BrowseNodeLookupResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}BrowseNodes>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Cart>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CartAdd>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CartAddResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CartClear>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CartClearResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CartCreate>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CartCreateResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CartGet>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CartGetResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CartItems>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CartModify>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CartModifyResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Collections>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Condition>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CorrectedQuery>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Customer>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CustomerContentLookup>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CustomerContentLookupResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CustomerContentSearch>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CustomerContentSearchResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}CustomerReviews>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Customers>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}DeliveryMethod>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}EditorialReview>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}EditorialReviews>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Errors>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Fitment>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}FitmentAttributes>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Fitments>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Guide>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}HTTPHeaders>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Help>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}HelpResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ImageSet>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Information>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Item>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ItemAttributes>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ItemLink>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ItemLinks>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ItemLookup>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ItemLookupResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ItemSearch>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ItemSearchResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Items>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}List>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ListItem>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ListLookup>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ListLookupResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ListSearch>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ListSearchResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ListmaniaLists>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Lists>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}LoyaltyPoints>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Merchant>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}MerchantItemAttributes>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}MissingVehicleAttributes>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}MultiOperation>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}MultiOperationResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}NewReleases>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Offer>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}OfferAttributes>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}OfferListing>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}OfferSummary>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Offers>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}OperationInformation>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}OperationRequest>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}OtherCategoriesSimilarProducts>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Part>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}PartBrandBins>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}PartBrowseNodeBins>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Promotion>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Promotions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Property>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}RelatedItem>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}RelatedItems>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Request>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ResponseGroupInformation>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Review>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Reviewer>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SavedForLaterItems>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SearchBinSet>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SearchBinSets>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SearchInside>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SearchResultsMap>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Seller>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SellerFeedback>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SellerListing>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SellerListingLookup>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SellerListingLookupResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SellerListingSearch>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SellerListingSearchResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SellerListings>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SellerLookup>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SellerLookupResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Sellers>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SimilarProducts>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SimilarViewedProducts>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SimilarityLookup>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}SimilarityLookupResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Tag>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}TagLookup>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}TagLookupResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}TaggedGuides>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}TaggedItems>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}TaggedListmaniaLists>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Tags>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}TopItemSet>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}TopSellers>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Tracks>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Transaction>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}TransactionItem>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}TransactionLookup>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}TransactionLookupResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Transactions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}UniversalListItem>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VariationAttribute>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VariationDimensions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VariationSummary>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}Variations>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleBed>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleBedOptions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleBodyStyle>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleBodyStyleOptions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleBrakes>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleBrakesOptions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleDriveType>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleDriveTypeOptions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleEngine>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleEngineOptions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleMake>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleMakes>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleMfrBodyCode>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleMfrBodyCodeOptions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleModel>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleModels>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleOptions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehiclePartFit>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehiclePartLookup>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehiclePartLookupResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehiclePartSearch>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehiclePartSearchResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleParts>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleSearch>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleSearchResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleSpringTypes>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleSpringTypesOptions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleSteering>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleSteeringOptions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleTransmission>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleTransmissionOptions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleTrim>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleTrims>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleWheelbase>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleWheelbaseOptions>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleYear>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}VehicleYears>
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:647)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:243)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:238)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:105)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1048)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:483)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:465)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:135)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:506)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:376)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:602)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3063)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:881)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:202)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:174)
	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:172)
	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:177)
	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:186)
	at com.AmazonTest.execute(AmazonTest.java:81)
	at com.AmazonTest.findBook(AmazonTest.java:61)
	at com.AmazonTest.main(AmazonTest.java:23)
Java Result: 1
BUILD SUCCESSFUL (total time: 6 seconds)

Wenn ich die amazon-ecs.jar wieder entferne, kommen die import fehler wieder.
Sag doch mal, welche Bibliothek du sonst dafür verwendest?

Mi
 
Zuletzt bearbeitet:

MiMa

Top Contributor
Habe in den Browser folgendes Eingegeben

Code:
http://ecs.amazonaws.de/onca/xml?

Und habe zurückerhalten

Code:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Errors>
<Error>
<Code>AWS.MissingServiceParameter</Code>
<Message>
Your request is missing the Service parameter. Please add the Service parameter to your request and retry.
</Message>
</Error>
</Errors>

Ich hoffe, das war richtig so?

Danke
Mi
 
Zuletzt bearbeitet:

ARadauer

Top Contributor
Ich hoffe, das war richtig so?
Mi

Nein.... mhn...

ok, trinke ein glas wasser und einen espresso... dann nochmal nach denken.

Was macht das Programm genau?
1. Es stellt einen Url zusammen anhand der Amazon ein Suchergebnis in Maschinen lesbarer Form zurück gbit
2. Es schickt dir Url an amazon
3. Es bekommt ein XML zurück
4. Es wandelt mit JAXB dieses XML in Objekte um
5. Es gibt den Inhalt der Objekte aus.

So du hast einen Fehler bei Punkt 4. Jetzt wäre es Interessant zu wissen, was Amazon zurück geschickt hat. Ich frage zum 4. mal was das ist.

Also die Url aus Punkt 1 in Browser eingeben. Woher bekommst du die? Zeile 75 von dem Programm das ich gepostet habe System.out.println("URL = " + url);... da wird sie ausgegeben...
Browser zeigt XML an ... xml hier posten.


http://ecs.amazonaws.de/onca/xml? ??? was soll amazon damit machen? Sie wissen ja gar nicht welchen Service du aurufen willst..
Your request is missing the Service parameter. Please add the Service parameter to your request and retry.
relativ klar oder? :autsch:

Also ich denke, dass diese ganze Sache eigentlich ganz einfach ist....
url an amazon senden, ergbnis auswerten...
 

MiMa

Top Contributor
So ich hoffe, das war jetzt richtig.

sieht jetzt auch wie ein XML aus.

[XML]
<ItemLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2011-08-01">
<OperationRequest>
<HTTPHeaders>
<Header Name="UserAgent" Value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.25 (KHTML, like Gecko) Version/6.0 Safari/536.25"/>
</HTTPHeaders>
<RequestId>1afa63f4-ce68-48a6-8c2c-0ad0cdb67618</RequestId>
<Arguments>
<Argument Name="Operation" Value="ItemLookup"/>
<Argument Name="Service" Value="AWSECommerceService"/>
<Argument Name="AssociateTag" Value="aradauersig-21"/>
<Argument Name="Version" Value="2011-08-01"/>
<Argument Name="SearchIndex" Value="Books"/>
<Argument Name="Signature" Value="WP45P1SAdhn15NZpwlQY6P8oWnSN5O+uXLLHv3qTBYE="/>
<Argument Name="ItemId" Value="3897214482"/>
<Argument Name="IdType" Value="ISBN"/>
<Argument Name="AWSAccessKeyId" Value="AWS_ACCESS_KEY_ID"/>
<Argument Name="Timestamp" Value="2012-09-21T07:29:31Z"/>
<Argument Name="ResponseGroup" Value="Medium"/>
</Arguments>
<RequestProcessingTime>0.0145370000000000</RequestProcessingTime>
</OperationRequest>
<Items>
<Request>
<IsValid>True</IsValid>
<ItemLookupRequest>
<IdType>ISBN</IdType>
<ItemId>3897214482</ItemId>
<ResponseGroup>Medium</ResponseGroup>
<SearchIndex>Books</SearchIndex>
<VariationPage>All</VariationPage>
</ItemLookupRequest>
</Request>
<Item>
<ASIN>3897214482</ASIN>
<DetailPageURL>
Java von Kopf bis Fuß: Amazon.de: Kathy Sierra,Bert Bates,Lars Schulten,Elke Buchholz: Bücher
</DetailPageURL>
<ItemLinks>
<ItemLink>
<Description>Add To Wishlist</Description>
<URL>
http://www.amazon.de/gp/registry/wi...p=2025&creative=12738&creativeASIN=3897214482
</URL>
</ItemLink>
<ItemLink>
<Description>Tell A Friend</Description>
<URL>
http://www.amazon.de/gp/pdp/taf/389...p=2025&creative=12738&creativeASIN=3897214482
</URL>
</ItemLink>
<ItemLink>
<Description>All Customer Reviews</Description>
<URL>
http://www.amazon.de/review/product...p=2025&creative=12738&creativeASIN=3897214482
</URL>
</ItemLink>
<ItemLink>
<Description>All Offers</Description>
<URL>
http://www.amazon.de/gp/offer-listi...p=2025&creative=12738&creativeASIN=3897214482
</URL>
</ItemLink>
</ItemLinks>
<SalesRank>11530</SalesRank>
<SmallImage>
<URL>
http://ecx.images-amazon.com/images/I/51v-C6zXpGL._SL75_.jpg
</URL>
<Height Units="pixels">75</Height>
<Width Units="pixels">64</Width>
</SmallImage>
<MediumImage>
<URL>
http://ecx.images-amazon.com/images/I/51v-C6zXpGL._SL160_.jpg
</URL>
<Height Units="pixels">160</Height>
<Width Units="pixels">138</Width>
</MediumImage>
<LargeImage>
<URL>
http://ecx.images-amazon.com/images/I/51v-C6zXpGL.jpg
</URL>
<Height Units="pixels">500</Height>
<Width Units="pixels">430</Width>
</LargeImage>
<ImageSets>
<ImageSet Category="primary">
<SwatchImage>
<URL>
http://ecx.images-amazon.com/images/I/51v-C6zXpGL._SL30_.jpg
</URL>
<Height Units="pixels">30</Height>
<Width Units="pixels">26</Width>
</SwatchImage>
<SmallImage>
<URL>
http://ecx.images-amazon.com/images/I/51v-C6zXpGL._SL75_.jpg
</URL>
<Height Units="pixels">75</Height>
<Width Units="pixels">64</Width>
</SmallImage>
<ThumbnailImage>
<URL>
http://ecx.images-amazon.com/images/I/51v-C6zXpGL._SL75_.jpg
</URL>
<Height Units="pixels">75</Height>
<Width Units="pixels">64</Width>
</ThumbnailImage>
<TinyImage>
<URL>
http://ecx.images-amazon.com/images/I/51v-C6zXpGL._SL110_.jpg
</URL>
<Height Units="pixels">110</Height>
<Width Units="pixels">95</Width>
</TinyImage>
<MediumImage>
<URL>
http://ecx.images-amazon.com/images/I/51v-C6zXpGL._SL160_.jpg
</URL>
<Height Units="pixels">160</Height>
<Width Units="pixels">138</Width>
</MediumImage>
<LargeImage>
<URL>
http://ecx.images-amazon.com/images/I/51v-C6zXpGL.jpg
</URL>
<Height Units="pixels">500</Height>
<Width Units="pixels">430</Width>
</LargeImage>
</ImageSet>
</ImageSets>
<ItemAttributes>
<Author>Kathy Sierra</Author>
<Author>Bert Bates</Author>
<Binding>Broschiert</Binding>
<Creator Role="Übersetzer">Lars Schulten</Creator>
<Creator Role="Übersetzer">Elke Buchholz</Creator>
<EAN>9783897214484</EAN>
<EANList>
<EANListElement>9783897214484</EANListElement>
</EANList>
<Edition>1</Edition>
<ISBN>3897214482</ISBN>
<IsEligibleForTradeIn>1</IsEligibleForTradeIn>
<Label>O'Reilly</Label>
<Languages>
<Language>
<Name>Deutsch</Name>
<Type>Unbekannt</Type>
</Language>
<Language>
<Name>Deutsch</Name>
<Type>Original</Type>
</Language>
<Language>
<Name>Deutsch</Name>
<Type>Published</Type>
</Language>
</Languages>
<ListPrice>
<Amount>4990</Amount>
<CurrencyCode>EUR</CurrencyCode>
<FormattedPrice>EUR 49,90</FormattedPrice>
</ListPrice>
<Manufacturer>O'Reilly</Manufacturer>
<NumberOfPages>720</NumberOfPages>
<PackageDimensions>
<Height Units="hundredths-inches">165</Height>
<Length Units="hundredths-inches">921</Length>
<Weight Units="hundredths-pounds">313</Weight>
<Width Units="hundredths-inches">795</Width>
</PackageDimensions>
<ProductGroup>Book</ProductGroup>
<ProductTypeName>ABIS_BOOK</ProductTypeName>
<PublicationDate>2006-05-28</PublicationDate>
<Publisher>O'Reilly</Publisher>
<SKU>9783897214484</SKU>
<Studio>O'Reilly</Studio>
<Title>Java von Kopf bis Fuß</Title>
<TradeInValue>
<Amount>1960</Amount>
<CurrencyCode>EUR</CurrencyCode>
<FormattedPrice>EUR 19,60</FormattedPrice>
</TradeInValue>
</ItemAttributes>
<OfferSummary>
<LowestNewPrice>
<Amount>4500</Amount>
<CurrencyCode>EUR</CurrencyCode>
<FormattedPrice>EUR 45,00</FormattedPrice>
</LowestNewPrice>
<LowestUsedPrice>
<Amount>4181</Amount>
<CurrencyCode>EUR</CurrencyCode>
<FormattedPrice>EUR 41,81</FormattedPrice>
</LowestUsedPrice>
<TotalNew>88</TotalNew>
<TotalUsed>8</TotalUsed>
<TotalCollectible>0</TotalCollectible>
<TotalRefurbished>0</TotalRefurbished>
</OfferSummary>
</Item>
</Items>
</ItemLookupResponse>
[/XML]


Habe meine Zugriffs-ID in AWS_ACCESS_KEY_ID für das Forum ersetzt.

Mi
 

ARadauer

Top Contributor
ok... sehr gut schaut das aus... das sollte passen... warum kann er es nicht parsen... mhn

ok... da haben wir das problem...
Exception in thread "main" javax.xml.bind.UnmarshalException: unexpected element (uri:"http://webservices.amazon.com/AWSECommerceService/2011-08-01", local:"ItemLookupResponse").

Expected elements are <{http://webservices.amazon.com/AWSECommerceService/2010-11-01} blabla blabalb

blabal balab
Accessorieshttp://webservices.amazon.com/AWSECommerceService/<b>2010-11-01</b>}ItemLookupResponse>,<{http://webservices.amazon.com/AWSECommerceService/2010-11-01}ItemSearch

moment...
 

MiMa

Top Contributor
Bei den Generated Sources (jaxb) hat ger folgendes Package erzeugt
Code:
com.amazon.webservices.awsecommerceservice._2011_08_01

in der ca 80 Klassen enthalten sind

Mi
 

ARadauer

Top Contributor
Also in dem Beitrag von mir
http://www.java-forum.org/java-basi...rmationen-internet-abgleichen.html#post941156

Hab ich auf diese WSDL verlinkt:
http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl
diese liefert bei mir diese Dinge "....targetNamespace="http://webservices.amazon.com/AWSECommerceService/2011-08-01" "...
2011-08-01

Im Code darunter steht auch params.put("Version", "2011-08-01");

Passt also.. verstehe gerade nicht mhn warum kommt da beim Service.. 2010-11-01 zurück...

Zeig mal die url..
 

MiMa

Top Contributor
Die URL ist:

Code:
http://ecs.amazonaws.de/onca/xml?AWSAccessKeyId=ACCESS_KEY&AssociateTag=aradauersig-21&IdType=ISBN&ItemId=3897214482&Operation=ItemLookup&ResponseGroup=Medium&SearchIndex=Books&Service=AWSECommerceService&Timestamp=2012-09-21T08%3A34%3A27Z&Version=2011-08-01&Signature=oeb6bLdftvsVcXU5Xtbm8%2BKQCG4O7cF3QCun6oKazP4%3D

Mi
 

ARadauer

Top Contributor
Version=2011-08-01... stimmt... versteh ich nicht..
ich meld mich am Abend... ich schau mir nochmal genau an, wie das bei mir ist...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Zu Property Feld weitere Informationen hinzufügen? Java Basics - Anfänger-Themen 4
G Methoden Informationen aus zwei Objekte bekommen? Java Basics - Anfänger-Themen 6
P Ressourcen für JSON & API Informationen? Java Basics - Anfänger-Themen 1
C Quelltext mit Formatierungs- und Style-Informationen versehen Java Basics - Anfänger-Themen 7
J Informationen aus Webseiten auslesen Java Basics - Anfänger-Themen 1
GreenTeaYT Wie gebe ich Informationen von einer Klasse zur anderen Klasse? Java Basics - Anfänger-Themen 9
I Informationen aus XML Datei auslesen Java Basics - Anfänger-Themen 2
C Bestimmte Informationen von Webseite suchen Java Basics - Anfänger-Themen 13
B Informationen zu einer URL sammeln? Java Basics - Anfänger-Themen 6
M Informationen von externem Programm bekommen (Firefox) Java Basics - Anfänger-Themen 6
D wie speichere ich die informationen der schüler Java Basics - Anfänger-Themen 29
D System Informationen auslesen Java Basics - Anfänger-Themen 7
S Winamp Informationen mit Java auslesen? Java Basics - Anfänger-Themen 3
D auslesen von informationen aus seitenquelltext Java Basics - Anfänger-Themen 6
2 Informationen zu Theoriethema Java Basics - Anfänger-Themen 3
cowabunga1984 Auslesen von Informationen aus Textdateien Java Basics - Anfänger-Themen 2
M Aus einer Datei (File) mehr Informationen auslesen ? Java Basics - Anfänger-Themen 8
C Java Funktion: externe Daten vom Internet einbinden Java Basics - Anfänger-Themen 2
C Problem: PC ohne Internet und keine Möglichkeit Programme zu laden Java Basics - Anfänger-Themen 5
E java mit Internet Explorer 11 Java Basics - Anfänger-Themen 8
S vom JPanel aus durch Mouselistener Internet aufrufen Java Basics - Anfänger-Themen 6
E mit java-anwendung internet verbindung unterbrechen Java Basics - Anfänger-Themen 5
C File aus dem Internet herunterladen Java Basics - Anfänger-Themen 6
S Textdatei im Internet lesen und editieren Java Basics - Anfänger-Themen 2
F DatagramSocket über das Internet benutzen Java Basics - Anfänger-Themen 14
G Internet-Zugriff // URL posten, Quelltext einlesen Java Basics - Anfänger-Themen 5
E Prüfen, ob ein Bild im Internet vorhanden ist? Java Basics - Anfänger-Themen 11
E Programm - Update via Internet? Java Basics - Anfänger-Themen 5
T Variable aus dem Web Netz Internet URL bestimmen Java Basics - Anfänger-Themen 13
O Java applet im Internet Java Basics - Anfänger-Themen 6
E Exe über das Internet starten? Java Basics - Anfänger-Themen 14
Y chat programm im internet realisieren Java Basics - Anfänger-Themen 5
M Prüfen ob pc im Internet ist Java Basics - Anfänger-Themen 5
Developer_X Sounds abspielen, die im internet sind (.wav) Java Basics - Anfänger-Themen 2
A Java lernen übers Internet Java Basics - Anfänger-Themen 9
G Internet-Javascript-Funktion per Java-Programm aufrufen Java Basics - Anfänger-Themen 6
R Textdatei im Internet verändern... Java Basics - Anfänger-Themen 4
G Video aus dem Internet abspielen Java Basics - Anfänger-Themen 6
D Bild aus Internet laden und in Programm anzeigen Java Basics - Anfänger-Themen 5
Developer_X Mein erster Internet Explorer Java Basics - Anfänger-Themen 14
Developer_X Txt Document laden aus dem Internet Java Basics - Anfänger-Themen 12
V File aus internet Java Basics - Anfänger-Themen 5
S applets im internet ablaufen lassen Java Basics - Anfänger-Themen 6
N Hilfe zur Erstellung einer Internet-Plattform Java Basics - Anfänger-Themen 5
B Dateigröße ermitteln von Datein im Internet Java Basics - Anfänger-Themen 9
G Button mit Internet verknüpfen? Java Basics - Anfänger-Themen 10
D Datenbankanbindung über das Internet Java Basics - Anfänger-Themen 2
G fragen zum Internet Explorer Java Basics - Anfänger-Themen 6
S Bild vom Internet lokal abspeichern Java Basics - Anfänger-Themen 4
J Dateien aus dem internet downloaden ? Java Basics - Anfänger-Themen 16
A Binär-Datei versenden übers Internet Java Basics - Anfänger-Themen 2
W Kurse übers Internet aktualisieren Java Basics - Anfänger-Themen 6
J Datei aus Internet auslesen Java Basics - Anfänger-Themen 3
C Html-Seite aus dem Internet verarbeiten Java Basics - Anfänger-Themen 10
J Wo gibts quellen im Internet von Feiertagen? Java Basics - Anfänger-Themen 6
T Bilddatei aus Internet abspeichern Java Basics - Anfänger-Themen 3
W Verbindungsaufbau zu Datenbank uebers Internet Java Basics - Anfänger-Themen 10
Y Timeserver im Internet, welches Protokoll, wie zugreifen Java Basics - Anfänger-Themen 6
S ArrayList Username und passwort mit JTextField eingaben abgleichen Java Basics - Anfänger-Themen 10
B Serial Key prüfen -> String mit privatem Key und dann abgleichen; Summe = 0 Java Basics - Anfänger-Themen 8
H Namen abgleichen Java Basics - Anfänger-Themen 3
N Datum abgleichen und Frage zum Layout Java Basics - Anfänger-Themen 3
J OOP Vergebene Objekt Nummer abgleichen falls einer entfernt wird ? Java Basics - Anfänger-Themen 5
A Fahrzeug ID in substrings teilen und abgleichen Java Basics - Anfänger-Themen 9
S varible mit array abgleichen Java Basics - Anfänger-Themen 6
J Primzahlen errechnen.ArrayLists abgleichen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben