KiDocExchange: Difference between revisions
(→Meetodid: Uus meetod: getDownloadQueue) |
m (typo koodi kommentaaris) |
||
Line 319: | Line 319: | ||
if ($content != $data) { | if ($content != $data) { | ||
echo " | echo "Something is not right!\n"; | ||
} else { | } else { | ||
echo "We got back: {$data}\n"; | echo "We got back: {$data}\n"; |
Revision as of 14:05, 13 August 2008
Tutvustus
KiDocExchange on Krediidiinfo veebiteenus failide saatmiseks Krediidiinfosse.
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.
Meetodid
startUpload
Failide üleslaadimise initsialiseerimine.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Sisendparameeter: | fileName | xs:string | Faili nimi |
Väljundparameeter: | docID | xs:integer | Unikaalne faili id Krediidiinfo 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 Krediidiinfo 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
Krediidiinfo 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 |
Näidis PHP-s
Programm laeb faili Krediidiinfo 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.
NB! Failide üles- ja allalaadimine toimub silumismoodis (SOAP serveri urli lõpus on parameeter debug. Kõik katsetused teha silumise moodis).
<?php /** * Example of uploading and downloading files using KiDocExchange interface. * @author Rait Kapp <rait@krediidiinfo.ee> * @created 27.04.2007 */ $wsdl_url = 'http://www.krediidiinfo.ee/services/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 , 'proxy_host' => 'cache.neti.ee' , 'proxy_port' => 8080 ); $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"; } ?>