info@drugapisarna.si
Brezplačna uporaba
Predstavitev Novice Vprašanja Cenik Kontakt Dokumentacija



Dokumentacija


Zadje spremenjeno 16.08.08 s strani duck@obala Prikaži spremembe za 1.6
ZunanjaUporaba Osveži stran
PovezaveNazaj | PodobneStrani | Priponke | Zgodovina | Nazaj na

Uporaba v zunanjih aplikacijah

Aplikacije na ObalaNET se povezujejo v enoten centraliziran sistem. Ta ureja prijavljene aplikacije, njihove pravice dostopa, nastavitve, komunikacijo med aplikacijami itd. V naslednjem razdelku bomo razložili kako lahko preko njega dostopamo do svojih podatkov na ObalaNET z zunanjih aplikacij.

Umesnik za zunanjo uporabo se nahaja na http://obala.net/rpc.php. Umesnik podpira dostop preko XML-RPC, SOAP, WEBDAV in JSON-RPC. Prijava v sistem poteka preko HTTPD Avtentikacije. Uporabnik lahko gleda le javne podatke in svoje zasebne.

Vsaka aplikacija podaja v okolje sovoje funkcionalnosti pod imenom nabora funkcionalnosti, ki jih ponuja. Na primer aplikacija za delo s koledarji se v okolje prijavi z umesnikom (interface) „calendars“. Tako vsi klici nanjo se predznačijo z njenim umensikom (primer "calendars/listCalendars" za izpis koledarjev prijavljenega uporabnika).

Klici po aplikacijah

PEAR::XML_RPC

Primer uporabe z PEAR::XML_RPC. Klic pregleda stanje zalog artiklov v trgovini.

require_once 'XML/RPC.php';

$params = array();
$msg = new XML_RPC_Message('shop.listCostStock', $params);

$cli = new XML_RPC_Client('/rpc.php', 'http://obala.net');

// Debug
$cli->setDebug(1);

// Pošljemo zahtevo
$resp = $cli->send($msg);

// Preverimo če je prišlo do napake pri povezavi
if (!$resp) {
    echo 'Communication error: ' . $cli->errstr;
    exit;
}

if (!$resp->faultCode()) {
    // Prikažemo odgovor strežnika
    $val = $resp->value();
    $data = XML_RPC_decode($val);
    var_dump($data);
} else {
    // Prikažemo napake
    echo 'Fault Code: ' . $resp->faultCode() . "n";
    echo 'Fault Reason: ' . $resp->faultString() . "n";
}

PEAR::XML_RPC2

Primer uporabe z PEAR::XML_RPC2 in PHP5. Klic pregleda koledarje, ki jih ima prijavljen uporabnik.


require_once 'XML/RPC2/Client.php';

// Predpona klicane metode
$options = array(
    'prefix' => 'calendars.'
);

$client = XML_RPC2_Client::create('http://obala.net/rpc.php', $options);

try {
    $result = $client->listCalendars();
    print_r($result);
} catch (XML_RPC2_FaultException $e) {
    // XMLRPC strežnik je vrnil napako
    die('Exception #' . $result->getFaultCode() . ' : ' . $e->getFaultString());
} catch (Exception $e) {
    // Ostale napake (v povezavi itd)
    die('Exception : ' . $e->getMessage());
}

XML/RPC v Python


username = ""
password = "secret"
protocol = "http"
hostname = "obala.net"

url = "%s://%s:%s@%s/rpc.php" % (protocol, username, password, hostname)

print "Prijavljam se v '%s'..." % url
server = xmlrpclib.ServerProxy(url, verbose=0)

print "Prebiram spisek koledarjev ..."

calendars = server.calendar.listCalendars()

for calendarKey in calendars:
    print "Koleder:  %s..." % calendarKey

print "Konec."

DrugaPisarna je projekt podjetja Obala d.o.o..