IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Web Service] Expiration d'une requête simple avec Amazon Web Services


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Points : 38
    Points
    38
    Par défaut [Web Service] Expiration d'une requête simple avec Amazon Web Services
    Bonjour,

    J'essaie d'utiliser l'AWS afin d'effectuer une requête simple : récupérer des informations sur des livres lorsqu'on entre leur ISBN dans un formulaire.

    La requête fonctionne bien, mais au bout de quelques minutes, elle ne fonctionne plus. J'imagine qu'il y a expiration implicite, mais comment le régler ? Je n'ai pas trop compris l'histoire de leur timestamp par exemple.

    Merci par avance pour votre aide !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    	function show_info($title,$price,$author,$publisher,$publicationdate,$EAN) {
    		echo "$title<br>";
    		echo "$price<br>";
    		echo "$author<br>";
    		echo "$publisher<br>";
    		echo "$publicationdate<br>";
    		echo "$EAN<br>";
    	}
     
    	$livre_ID = $_GET['livre_ID'];
     
        $xml_doc = simplexml_load_file("http://ecs.amazonaws.fr/onca/xml?AWSAccessKeyId=AKIAIUQCSWK3YGOG2SCA&ItemId=".$livre_ID."&Operation=ItemLookup&ResponseGroup=Medium%2COffers&Service=AWSECommerceService&Timestamp=2010-10-12T14%3A27%3A27.000Z&Signature=5hq51eMGWB9t0%2FMzFdBlIjZl5EDASNP7Nb3kNJ9c9Fc%3D");
        $title = $xml_doc->Items->Item[0]->ItemAttributes->Title;
    	$price = $xml_doc->Items->Item[0]->Offers->Offer->OfferListing->Price->FormattedPrice;
        $publisher = $xml_doc->Items->Item[0]->ItemAttributes->Publisher;
        $publicationdate = $xml_doc->Items->Item[0]->ItemAttributes->PublicationDate;
        $EAN = $xml_doc->Items->Item[0]->ItemAttributes->EAN;
     
     
        show_info($title,$price,$author,$publisher,$publicationdate,$EAN);
    ?>

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 19
    Points
    19
    Par défaut peut etre que c'est du à la licence d'utilisation du webservices amazon?
    Je pense que ton probleme peut etre causé par amazon.
    il y a en effet des restrictions quand à l'utilisation du webservice,par exemple il me semble que tu ne doit pas répéter la meme requete plusieurs fois dans un intervale de temps donné.
    Désolez je n'est pas plus d'explication.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    comment gère tu ton parametre signature ?

    Il est recommendé de cripter son secrete acces key ?

    J'ai un probleme avec le code ci-dessous (Requete AWS SOAP) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    $action = 'ItemSearch';
    $timestamp = gmdate('Y-m-d\TH:i:s\Z');
    $string = $action . $timestamp;
    $signature = base64_encode(hash_hmac('sha256',$string,$secretKey,TRUE));
     
     
    			$params = array(
    								'AWSAccessKeyId' => 'AKIAJHWJRIV57OXSRXFQ',
    								'AssociateTag' => 'ws',
    								'Action' => $action,
    								'Timestamp' => $timestamp,
    								'Signature' => $signature,
    								'Request' => array(
    														array('SearchIndex' => $searchindex,'Keywords' => $keywords)
    												   )
    							);
     
    $client = new SoapClient($wsdl,array('exceptions' => FALSE,'soap_version' => SOAP_1_1,'trace' => TRUE));
     
    $resultat = $client->ItemSearch($params);
    if(is_soap_fault($resultat))
    			{
    				echo "<br>SOAP fault -> faultcode : " . $resultat->faultcode . " faultstring : " . $resultat->faultstring . "  faultactor : " . $resultat->faultactor . "<br>" ;
    				return FALSE;
    			}
    			else
    			{
    				echo "<br>Requete SOAP correcte.<br>";
    			}
    J'obtient l'erreur suivante :

    SOAP fault -> faultcode : aws:Client.MissingParameter faultstring : The request must contain the parameter Signature. faultactor :

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Points : 38
    Points
    38
    Par défaut
    Finalement c'est bon, j'ai trouvé un script qui résout le problème :
    http://richardcummings.info/the-requ...rest-requests/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/05/2012, 10h07
  2. Problème dans une requête SQL avec AS et ON ?
    Par bds2006 dans le forum Bases de données
    Réponses: 9
    Dernier message: 26/06/2006, 15h25
  3. [MySQL] concaténer une requête sql avec condition
    Par maliak dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 10/02/2006, 12h01
  4. Une requête SQl avec concaténation
    Par Bobybx dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/01/2006, 10h18
  5. Déterminer une requête paramétrée avec LIKE
    Par priest69 dans le forum Access
    Réponses: 4
    Dernier message: 24/10/2005, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo