KiDocExchange: Difference between revisions
No edit summary |
|||
Line 308: | Line 308: | ||
= | = Testimine = | ||
Faili edastamiseks testserverisse tuleb lisada parameeter ''debug'' serveri aadressile, ehk 'https://services.krediidiinfo.ee/soap.php?name=KiDocExchange&debug' | Faili edastamiseks testserverisse tuleb lisada parameeter ''debug'' serveri aadressile, ehk 'https://services.krediidiinfo.ee/soap.php?name=KiDocExchange&debug' |
Revision as of 10:47, 12 March 2018
In English |
Tutvustus
KiDocExchange on Creditinfo veebiteenus failide saatmiseks ja vastuvõtmiseks.
Failide edastamine ja vastuvõtmine
Faile saab Creditinfole edastada ja ka vastu võtta KiDocExchange SOAP liidese kaudu.
Creditinfosse saadetava faili nimi peab olema kujul:
req_<Creditinfo_toote_kood>_<kliendi_faili_id>.xml.zip
- <Creditinfo_toote_kood> - Creditinfoga kokkulepitud toode, mille alusel koostatakse vastus fail.
- <kliendi_faili_id> - kliendi poolt määratud unikaalne id, millega eristatakse faile üksteisest. Näiteks faili genereerimise aeg.
Creditinfo vastusfaili kuju:
resp_<Creditinfo_toote_kood>_<kliendi_faili_id>.zip
- <Creditinfo_toote_kood> - Creditinfoga kokkulepitud toode, mille alusel koostatakse vastus fail.
- <kliendi_faili_id> - kliendi poolt määratud unikaalne id, millega eristatakse faile üksteisest. Näiteks faili genereerimise aeg.
WSDL
KiDocExchange veebiteenuse WSDL fail on aadressil http://services.krediidiinfo.ee/KiDocExchange.wsdl.
Järgnevusdiagramm
Järgnevusdiagrammil on näidatud KiDocExchange meetodite väljakutsumise järjekorrad faili üles laadimisel.
ja alla laadimisel
Alla laetavate failide nimekirja saab pärida funkstiooniga getDownloadQueue(). Kord alla laetud fail kaob nimekirjast, aga faili ID säilitamisel saab faili alla laadida ka hiljem.
Meetodid
startUpload
Failide üleslaadimise initsialiseerimine.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Sisendparameeter: | fileName | xs:string | Faili nimi |
Väljundparameeter: | docID | xs:integer | Unikaalne faili id Creditinfo serveris. |
uploadChunk
Laetakse serverisse ning lisatakse juba serveris olevale failile lõppu osa failist. Kliendid võivad kogu faili saata ka ühe osana. Failide jupitamist on soovitav kasutada desktop lahendustes suurte failide saatmisel.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Sisendparameetrid: | docID | xs:integer | Faili identifikaator. |
chunk | xs:base64Binary | Järgmine faili osa. | |
Väljundparameeter: | None |
finishUpload
Faili üleslaadimise lõpetamine.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Sisendparameetrid: | docID | xs:integer | Faili identifikaator |
md5 | xs:string | Üles laetud faili MD5 kontrollsumma. | |
Väljundparameeter: | errorCode | xs:integer | Kui 0, siis faili üleslaadimine õnnestus. Kui negatiivne, siis tekkis mingi viga (vt veakoodide). |
downloadChunk
Faili alamosa allalaadimine Creditinfo failiserverist.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Sisendparameetrid: | docID | xs:integer | Faili identifikaator |
start | xs:integer | Positsioon failis, millest alates andmeid alla laetakse (positsiooni lugemine algab nullist) | |
count | xs:integer | Alla laetava tüki suurus baitides. | |
Väljundparameeter: | chunk | xs:base64Binary | Faili alamosa |
getDownloadQueue
Creditinfo serveris kliendi poolt allalaadimist ootavate failide loetelu.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Väljundparameeter: | queue | DownloadQueueArray | Massiiv DownloadQueueType tüüpi elementidest |
DownloadQueueType on assiotsiatiivne massiiv, millel on järgmised elemendid:
Nimi | Tüüp | Kirjeldus |
---|---|---|
docID | xs:integer | faili id |
fileName | xs:string | faili nimi |
getStatusCode
Tagastatakse üles laetud faili staatus serveris.
Nimi | Tüüp | Kirjeldus | ||
---|---|---|---|---|
Sisendparameeter: | docID | xs:integer | Faili identifikaator | |
Output Parameters: | status_code | xs:integer | Faili staatuse kood: | |
0 | Fail on töödeldud | |||
2 | Toimub faili üles laadimine | |||
3 | Toimub faili töötlemine | |||
4 | Fail on edukalt üles laetud ning ootab töötlemist | |||
-1 | Tundmatu viga. Täpsema info saamiseks võtke ühendust tehnilise teoga. Rohkem infot vea teate kohta võib saada meetodiga getStatusMsg. | |||
-10003 | MD5 kontroll ebaõnnestus. Kliendi saadetud MD5 kontrollsumma ei langenud kokku serveri poolt arvutatud MD5 kontrollsummaga. | |||
-xxxxx | Faili töötlemine ebaõnnestus. Täpsema info saamiseks võta ühendust tehnilise toega. Rohkem infot vea teate kohta võib saada meetodiga getStatusMsg. |
getStatusMsg
Tagastatakse staatust täpsustav info.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Sisendparameeter: | docID | xs:integer | Faili identifikaator |
Väljundparameeter: | statusMsg | xs:string | Faili staatust täpsustav info |
Veakoodid
Kood | Kirjeldus |
0 | Success |
Päringu töötlus õnnestus. | |
-10001 | Access denied |
Üritatakse pöörduda faili poole, mis kuulub kellelegi teisele. | |
-10002 | File does not exists |
Kasutati faili identifikaatorit, mida ei eksisteeri. | |
-10003 | MD5 failure |
Kliendi saadetud MD5 ei lange kokku serveri poolt arvutatud MD5-ga |
Testimine
Faili edastamiseks testserverisse tuleb lisada parameeter debug serveri aadressile, ehk 'https://services.krediidiinfo.ee/soap.php?name=KiDocExchange&debug'
Näidis PHP-s
Programm laeb faili Creditinfo serverisse ning seejärel laeb sama faili alla. Lõpus kontrollitakse, kas üles ja alla laetud faili sisu on sama. Programmi põhimõte sobib KiDocExchange liidese testimiseks. Kui soovite maksehäire sisestamiseks mõeldud faili testida siis ärge kasutage silumismoodi.
<?php /** * Example of uploading and downloading files using KiDocExchange interface. * @author Rait Kapp <rait@creditinfo.ee> * @created 27.04.2007 */ $wsdl_url = 'http://services.krediidiinfo.ee/KiDocExchange.wsdl'; $params = array('location' => 'https://services.krediidiinfo.ee/soap.php?name=KiDocExchange&debug' , 'login' => 'username' // <-- username. Make sure username is string type (PHP bug?). , 'password' => 'password' // <-- password ); $client = new SoapClient($wsdl_url, $params); // Uploading file. $content = 'I am a little test file!'; $docID = $client->startUpload('test.txt'); $client->uploadChunk($docID, $content); $md5 = md5($content); $result = $client->finishUpload($docID, $md5); if ($result != 0) { die("upload failed.! Error code: {$result}\n"); } // Downloading file $start = 0; $count = 512; // can be a big number if you do not have to display download progress. $data = ''; while ($chunk = $client->downloadChunk($docID, $start, $count)) { $start += $count; $data .= $chunk; } if ($content != $data) { echo "Something is not right!\n"; } else { echo "We got back: {$data}\n"; } ?>