Version 3 (modified by MK, 9 years ago) |
---|
Przewodnik wdrożeniowca > Wyszukaj dokument
Wyszukanie dokumentu w bazie
Definicja parametrów:
<?php /** * Szuka dokumentów wg. zadanych kryteriów, i zwraca listę indentyfikatorów znalezionych dokumentów * * @param data Array - Tablica z parametrami w formie klucz => wartość, gdzie klucz to nazwa pola z bazy z tabeli documents * Możliwe jest określenie operatora porównania (=, !=, ~, ~*) pola z podanym tekstem/wartością. Przykład: ['pprosm=' => '2016/AA/0001'] wyszuka dokumenty, których numer jest 2016/AA/0001 wygenerowany na tej podstawie SQL: (pprosm = '2016/AA/0001') * * @return Array - tablica identyfikatorów dokumentów - tablica może być pusta jeśli nie znalazł, SoapFault w razie niepowodzenia * * @throws Exception - SoapFault */ Array searchDocuments(Array data) ?>
Przykłady wywołań:
// Plik MyService.php umieszczony w apps/edokumenty. // MyService.php <?php define('EDOK_API_LOGIN', 'developer'); define('EDOK_API_PASSWORD', 'developer'); define('DEFAULT_ENTITY_SYMBOL', 'demo'); require_once('./classes/eDokumentyApi/EDokApiClient.inc'); $options = array( 'location' => 'http://{host}:{port}/eDokumentyApi.php', "uri" => "eDokumentyAPI", 'encoding'=>'UTF-8' ); $client = new EDokApiClient(NULL, $options); $client->setUser(EDOK_API_LOGIN); $client->setPass(md5(EDOK_API_PASSWORD)); $header = new SoapHeader('eDokumentyAPI', 'entity_symbol', DEFAULT_ENTITY_SYMBOL); $client->__setSoapHeaders($header); $contact = array(); try { // znajdz dokument o numerze SZJ-12, w wyniku zwróć ID oraz opis dokumentu $documents = $client->searchDocuments(['pprosm=' => 'SZJ-12'], 'doc_id,dscrpt'); var_dump($documents); // znajdz dokument w którego opisie znajduje się tekst "pismo" $documents = $client->searchDocuments(['dscrpt' => 'pismo'], 'doc_id,dscrpt'); var_dump($documents); } catch(SoapFault $fault) { var_dump($fault); if ($fault->faultcode < 100) { trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); } } ?>