95 lines
2.9 KiB
PHP
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 integer $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;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|