XML-RPC do jiz bezici aplikace

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
skrivy
Člen | 51
+
0
-

Ahoj,

resim ted docela zajimavy problem. Mam napsanou aplikaci v Nette (jedna se o administraci, takze krom login page probiha vsude kontrola uzivatele).

Otazkou je, jak do aktualniho stavu dodelat xml-rpc, popr. soap.

V idealnim pripade bych akorat pro urcitou subdomenu zmenil sablonovaci system na nejaky xml generator (treba postavenem na SimpleXml). Problem je ale v tom, jak jsem si protokol navrhl.

Dejme tomu, ze administrace umi pridat/odebrat/vylistovat produkty. To same chci i od api. Navrhl jsem si tedy protokol tak, aby na uzivatelske strane byl velice jednoduse citelny:

Ukazka chybove odpovedi
<response>
<status>false</status>
<data>
<error id=„500“>Spatne napsany nazev produktu.</error>
<error id=„501“>Spatne napsany popis produktu.</error>
</data>
</response>

Ukazka OK odpovedi:
<response>
<status>true</status>
<data>
<item id=„100“ name=„produkt1“>Tady je nejaky popis produktu1.</item>
<item id=„101“ name=„produkt2“>Tady je nejaky popis produktu2.</item>
</data>
</response>

Zasilani requestu si predstavuji POSTem – cili na server se posle na url: api.mojedomena.tld/produkty/add
adminLogin, adminPassword, data = array(produktName, produktDescription);

principielne jde o to, ze tam budou povinne polozky (adminLogin a adminPassword) a pak polozky, ktere se budou predavat do jednotlivych presenteru/modelu.

Problem je v tom, ze pri kazdym requestu musim uzivatele authorizovat (reseni session mi prijde zbytecna komplikace).

Atd. Atd … je toho hodne a absolutne netusim, jak na to a kde zacit.

Jak podobne situace resite vy? Pouzivate pro api i vlastni web jedny presentery a menite akorat view nebo mate presentery 2 (pro api a pro web – tomuhle bych se chtel vyhnout)?

bazo
Člen | 620
+
0
-

ja mam pre xml-rpc vycleneny jeden presenter, kazdy jeden request sa autentifikuje.

skrivy
Člen | 51
+
0
-

Oki, fajn, tak uz se mi povedlo udelat autorizaci na zaklade POST udaju do presenteru, otazkou je jak dal.

Z toho tveho presenteru volas rovnou moduly nebo includujes dalsi presentery a pak z nich ctes nejak odpovedi?

Jsem z toho trochu zmatenej, protoze se tady dela overovani vlozenych udaju na 2 urovni a protoze se mi aplikace ma chovat v obouch pripadech stejne, tak presne nevim, co kam presunout, atd.

bazo
Člen | 620
+
0
-

mam PublishPresenter, ktory implementuje rozhrania Worpdress api, blogger api, metaweblog api, pre spolupracu s windows live writer. na kazdy methodCall mam namapovanu funkciu v PublishPresenteri, lebo sa jedna iba o pracu s modelmi. K parsovaniu requestov a skladania odpovedi pouzivam xml-rpc server z wordpressu.