[RESOLU] Exemple PHP pour la fonction AdvancedSearchcontact ?

Bonjour,

J’ai du mal à utiliser la fonction AdvancedSearchContact via un script PHP.
Si quelqu’un a un bout d’exemple à me proposer cela pourrait m’aider à ne plus me prendre la tête …

Merci d’avance

Je reviens à la charge mais avec un bout de mon script php : L’idée originelle est de rechercher certains contacts pour un utilisateur et d’intégrer des VCF concernant les recherches si on ne les trouve pas. Je veux donc utiliser la fonction AdvancedSearchContact mais celle ci ne me retourne rien (quelque soit le filtre utilisé (Lastname,firstname, …))
Qu’est ce qui ne va pas ?

Voici mon script de test :

class ContactQuery {
	public $archive = false;
	public $fields = null;
	public $gal=false;
	public $includeDeletedUsersFolder=false;
	public $includePublicCollectedFolder=true;
	public $query=null;
	public $suscribedFolderOnly=true;
 }
 
$MyContactQuery=new ContactQuery();
$MyContactQuery->query="firstname:pierre";
 
$serv = new SoapClient('http://MonserveurBluemail.mydomain/soap/proxy?wsdl', array('cache_wsdl' => WSDL_CACHE_NONE));
$login = $serv->login(array('arg0' => 'admin0@global.virt', 'arg1' => '0c55c4bf-13ef-59b3-8ef4-89a53ab9n4e5', 'arg2' => 'import'));
$token = $login->return;
$MyVarLogin='MonUtilisateur';

if($token->sessionId) 
{
	$MyUserLogin = array ('arg0' => $token, 'arg1' => $MyVarLogin.'@mydomain');
	$MyToken=$serv->sudo($MyUserLogin);

	$MyTabTokenUser = 
		"delegationTarget" => $MyToken->return->delegationTarget,
		"domain" => $MyToken->return->domain,
		"domainGlobal" => $MyToken->return->domainGlobal,
		"domainId" => $MyToken->return->domainId,
		"origin" => $MyToken->return->origin,
		"sessionId" => $MyToken->return->sessionId,
		"user" => $MyToken->return->user,
		"userId" => $MyToken->return->userId,
		"version" => $MyToken->return->version,,
	];


	$MyContacts = $serv->advancedSearchContact(array('arg0' => $MyTabTokenUser, 'arg1' => $MyContactQuery));
	var_dump($MyContacts);
}

et pour les logs :

...
[vert.x-worker-thread-15] n.b.c.c.ContactHome INFO - [MonUtilisateur@chpyr.fr] ElasticSearch: 'firstname:pierre'
[vert.x-worker-thread-15] n.b.c.c.AddressBookBindingImpl ERROR - No node available
org.elasticsearch.client.transport.NoNodeAvailableException: No node available
...

C’est OK

Je ne sais pas pourquoi mon précédent test ne fonctionnait pas mais avec les lignes ci dessous cela fonctionne :

$MonEmail="monemail@mondomain";
$MyContactQuery=new ContactQuery();
$MyContactQuery->fields=array('_all');
$MyContactQuery->query="email:".$MonEmail;
					
$MyContacts = $serv->advancedSearchContact(array('arg0' => $MyTabTokenUser, 'arg1' => $MyContactQuery));