acces à un server distant

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : acces à un server distant

Re: acces à un server distant

par moogli » 06 août 2012, 20:03

et dans le var_dump ça me met ça:

Code : Tout sélectionner

array 0 => string 'GetDataResponse GetData(GetData $parameters)' (length=44) 1 => string 'GetDataResponse GetData(GetData $parameters)' (length=44)
mais je demeure bloqué.
cela indique que tu a une méthode GetData avec un paramètre et qu'elle retourne un objet GetDataResponse
si tu fait
<?php
$ret = $client->GetData($siret);
?>
$ret sera un objet standard php qui aura une propriété GetDataResult (donc $ret->GetDataResult devrait te donner l'info qui va bien.
y a des exemples de requêtes ici : https://www.creditsafe.fr/getdata/servi ... op=GetData mais get /post

perso j'ai testé
<?php

// L'adresse du WSDL
$wsdl = "https://www.creditsafe.fr/getdata/service/CSFRServices.asmx?WSDL";

$d="451807044";

// Création du client. SOAP en version 1.2
$client = new SoapClient($wsdl, array('soap_version' => SOAP_1_2));
//var_dump($client->__getFunctions());
//$client->__soapCall("GetData", array($d));
$ret = $client->GetData($d);
xdebug_var_dump($ret);

?>
résultat

Code : Tout sélectionner

object(stdClass)[2] public 'GetDataResult' => string '<xmlresponse> <header> <reportinformation> <time>06/08/2012 18:47:47</time> <reporttype> Error</reporttype> <country>FR</country> <version>1.0</version> <provider>www.creditsafe.fr</provider> <chargereference> </chargereference> </reportinformation> </header> <body> <errors> <errordetail> <code>100</code> <desc> </desc> </errordetail> </errors> </body> </xmlresponse>' (length=369)
donc accès ok, par contre y a des chance que le coup de l'accès "réservé" soit la chose qui me donne cette erreur :)

J'ai utilisé la classe soapClient de php 5.4 http://fr.php.net/manual/fr/soapclient.soapclient.php, dans les paramètres option il est possible d'utiliser une uathentification.

@+

Re: acces à un server distant

par piotrowski-s » 01 août 2012, 11:43

j'ai déjà fais ça:
<?php

// L'adresse du WSDL
$wsdl = "https://www.creditsafe.fr/getdata/service/CSFRServices.asmx?WSDL";

$d="451807044";

// Création du client. SOAP en version 1.2
$client = new SoapClient($wsdl, array('soap_version' => SOAP_1_2));
//var_dump($client->__getFunctions()); 
$client->__soapCall("GetData", array($d));

?>
et dans le var_dump ça me met ça:

Code : Tout sélectionner

array 0 => string 'GetDataResponse GetData(GetData $parameters)' (length=44) 1 => string 'GetDataResponse GetData(GetData $parameters)' (length=44)
mais je demeure bloqué.

Re: acces à un server distant

par piotrowski-s » 01 août 2012, 10:22

bon , après plusieurs dizaines d'heures je reste toujours bloqué,
je sais ce qu'est le WSDL, je sais comment doit être structurer ma requête en xml.

mais je ne sais pas comment la structurer en PHP avec SOAP.

Re: acces à un server distant

par piotrowski-s » 31 juil. 2012, 17:12

bon, bien je vais potasser tout cela, mais c'est pas de la tarte.

Merci pour votre collaboration à tous

Re: acces à un server distant

par xTG » 31 juil. 2012, 17:04

Tu as la fonction __doRequest() qui prend en paramètre une commande XML.
http://fr.php.net/manual/fr/soapclient.dorequest.php

Re: acces à un server distant

par piotrowski-s » 31 juil. 2012, 16:57

oui pour l'instant c'est tout ce que j'ai pu faire:
?php     
    /************************************************************** 
    *  Description: 
    *  Creates a simple SOAP Client (client.php). 
    **************************************************************/ 
        // includes nusoap classes 
        require('lib/nusoap.php'); 

      // tu creer un nouveau client
   $client  = new soapclient('http://creditsafe.fr/getdatainformation/Demonstration.aspx'); 
?>
aprè_s je ne sais pas comment envoyer ma requête.

Re: acces à un server distant

par xTG » 31 juil. 2012, 16:14

Bonjour, merci pour votre retour,
a vrai dire je ne craignais pas de ne pas avoir de réponse mais plutot que ce forum ne soit pas adapté a ma requête/

ici http://vivien-brissat.developpez.com/tu ... /php/soap/ il ne montre pas comment envoyer un message au service en xml.
Les .wsdl sont des fichiers à structure XML dans cet article.

Re: acces à un server distant

par piotrowski-s » 31 juil. 2012, 14:53

Bonjour, merci pour votre retour,
a vrai dire je ne craignais pas de ne pas avoir de réponse mais plutot que ce forum ne soit pas adapté a ma requête/

ici http://vivien-brissat.developpez.com/tu ... /php/soap/ il ne montre pas comment envoyer un message au service en xml.

moi on m'as donné la structure suivante à envoyer.

https://www.creditsafe.fr/getdata/servi ... .asmx?WSDL

Code : Tout sélectionner

<xmlrequest> <header> <username>progerisdemo</username> <password>********</password> <operation>getcompanyinformation</operation> <language>EN</language> <country>FR</country> <chargereference>[Demonstration.aspx]</chargereference> </header> <body> <package>standard</package> <companynumber>451807044</companynumber> </body> </xmlrequest>
du coup je tourne un peu en rond depuis quelques heures.

Re: acces à un server distant

par Ryle » 31 juil. 2012, 14:32

Ou bien qu'entre 12h et 14h, les gens mangent :p

Effectivement, on te demande d'échanger avec le site via des webservices. Pour cela, il faut que tu envois des informations en xml (on est plus sur du GET / POST). Pour comprendre un peu mieux comment cela fonctionne : http://vivien-brissat.developpez.com/tu ... /php/soap/

Re: acces à un server distant

par piotrowski-s » 31 juil. 2012, 14:00

bon peut être que je ne suis pas sur le bon forum je pense.

acces à un server distant

par piotrowski-s » 31 juil. 2012, 11:58

Bonjour à toutes et a tous,

j'ai un acces sur un site d'information de données légales concernant des entreprises.

Je souhaites afficher ces informations sur mon site, afin de les exploiter. On m'a dit d'utiliser xmlrequest mais je ne sais pas comment procéder en fait pour soumettre le numéro siret et pour récupérer les informations

on m'a dis que c'etait un système de type getdata.

on m'a donné un exemple de requête

Code : Tout sélectionner

<xmlrequest> <header> <username>demo</username> <password>********</password> <operation>getcompanyinformation</operation> <language>EN</language> <country>FR</country> <chargereference>[Demonstration.aspx]</chargereference> </header> <body> <package>standard</package> <companynumber>NUMERO SIRET</companynumber> </body> </xmlrequest>
mais je ne sais pas comment l'envoyer et comment recevoir la réponse.

On m'a dis de passer par soap mais les seules informations que j'ai trouvé dessus,

c'est la façon dont les messages xml doivent être structurés.

Si quelqu'un pouvait m'aider a avancer ça m'aiderait vraiment.

Par avance merci.

Je suis sur PHP5.