KiDocExchange: Difference between revisions

From services.krediidiinfo.ee
Jump to navigation Jump to search
(Näidis PHP-s)
(Meetodi downloadChunk kirjeldus)
Line 87: Line 87:
| Kui 0, siis faili üleslaadimine õnnestus. Kui negatiivne, siis tekkis mingi viga (vt veakoodide).
| Kui 0, siis faili üleslaadimine õnnestus. Kui negatiivne, siis tekkis mingi viga (vt veakoodide).
|}
|}
=== downloadChunk ===
Faili alamosa allalaadimine Krediidiinfo failiserverist.
{| style="border-style: solid; border-width: 1px"
!
! style="text-align: left;" | Nimi
! style="text-align: left;" | Tüüp
! style="text-align: left;" | Kirjeldus
|-
| <b>Sisendparameetrid:</b>
| 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.
|-
| <b>Väljundparameeter:</b>
| chunk
| xs:base64Binary
| Faili alamosa
|}


=== getStatusCode ===
=== getStatusCode ===

Revision as of 13:55, 16 January 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.

KiDocExchange Upload Sequence Diagram.jpg

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


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 "Someting is not right!\n";
} else {
    echo "We got back: {$data}\n";
}

?>