webservice/library/WsScore/WsEntreprise.php
2010-09-20 15:08:14 +00:00

95 lines
2.9 KiB
PHP

<?php
require_once realpath(dirname(__FILE__)).'/functions.php';
require_once realpath(dirname(__FILE__)).'/Types/Types.php';
class WsEntreprise
{
/**
* Retourne les informations identitaires de l'entreprise ou de l'établissement demandé
* @param string $siret Siren de l'entreprise ou siret de l'établissement
* @param int $id Identifiant interne
* @param boolean $forceVerif
* @return IdentiteReturnType
*/
function getIdentite($siret, $id = 0, $forceVerif = false)
{
//Enregistrement des accès à la requête getIdentite
Zend_Registry::get('WsLogger')->info("getIdentite - ip:".
$_SERVER['REMOTE_ADDR'].", login:".$_SERVER['PHP_AUTH_USER'].
", pass:".$_SERVER['PHP_AUTH_PW']);
//Récupérer les paramètres d'accès au webservice scores
$webservicesConfig = Zend_Registry::get('webservicesConfig')->webservice->scores;
$wsdl = !empty($webservicesConfig->wsdl) ? $webservicesConfig->wsdl : null ;
$options = array();
foreach ($webservicesConfig->options as $optionName => $optionValue){
$options[$optionName] = $optionValue;
}
$options['login'] = $_SERVER['PHP_AUTH_USER'];
$options['password'] = $_SERVER['PHP_AUTH_PW'];
//Connexion aux webservices V1
try {
$client = new SoapClient($wsdl, $options);
$O = $client->getIdentite($siret, $id, $forceVerif);
} catch (SoapFault $fault) {
Zend_Registry::get('WsLogger')->err("getIdentite($siret, $id) - ".serialize($fault));
}
//Gestion du retour
$error = new ErrorType();
$error = array_to_object($O['error']);
$result = new IdentiteResultType();
$result = array_to_object($O['result']);
$outputParams = new IdentiteReturnType();
$outputParams->error = $error;
$outputParams->result = $result;
return $outputParams;
}
/**
* Recherche
* @param RechercheEntrepriseType $criteres
* @return RechercheEntrepriseReturnType
*/
function rechercheEntreprise($criteres)
{
/*
$O = $client->searchNomAdr($raisonSociale, $numVoie.' '.$libVoie,
$cp, $ville, false, false, $position,
$tabInfo['nbReponses'], 200, false, false,
$naf);
*/
$error = new ErrorType();
$error = array_to_object($O['error']);
$result = new RechercheEntrepriseResultType();
$results = array_to_object($O['results']);
$outputParams = new RechercheEntrepriseReturnType();
$outputParams->error = $error;
$outputParams->results = $results;
return $outputParams;
}
/**
* Retourne le status du webservice
* @return StatusResultType
*/
function status()
{
/* @todo tester les différents éléments qui peuvent conduire
* à un problème dans les services tel que la connexion à la
* base de données, l'accès FTP, l'accès HTTP, l'accès système de fichier
*/
$error = new StatusResultTypes();
$error->errCode = 0;
$error->errMsg = 'Services disponible';
return $error;
}
}
?>