phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] phpgwapi/doc/xmlrpc/phpgw_server.dvi, 1.3


From: nomail
Subject: [Phpgroupware-cvs] phpgwapi/doc/xmlrpc/phpgw_server.dvi, 1.3
Date: Thu, 30 Dec 2004 07:47:30 +0100

Update of /phpgwapi/doc/xmlrpc
Added Files:
        Branch: 
          phpgw_server.dvi

date: 2004/12/30 06:47:30;  author: skwashd;  state: Exp;  lines: +0 -0

Log Message:
new HEAD
=====================================================================
÷ƒ’À;è TeX output 
2001.09.03:2151‹6ÿÿÿÿ {ºâ 
ýºâïcolor push  Blackïhtml:<a name="page.1">ïcolor push gray 0ï color 
popï      html:</a>ŸüfdŽŽŽ’Ôï        color address@hidden:<a 
name="Doc-Start">ï      html:</a>ïhtml:<a name="0">ï   
html:</a>Ÿ&ñ‘Eù"óúâ
phvb8t¾phpGr€¡oupW‘ÿBare‘êÏXML-RPC/SO‘þÁAPŽŸ 
Y’´–éMethodologyŽŸVïhtml:<a name="7">ï       html:</a>Ÿ'ãEóúG®
phvb8t¿1.–ͽSystem“le½°vel“requestsŽŸ“­ïhtml:<a name="9">ï      
html:</a>Ÿ#ñróúff
phvb8tÀ1.1.–ÈLogin“and“authenticationŽŸ
gdïhtml:<a name="11">ï html:</a>Ÿ      Ëύ‘0ó?Á|‰

ptmr8t½Authentication–€for“user“logins“is“handled“internally“no“dierently“than“for“the“typical“phpGroupW‘ÿ37areŽ¤
‘0login–€via“web“broÀwser‘ÿs8.“ServšÙ 
er“logins,“added“for“XML-RPC“and“SO¦gAP‘þã×,“are“only“slightly“dierent.“F˜orŽ¡‘0either–€protocol,“user“and“servÙ
 
er“login“and“authentication“and“subsequent“requests“are“handled“by“theirŽ¡‘0respectiÀv•Ù
 
e›€serv“er˜apps,˜xmlrpc.php˜and˜soap.php.˜A˜serv“er˜is˜identied˜by˜a˜custom˜HTTP˜header™Ÿ,Ž¡‘0without–€which“a“normal“user“login“will“be“undertakægen.Ž©*8ïhtml:<a
 name="12">ï        html:</a>Ÿ
Õȍ‘0A–€client“or“servÙ 
er“sends“the“appropriate“XML-RPC“or“SO¦gAP“packšæget“containing“host,“user™Ÿ,“and“passw˜ordŽ¡‘0information–€to“the“phpgw“servšÙ
 er‘ÿs8.“The“serv˜er“then“assigns“a“sessionid“and“kæge˜y‘ÿY 
,“which“is“returned“to“theŽ¡‘0client–€in“the“appropriate“format.Ž¦ïhtml:<a
 name="13">ï    html:</a>Ÿ
Õȍ‘0Our–€current“method“for“authenticating“requests“after“successful“login“is“via“the“Authorization:“BasicŽ¡‘0HTTP‘{¼header–{½to“be“sent“by“the“client“or“requesting“servÙ
 
er‘ÿs8.“The“format“of“this“header“is“a“base64“encodingŽ¡‘0of–€the“assigned“sessionid“and“kp3“vÀariables,“seperated“by“a“':'.Ž¦ïhtml:<a
 name="14">ï        html:</a>Ÿ
Õȍ‘0Further–€security“may“be“obtained“by“using“SSL“on“the“client“and“servÙ
 
er‘ÿs8.“In“the“future,“we“mayŽ¡‘0encrypt/descrypt–€the“data“on“either“end,“or“at“least“prošÙ
 
vide“this“as“an“option.“The“sessionid“and“kæge˜yŽ¡‘0všÀariables–€will“makæge“this“possible,“and“relati˜vÙ
 ely“secure.ŽŸ*8ïhtml:<a name="15">ï     html:</a>Ÿ ob‘0óú
phvb8tÁ1.1.1.‘Uüsystem.loginŽŸ«~ïhtml:<a name="17">ï     html:</a>Ÿ
T‚‘0½The–€rst“request“a“client“will“makšæge“is“the“system.login“method.“Here“is“a“sample“of“a“servÙ
 er“login“pack˜etŽ¡‘0in‘€XML-RPC:ŽŸ
”ïhtml:<a name="18">ï html:</a>Ÿ™Ÿ‘0ó‰š       
pcrr8tÂ<?xml‘ffversion="1.0"?>Ž¤³3‘0<methodCall>Ž¡‘0<methodName>system.login</methodName>Ž¡‘0<params>Ž¡‘0<param>Ž¡‘0<value><struct>Ž¡‘0<member><name>server_name</name>Ž¡‘0<value><string>my.host.name</string></value>ŽŽŸ0ºâïcolor
 push  Black’Ïóϯ8

ptmri8tÄ1ŽŽŽŽŽŽŽ’Ôï      color 
popŽŽŒ‹6* {ºâ ýºâïcolor push 
 Blackïhtml:<a name="page.2">ïcolor push gray 0ï       color popï      
html:</a>ŸüfdŸ÷™œïhtml:<a name="23">ï     
html:</a>Ÿfd’i7ÄphpGrŒÏoupW‘ÿar¡Ge–€XML-RPC/SO‘ÿs8AP“MethodoloæggyŽŽŽŽŽŽŽ’Ôï
      color 
address@hidden/ºâÂ</member>Ž¤³3‘/ºâ<member><name>username</name>Ž¡‘/ºâ<value><string>bubba</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>password</name>Ž¡‘/ºâ<value><string>gump</string></value>Ž¡‘/ºâ</member>‘ff</struct></value>Ž¡‘/ºâ</param>Ž¡‘/ºâ</params>Ž¡‘/ºâ</methodCall>Ž¡ºâ©
ïhtml:<a name="19">ï html:</a>Ÿ
‘0½And–€the“same“in“SO¦gAP:ŽŸ
”ïhtml:<a name="20">ï 
html:</a>Ÿ™Ÿ‘0Â<?xml‘ffversion="1.0"?>Ž¡‘0<SOAP-ENV:EnvelopeŽ¡‘0xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"‘ffxmlns:xsi="http://www.w3.org/1999/XMLSchema-Ž¡‘0instance"–ffxmlns:xsd="http://www.w3.org/1999/XMLSchema"“xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"“xmlns:si="http://soapinterop.org/xsd"Ž¡‘0xmlns:ns6="http://soapinterop.org"‘ffSOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>Ž¡‘0<SOAP-ENV:Body>‘ff<ns6:system_login>Ž¡‘0<server_name‘ffxsi:type=":string">my.host.name</server_name>Ž¡‘0<username‘ffxsi:type=":string">bubba</username>Ž¡‘0<password‘ffxsi:type=":string">gump</password>Ž¡‘0</ns6:system_login>Ž¡‘0</SOAP-ENV:Body>Ž¡‘0</SOAP-ENV:Envelope>Ž¡¦ïhtml:<a
 name="21">ï html:</a>¤
‘0½The–€same“style“of“packšæget“w˜ould“be“required“for“a“user/client“login.“A“successful“login“should“yield“theŽ¡‘0folloÀwing‘€reply:ŽŸ
*8ïhtml:<a name="22">ï   html:
 </a>Ÿ  
ˆû‘0Â<methodResponse>Ž¤³3‘0<params>Ž¡‘0<param>Ž¡‘0<value><struct>Ž¡‘0<member><name>sessionid</name>Ž¡‘0<value><string>cf5c5534307562fc57915608377db007</string></value>Ž¡‘0</member>Ž¡‘0<member><name>kp3</name>Ž¡‘0<value><string>2fe54daa11c8d52116788aa3f93cb70e</string></value>Ž¡‘0</member>Ž¡‘0</struct></value>Ž¡‘0</param>Ž¡‘0</params>Ž¡‘0</methodResponse>ŽŽŸ0ºâïcolor
 push  Black’ÏÄ2ŽŽŽŽŽŽŽ’Ôï color 
popŽŽŒ‹6, {ºâ ýºâïcolor push 
 Blackïhtml:<a name="page.3">ïcolor push gray 0ï       color popï      
html:</a>Ÿüfd’i7ÄphpGrŒÏoupW‘ÿar¡Ge–€XML-RPC/SO‘ÿs8AP“MethodoloæggyŽŽŽŽŽŽŽ’Ôï
 color address@hidden/ºâ½And–€a“fægailed“login:Žºâ©*8ïhtml:<a name="24">ï 
 html:</a>Ÿ      
ˆû‘0Â<methodResponse>Ž¤³3‘0<params>Ž¡‘0<param>Ž¡‘0<value><struct>Ž¡‘0<member><name>GOAWAY</name>Ž¡‘0<value><string>XOXO</string></value>Ž¡‘0</member>Ž¡‘0</stru
 ct></value>Ž¡‘0</param>Ž¡‘0</params>Ž¡‘0</methodRes!
ponse>Ž¡Ÿ
ïhtml:<a name="25">ï html:</a>Ÿ
‘0½eqweqwŽŸ*8ïhtml:<a name="26">ï        
html:</a>Ÿ!ob‘0Á1.1.2.‘Uüsystem.logoutŽŸ«~ïhtml:<a name="28">ï    
html:</a>Ÿ
T‚‘0½Logout:Ž¦ïhtml:<a name="29">ï  html:</a>Ÿ      
ˆû‘0Â<?xml‘ffversion="1.0"?>Ž¡‘0<methodCall>Ž¡‘0<methodName>system.logout</methodName>Ž¡‘0<params>‘ff<param>Ž¡‘0<value><struct>Ž¡‘0<member><name>sessionid</name>Ž¡‘0<value><string>ea35cac53d2c12bd05caecd97304478a</string></value>Ž¡‘0</member>Ž¡‘0<member><name>kp3</name>Ž¡‘0<value><string>4f2b256e0da4e7cbbebaac9f1fc8ca4a</string></value>Ž¡‘0</member>Ž¡‘0</struct></value>Ž¡‘0</param>Ž¡‘0</params>Ž¡‘0</methodCall>Ž¡Ÿ
ïhtml:<a name="30">ï html:</a>Ÿ
‘0½Logout‘€w•ægork“ed:Ž¦ïhtml:<a name="31">ï    html:</a>Ÿ      
ˆû‘0Â<methodResponse>Ž¡‘0<params>ŽŽŸ0ºâïcolor push  
Black’ÏÄ3ŽŽŽŽŽŽŽ’Ôï color 
popŽŽŒ‹6s {ºâ ýºâïcolor push 
 Blackïhtml:<a name="page.4">ïcolor push gray 0ï       color popï      
html:</a>Ÿüfd’i7ÄphpGrŒÏoupW‘ÿar¡Ge–€XML-RPC/SO‘ÿs8AP“MethodoloæggyŽŽŽŽŽŽŽ’Ôï
 color 
address@hidden/ºâÂ<param>Ž¤³3‘/ºâ<value><struct>Ž¡‘/ºâ<member><name>GOODBYE</name>Ž¡‘/ºâ<value><string>XOXO</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ</struct></value>Ž¡‘/ºâ</param>Ž¡‘/ºâ</params>Ž¡‘/ºâ</methodResponse>Ž¡ºâŸïhtml:<a
 name="32">ï     html:</a>Ÿ-lŒ¿2.–ͽBusiness“la§ŒyÓÅer“requestsŽŸ
7„ïhtml:<a name="34">ï    html:</a>Ÿ      
lS‘0½Once–€a“successful“login“return“packæget“has“been“receiÀvšÙ 
ed“and“sessionid/kp3“haÌÐv˜e“been“e˜xtracted,“eÀv˜eryŽ¤
‘0subsequent–tÌpackšæget“sent“to“the“phpgroupw˜are“servÙ er
 
“must“be“preceded“by“an“Authorization“header‘ÿs8.“Here“isŽ¡‘0a–€sample“header:Ž©
*8ïhtml:<a name="35">ï  html:</a>Ÿ      
ˆû‘0ÂPOST–ff/phpgroupware/xmlrpc.php“HTTP/1.0Ž¤³3‘0User-Agent:–ffPHP“XMLRPC“1.0Ž¡‘0Host:‘ffmy.local.hostŽ¡‘0Authorization:–ffBasic“ZDgxNDIyZDRkYjg5NDEyNGNiMzZlMDhhZTdlYzAxZmY6NTU3YzkyYjBmNGE4ZDVlOTUzMzI2YmU2OTQyNjM3YjQ=Ž¡‘0Content-Type:‘fftext/xmlŽ¡‘0Content-Length:‘ff875Ž¡Ÿ
ïhtml:<a name="36">ï html:</a>¤
‘0½The–€longish“string“is“a“base64“encoding“of“the“$sessionid“.“':'“.“$kp3.“FÙ
 
or“noÀw“this“is“our“only“supportedŽ¡‘0authentication–€method.“Additional“methods“wægould“probably“also“aect“the“methodCalls.“This“is“certainlyŽ¡‘0open–€to“discussion.“FÙ
 olloÀwing“is“a“typical“request“for“some“contact“data:Ž¦ïhtml:<a name="37">ï 
 html:</a>Ÿ      
ˆû‘0Â<?xml‘ffversion="1.0"?>Ž¤³3‘0<methodCall>Ž¡‘0<methodName>addressbook.boaddressbook.read_entries</methodName>Ž¡‘0<params>Ž¡‘0<param>Ž¡‘0<value><struct>Ž¡‘0<member><name>start</name>Ž¡‘0<value><string>1</string></value>Ž¡‘0</member>Ž¡‘0<member><name>limit</name>Ž¡‘0<value><string>5</string></value>ŽŽŸ0ºâïcolor
 push  Black’ÏÄ4ŽŽŽŽŽŽŽ’Ôï       color 
popŽŽŒ‹6* {ºâ ýºâïcolor push 
 Blackïhtml:<a name="page.5">ïcolor push gray 0ï       color popï      
html:</a>Ÿüfd’i7ÄphpGrŒÏoupW‘ÿar¡Ge–€
 XML-RPC/SO‘ÿs8AP“MethodoloæggyŽŽŽŽŽŽŽ’Ôï  color 
address@hidden/ºâÂ</member>Ž¤³3‘/ºâ<member><name>fields</name>Ž¡‘/ºâ<value><struct>Ž¡‘/ºâ<member><name>n_given</name>Ž¡‘/ºâ<value><string>n_given</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>n_family</name>Ž¡‘/ºâ<value><string>n_family</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ</struct></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>query</name>Ž¡‘/ºâ<value><string></string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>filter</name>Ž¡‘/ºâ<value><string></string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>sort</name>Ž¡‘/ºâ<value><string></string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>order</name>Ž¡‘/ºâ<value><string></string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ</struct></value>Ž¡‘/ºâ</param>Ž¡‘/ºâ</params>Ž¡‘/ºâ</methodCall>Ž¡ºâŸ
ïhtml:<a name="38">ï html:</a>Ÿ
‘0½Successful‘€response:ŽŸ*8ïhtml:<a name="39">ï       html:</a>Ÿ      
ˆû‘0Â<?xml‘ffversion="1.0"?>Ž¡‘0<methodResponse>Ž¡‘0<params>Ž¡‘0<param>Ž¡‘0<value><struct>Ž¡‘0<member><name>0</name>Ž¡‘0<value><struct>Ž¡‘0<member><name>id</name>Ž¡‘0<value><string>1</string></value>Ž¡‘0</member>Ž¡‘0<member><name>lid</name>Ž¡‘0<value><string></string></value>Ž¡‘0</member>Ž¡‘0<member><name>tid</name>ŽŽŸ0ºâïcolor
 push  Black’ÏÄ5ŽŽŽŽŽŽŽ’Ôï        color 
popŽŽŒ‹6! {ºâ ýºâïcolor push 
 Blackïhtml:<a name="page.6">ïcolor push gray 0ï       color popï      
html:</a>Ÿüfd’i7ÄphpGrŒÏoupW‘ÿar¡Ge–€XML-RPC/SO‘ÿs8AP“MethodoloæggyŽŽŽŽŽŽŽ’Ôï
 color 
address@hidden/ºâÂ<value><string>n</string></value>Ž¤³3‘/ºâ</member>Ž¡‘/ºâ<member><name>owner</name>Ž¡‘/ºâ<value><string>500</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>access</name>Ž¡‘/ºâ<value><stri
 
ng>private</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>cat_id</name>Ž¡‘/ºâ<value><string>1</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>n_given</name>Ž¡‘/ºâ<value><string>Alan</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ</struct></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>1</name>Ž¡‘/ºâ<value><struct>Ž¡‘/ºâ<member><name>id</name>Ž¡‘/ºâ<value><string>2</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>lid</name>Ž¡‘/ºâ<value><string></string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>tid</name>Ž¡‘/ºâ<value><string>n</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>owner</name>Ž¡‘/ºâ<value><string>500</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>access</name>Ž¡‘/ºâ<value><string>private</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>cat_id</name>Ž¡‘/ºâ<value><string>1</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ<member><name>n_given</name>Ž¡‘/ºâ<value><string>Andy</string></value>Ž¡‘/ºâ</member>Ž¡‘/ºâ</struct></value>Ž¡‘/ºâ</member>Ž
 ¡‘/ºâ...Ž¡ºâŸ
ïhtml:<a name="40">ï html:</a>Ÿ
‘0½Unauthorized–€access“attempt“returns:ŽŽŸ0ºâïcolor push  
address@hidden   color popŽŽŒ‹6&þ 
{ºâ ýºâïcolor push  Blackïhtml:<a name="page.7">ïcolor push gray 0ï 
      color popï      
html:</a>Ÿüfd’i7ÄphpGrŒÏoupW‘ÿar¡Ge–€XML-RPC/SO‘ÿs8AP“MethodoloæggyŽŽŽŽŽŽŽ’Ôï
 color address@hidden:<a name="41">ï     html:</a>©
‘0Â<methodResponse>Ž¤³3‘0<params>Ž¡‘0<param>Ž¡‘0<value><string>UNAUTHORIZED</string></value>Ž¡‘0</param>Ž¡‘0</params>Ž¡‘0</methodResponse>Ž¡¦ïhtml:<a
 name="42">ï      html:</a>Ÿ-lŒ¿3.–ͽMore“to“comeXs...ŽŸÛïhtml:<a 
name="44">ï       html:</a>ŸÈ»‘0½Documenting–€eÀvÙ 
ery“single“call“will“be“dicult,“bÌÐut“should“be“done.“In“leiu“of“this,“please“see“theŽ¤
‘0class.bo{APPN¦gAME}.inc.php–€les“in“each“application/inc“directory“in“the“phpgroupwægare“cvs.“In“this“leŽ¡‘0will–~qbe“a“list_methods()“function,“which“returns“the“information“to“the“servÙ
 
er“about“input/output“structureŽ¡‘0for–€each“call.“If“the“le“does“not“haÌÐvÙ
 
e“this“function,“then“it“is“not“yet“wšægorkable“via“this“interf˜ace.“As“forŽ¡‘0the–€actual“functions,“thešÙ
 y“are“also“in“this“le.“Generally‘ÿY 
,“the˜y“will“all“accept“associatiÀv˜e“array“input“andŽ¡‘0return–€same,“bšÌÐut“not“al•ægw“ays.–€This“code“is“in“ux,“ha˜vÙ
 e“fun.ŽŽŸ0ºâïcolor push  Bl
 ack’ΡHÄ7ŽŽŽŽŽŽŽ’Ôï color 
popŽŽŒ‹6-K {ºâ ýºâïcolor push 
 Blackïhtml:<a name="page.8">ïcolor push gray 0ï       color popï      
html:</a>Ÿüfd’i7ÄphpGrŒÏoupW‘ÿar¡Ge–€XML-RPC/SO‘ÿs8AP“MethodoloæggyŽŽŽŽŽŽŽ’Ôï
 color address@hidden push  Black’Ï8ŽŽŽŽŽŽŽ’Ôï      color 
popŽŽŒø2wƒ’À;èT~Óºâ
óϯ8

ptmri8tó‰š      
pcrr8tóú
phvb8tóúff
phvb8tóúG®
phvb8tóúâ
phvb8tó?Á|‰

ptmr8tù3²ßßßß




reply via email to

[Prev in Thread] Current Thread [Next in Thread]