| 60 | | {{{ |
| 61 | | #!php |
| 62 | | |
| 63 | | // Plik MyService.php umieszczony w apps/edokumenty. |
| 64 | | // MyService.php |
| 65 | | <?php |
| 66 | | // stałe są w confing.inc i są to dane potrzebne do autentykacji usługi |
| 67 | | require_once('./../../framework/lib/util/Translator/Translator.inc'); |
| 68 | | require_once('./config.inc'); |
| 69 | | |
| 70 | | // klient SOAP systemu eDokumenty wysyłający nagłówki WSSecurity zmienić na |
| 71 | | // odpowiednią ścieżkę w zależności od lokalizacji pliku MyService.php |
| 72 | | require_once('./classes/eDokumentyApi/EDokApiClient.inc'); |
| 73 | | |
| 74 | | // wartość {host}:{port} zmienić na odpowiednią dla serwera |
| 75 | | $ops = array( |
| 76 | | 'location' => 'http://{host}:{port}eDokumentyApi.php', |
| 77 | | "uri" => "eDokumentyAPI", |
| 78 | | 'encoding'=>'UTF-8' |
| 79 | | ); |
| 80 | | |
| 81 | | |
| 82 | | // Dodatkowo od wersji 3.3 autentykacja nie wymaga nadpisania klienta Soap. Wystarczy do url z adresem serwisu dodać parametry GET w postaci |
| 83 | | // a1 - login, |
| 84 | | // a2 - hasło, |
| 85 | | // a3 - symbol jednostki |
| 86 | | /* |
| 87 | | $ops = array( |
| 88 | | 'location' => 'http://{host}:{port}eDokumentyApi.php?a1='.EDOK_API_LOGIN.'&a2='.md5(md5(EDOK_API_PASSWORD).'_SOAP_eDok_api').'&a3='.DEFAULT_ENTITY_SYMBOL.'', |
| 89 | | "uri" => "eDokumentyAPI", |
| 90 | | 'encoding'=>'UTF-8' |
| 91 | | ); |
| 92 | | |
| 93 | | // bezpośrednie wywołanie klienta Soap |
| 94 | | $client = new SoapClient(NULL, $ops); |
| 95 | | */ |
| 96 | | $client = new EDokApiClient(null, $ops); |
| 97 | | $client->setUser(EDOK_API_LOGIN); // ten sam co w config.inc |
| 98 | | $client->setPass(md5(EDOK_API_PASSWORD)); // to samo co w config.inc |
| 99 | | |
| 100 | | $header = new SoapHeader('eDokumentyAPI', 'entity_symbol', DEFAULT_ENTITY_SYMBOL); |
| 101 | | $client->__setSoapHeaders($header); |
| 102 | | |
| 103 | | // Tworzy kontakt |
| 104 | | $contid = NULL; |
| 105 | | |
| 106 | | try { |
| 107 | | $data = array( |
| 108 | | 'name_1' => 'SOAP TEST'.date('d H:m:s'), |
| 109 | | 'name_2' => 'SOAPTEST', |
| 110 | | 'nip___' => 1111111111, |
| 111 | | 'street' => 'Główna', |
| 112 | | 'symbol' => 'FGH99' |
| 113 | | ); |
| 114 | | $contid = $client->createContact($data); |
| 115 | | var_dump($contid); |
| 116 | | |
| 117 | | } catch(SoapFault $fault) { |
| 118 | | |
| 119 | | var_dump($fault); |
| 120 | | |
| 121 | | if ($fault->faultcode < 100) { |
| 122 | | trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); |
| 123 | | } |
| 124 | | } |
| 125 | | |
| 126 | | ?> |
| 127 | | }}} |