begin process at 2012 02 12 21:02:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

web services


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

web services

mercredi 26 juillet 2006 à 11:24:39 | web services

mariobotta

bonjour,

Je dois réaliser une connection à une application extérieur à un site web pour afficher le résultat(auteur,référence,pdf,...) sur le site.
L'une des solution serait d'utiliser les web services avec nusoap et le fichier wsdl présent dans le programme extérieur.
Le programme extérieur étant "Référence Manager 11" qui dispose de cette posibilité.

le fichier de connection à un bug à la ligne 50 (for foreach())?
Quelqu'un aurait il une idée sur la marche à suivre ?merci d'avance
<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/research/publications/nuSOAP.php');
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++ CLASSE referenceManager: interfaçage avec Référence Manager  +++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class referenceManager{
 var $client, $database, $sort="ID", $ascending="true", $search=NULL;
 //############ Constructeur ####################################################################################
 function referenceManager(){
  $this->database="PublicationsScientifiques";
  $wsdl=" [ Lien ]";
  $this->client=new soapclient($wsdl,'wsdl');
  $this->client->setCredentials("craweb","craweb","basic");
  $this->client->setHTTPProxy("193.190.115.84", "800", "login","password");
 }
 //############ Destructeur #####################################################################################
 function destroy(){
  $this=NULL;
 }
 //############ SearchAndReturnIDs ##############################################################################
 function SearchAndReturnIDs($search,$searchField="Titles",$sort="primary_title",$ascending="true"){
  $sortArray=array("ID"=>"2",
      "primary_title"=>"3",
      "secondary_title"=>"13",
      "primary_authors"=>"4",
      "secondary_authors"=>"14",
      "date"=>"5");// Ne pas oublier departement= user defined ?!
  $sortID=$sortArray[$sort];
  $database_array=array($this->database);
  $parametres=array("version"=>"1.0",
     "searchExpression"=>"<query><term field='".$searchField."'>".$search."</term></query>",// * pour afficher tout les enregistrements
     "databaseCount"=>"1",
     "sortKey"=>"<recordlist_sort><key id='".$sortID."' ascending='".$ascending."' /></recordlist_sort>",
     "maxRecords"=>"0",
     "databaseArray"=> $database_array);
  $result=$this->client->call('SearchAndReturnIDs',$parametres);
  // PARSING RESULTAT***
  $resultXML=$result['results_list'];
  $GLOBALS['resultArray']=array();
  function fonctionBaliseOuvrante($parseur, $nomBalise,$tableauAttributs){
     foreach($tableauAttributs as $key=> $value){
      if($key=="RECNUM"){
       array_push($GLOBALS['resultArray'],$value);
      }
     }
  }
  function fonctionBaliseFermante($parseur,$nomBalise){
   // Rien
  }
  foreach($resultXML as $resultArray){
   $parseurXML=xml_parser_create();
   xml_set_element_handler($parseurXML,"fonctionBaliseOuvrante","fonctionBaliseFermante");
   xml_parse($parseurXML, $resultArray['!']) or die("Erreur XML");
   xml_parser_free($parseurXML);
  }
  // FIN PARSING RESULTAT***
  return $GLOBALS['resultArray'];
 }
 //############ ReadRecord ##############################################################################
 function ReadRecord($recordID){
  $parametres=array("version"=>"1.0",
     "recordID"=>"<RecordID database='".$this->database."' recNum='".$recordID."' />",
     "database"=>$this->database);
  $resultXML=$this->client->call('ReadRecord',$parametres);
  // PARSING RESULTAT***
  $GLOBALS['resultArray']=array();
  if(!function_exists("fonctionBaliseOuvrante2")){// Pour éviter redéclaration
   function fonctionBaliseOuvrante2($parseur, $nomBalise, $tableauAttributs){
    global $derniereBaliseRencontree;
    if($nomBalise!="STYLE"){$derniereBaliseRencontree=$nomBalise;}
   }
   function fonctionTexte2($parseur, $texte){
    global $derniereBaliseRencontree;
    // En cas de plusieur clé comme AUTHOR, KEYWORD, URL ect...
    if(is_array($GLOBALS['resultArray'][$derniereBaliseRencontree])){
     array_push($GLOBALS['resultArray'][$derniereBaliseRencontree],$texte);
    }
    else if(array_key_exists($derniereBaliseRencontree,$GLOBALS['resultArray'])){
     $firstValue=$GLOBALS['resultArray'][$derniereBaliseRencontree];
     $GLOBALS['resultArray'][$derniereBaliseRencontree]=array($firstValue,$texte);
    }
    else{
     $GLOBALS['resultArray'][$derniereBaliseRencontree]=$texte;
    }
   }
   function fonctionBaliseFermante2($parseur, $nomBalise){
    global $derniereBaliseRencontree;
    $derniereBaliseRencontree ="";
   }
  }
  $parseurXML=xml_parser_create();
  xml_set_element_handler($parseurXML,"fonctionBaliseOuvrante2","fonctionBaliseFermante2");
  xml_set_character_data_handler($parseurXML, "fonctionTexte2");
  xml_parse($parseurXML, $resultXML) or die("Erreur XML");
  xml_parser_free($parseurXML);
  // FIN PARSING RESULTAT***
  return $GLOBALS['resultArray'];
 }
 function GetSearchableFields(){
  $parametres=array("version"=>"1.0");
  return $this->client->call('GetSearchableFields',$parametres);
 }
}
?>


Cette discussion est classée dans : function, xml, array, globals, resultarray


Répondre à ce message

Sujets en rapport avec ce message

Interprétation flux xml [ par mdackhe ] Bonjour,Suite à rapatriement d'un flux XML j'utilise la fontion simplexml_load_string qui me génère le array suivant : object(SimpleXMLElement)#1 (2) Au secours : comment parser un fichier xml et inserer a la volé dans une base mysql [ par deblok83 ] Bonjour,     c'est mon premier post ici alors je me permet de me presenter je suis le webmaster de deblok83.com . j'ai un petit probleme je veux fair Fonction callback et classe, 2! [ par malalam ] Salut, bon finalement, je ne m'en sors toujours pas (voir mon precedent fil). Voici la ligne : $tabtmp = explode("//", file_get_contents($ récursivité et spl [ par bj33 ] salut, Pourquoi cette classe n'est pas récursive? Elle ne renvoie que les premiers sous-dossiers sans entrée dans les autres. Qui peut m'aider? Le co array_push dans case [ par fabienfs ] Bonsoir, Je voudrais faire un array_push dans une case, mais en vain :( Voici mon code : [code=php] $tTitle = array (""); $tArtiste = array (""); XML -> PHP ARRAY [ par lcmartin ] Bonjour,Je voudrais savoir comment faire pour transformer un fichiers XML en tableau PHPExemple :XML : <b XML/XSLT dynamique [ par JoJo738 ] Bonjour à tous ^^ Cela fait un bail que je ne suis pas venu sur le forum :p Alors un petit coucou à tout ceux que je connais ;) Sinon, je suis là po paramètres php [ par math11 ] Bonjour, Je suis actuellement en création d'un site en php4 avec comme base de données un fichier xml, afin d'afficher les résultats en fonction d'un réécriture d'url sur un modèle de site web dynamique array [ par krishna13 ] Bonjour à tous, Le modèle suivant récupère les url de mes pages stockées en array et les présente sous la forme www.monsite.fr/index.php?id_page=1. ( xml/xsl [ par math11 ] Bonjour, Débutant en xml, je suis a la recherche d'un moyen de lire un fichier xml, qui utilise une feuille de style. Sous Firefox, lorsque j'appel


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,059 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales