Zmiany pomiędzy wersją 29 and wersją 30 dla DeployerGuide/Others/eDokumentyApi

Pokaż
Ignoruj:
Data i czas:
02/08/12 13:28:34 (13 years temu)
Autor:
TS (IP: 213.227.67.33)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • DeployerGuide/Others/eDokumentyApi

    v29 v30  
    3737 
    3838Wartość {host} oraz {port} należy zamienić odpowiednimi wartościami zgodnymi z konfiguracją serwera instalacyjnego systemu eDokumenty. 
    39 Usługa jest zabezpieczona rozszerzeniem WSSecurity protokołu SOAP i wymaga 
    40 podania w nagłówkach wywołania XML nazwy użytkownika i hasła. 
     39 
     40Dodatkowo od wersji systemu 3.3 autentykacja nie wymaga nadpisania klienta Soap. Wystarczy do url z adresem serwisu dodać parametry GET w postaci 
     41{{{ 
     42#!php 
     43<?php 
     44// a1 - login,  
     45// a2 - hasło,  
     46// a3 - symbol jednostki 
     47/*  
     48$ops = array( 
     49    'location' => 'http://{host}:{port}eDokumentyApi.php?a1='.EDOK_API_LOGIN.'&a2='.md5(md5(EDOK_API_PASSWORD).'_SOAP_eDok_api').'&a3='.DEFAULT_ENTITY_SYMBOL.'', 
     50    "uri" => "eDokumentyAPI", 
     51    'encoding'=>'UTF-8' 
     52); 
     53?> 
     54}}} 
     55 
     56Przykład wywołania serwisu oraz funkcji dodającej kontrahenta: 
     57 
     58{{{ 
     59#!php 
     60 
     61// Plik MyService.php umieszczony w apps/edokumenty. 
     62// MyService.php 
     63<?php 
     64// stałe są w confing.inc i są to dane potrzebne do autentykacji usługi 
     65require_once('./../../framework/lib/util/Translator/Translator.inc'); 
     66require_once('./config.inc'); 
     67 
     68// klient SOAP systemu eDokumenty wysyłający nagłówki WSSecurity zmienić na  
     69// odpowiednią ścieżkę w zależności od lokalizacji pliku MyService.php 
     70require_once('./classes/eDokumentyApi/EDokApiClient.inc'); 
     71 
     72// wartość {host}:{port} zmienić na odpowiednią dla serwera 
     73$ops = array( 
     74    'location' => 'http://{host}:{port}eDokumentyApi.php', 
     75    "uri" => "eDokumentyAPI", 
     76    'encoding'=>'UTF-8' 
     77); 
     78 
     79 
     80// Dodatkowo od wersji 3.3 autentykacja nie wymaga nadpisania klienta Soap. Wystarczy do url z adresem serwisu dodać parametry GET w postaci 
     81// a1 - login,  
     82// a2 - hasło,  
     83// a3 - symbol jednostki 
     84/*  
     85$ops = array( 
     86    'location' => 'http://{host}:{port}eDokumentyApi.php?a1='.EDOK_API_LOGIN.'&a2='.md5(md5(EDOK_API_PASSWORD).'_SOAP_eDok_api').'&a3='.DEFAULT_ENTITY_SYMBOL.'', 
     87    "uri" => "eDokumentyAPI", 
     88    'encoding'=>'UTF-8' 
     89); 
     90 
     91// bezpośrednie wywołanie klienta Soap   
     92$client = new SoapClient(NULL, $ops); 
     93*/ 
     94$client = new EDokApiClient(null, $ops); 
     95$client->setUser(EDOK_API_LOGIN); // ten sam co w config.inc 
     96$client->setPass(md5(EDOK_API_PASSWORD)); // to samo co w config.inc 
     97 
     98$header = new SoapHeader('eDokumentyAPI', 'entity_symbol', DEFAULT_ENTITY_SYMBOL); 
     99$client->__setSoapHeaders($header); 
     100 
     101// Tworzy kontakt 
     102$contid = NULL; 
     103 
     104try { 
     105    $data = array( 
     106        'name_1' => 'SOAP TEST'.date('d H:m:s'), 
     107        'name_2' => 'SOAPTEST', 
     108        'nip___' => 1111111111, 
     109        'street' => 'Główna',        
     110        'symbol' => 'FGH99' 
     111    ); 
     112    $contid = $client->createContact($data); 
     113    var_dump($contid); 
     114 
     115} catch(SoapFault $fault) { 
     116     
     117    var_dump($fault); 
     118     
     119    if ($fault->faultcode < 100) { 
     120        trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); 
     121    } 
     122} 
     123 
     124?> 
     125}}} 
     126 
     127'''WAŻNE Hasło powinno być zakodowane przy użyciu funkcji md5'''. 
    41128 
    42129Dokumentacja poszczególnych funkcji, parametrów oraz przykłady wywołań dostępne są poniżej: 
     
    87174 
    88175 
    89 Przykład wywołania API z poziomu PHP w systemie eDokumenty 
    90  
    91 '''WAŻNE Hasło powinno być zakodowane przy użyciu funkcji md5''' 
     176 
    92177 
    93178{{{