-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Mani,
- From what you described, it doesn't sound like you have the option to set additional http headers. I remember running in to that with one of the perl XMLRPC libraries. It didn't really expose a way to set additional http headers; so, I think I had to make a new class that inherited the provided one with some modified functions allowing the additional headers to be set. The problem here is that I couldn't find any way of doing authentication with XMLRPC other than basic auth, which wasn't an option in our (NCSU) environment. So, I added the requirement of using additional http headers that provide the necessary authentication bits. Unfortunately, not all XMLRPC libraries expose a way to set additional http headers. If anyone knows of another way of doing XMLRPC authentication, please let me know. Josh On Wednesday November 30, 2011, Mani Shafa'atDoost wrote: > Josh, > > In java for XMLRPC calls, you have one execute function that accepts 2 > arguments. First one is the "Method name" and second one is a list of > parameters that we need to pass to this function. so where should I put > this header? in parameter[0]? > Also there is a config that can be set before execute a method. this config > can set following things: > > basicUserName > basicPassword > basicEncoding > contentLengthOptional > enabledForExceptions > enabledForExtensions > encoding > gzipCompressing > gzipRequesting > > I know, we need to set up this header somewhere, but I am not sure where. I > will appreciate if you tell me which part of code is handling this RPC > request in VCL. > > > Best Regards > Mani > > On Wed, Nov 30, 2011 at 3:22 PM, Josh Thompson <josh_thomp...@ncsu.edu>wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > Mani, > > > > I'm not clear on what you are saying you are passing a first and second > > argument to. > > > > For every API call (except when calling XMLRPCaffiliations), you'll need > > to have X-User, X-Pass, and X-APIVERSION added to the HTTP headers to > > provide authentication to the vcl frontend. > > > > Josh > > > > On Wednesday November 30, 2011, Mani Shafa'atDoost wrote: > > > Josh, > > > > > > As far as I understood, I need to pass the function name as first > > > > argument > > > > > and for second one I need to add a list of parameters. For first > > > > parameter, > > > > > I need to pass Header which consist of following things: > > > $header = "Content-Type: text/xml\r\n"; > > > > > > $header .= "X-User: " . $this->username . "\r\n"; > > > $header .= "X-Pass: " . $this->password . "\r\n"; > > > $header .= "Cookie: " . $_SERVER["HTTP_COOKIE"] . "\r\n"; > > > $header .= "X-APIVERSION: 2"; > > > > > > so, is it necessary to add all of these things to header? > > > > > > Best Regards > > > Mani > > > > > > On Wed, Nov 30, 2011 at 1:28 PM, Josh Thompson > > > > <josh_thomp...@ncsu.edu>wrote: > > > > Mani, > > > > > > > > I forgot that there is a third http header that is always required - > > > > X-APIVERSION. You'd even need that set when calling > > > > XMLRPCaffiliations. > > > > > > Josh > > > > > > > > On Wednesday November 30, 2011, Josh Thompson wrote: > > > > > Mani, > > > > > > > > > > I haven't done much with java, and what I have done was many years > > > > ago. > > > > > > > Given that, it doesn't look like you are providing the additional > > > > > custom authentication http headers X-User and X-Pass anywhere. > > > > > > > > > > Those two additional headers are not needed for the > > > > XMLRPCaffiliations > > > > > > > call. So, you could try calling that to see if the authentication > > > > > headers are your only problem. > > > > > > > > > > Josh > > > > > > > > > > On Wednesday November 30, 2011, Mani Shafa'atDoost wrote: > > > > > > I am trying to use Java to use your system. but the problem is > > > > when I > > > > > > try > > > > > > > > > > to execute something like client.execute( "XMLRPCtest", params ); > > > > , I > > > > > > > > receive errors. > > > > > > Can you tell me what should I pass to this function.I just > > > > > > attached my java class. > > > > > > > > > > > > Best Regards > > > > > > Mani > > > > > > > > > > > > On Wed, Nov 30, 2011 at 8:39 AM, Aaron Coburn > > > > > > <acob...@amherst.edu > > > > > > > > wrote: > > > > > > > Mani, > > > > > > > > > > > there is documentation for the XML RPC located here: > > > > http://people.apache.org/~jfthomps/xmlrpcdocs/xmlrpcWrappers_8php.htm > > > > l > > > > > > > > > > > I have been using the remote API for some time now, and it > > > > > > > works very well. To make things easier for me, I wrote a php > > > > > > > class that encapsulates some of these functions (see > > > > > > > attached). This class doesn't implement any of the group > > > > > > > management features, but they > > > > > > > > would > > > > > > > > > > > be easy to add. > > > > > > > > > > > > > > You can then use the class like this (if, for instance, you > > > > wanted > > > > > > > > > to list the reservations for a particular user): > > > > > > > > > > > > > > $vcl = new VCL($userid, $password); > > > > > > > > > > > > > > if ($reservations = $vcl->getReservations()){ > > > > > > > foreach ($reservations as $r){ > > > > > > > print "<p>"; > > > > > > > print "<b>{$r['imagename']}</b> "; > > > > > > > if ($status = $vcl->getRequestStatus($r['requestid'])){ > > > > > > > switch ($status['status']){ > > > > > > > ... > > > > > > > } > > > > > > > } > > > > > > > print "</p>"; > > > > > > > } > > > > > > > } > > > > > > > > > > > > > > The authentication piece is handed off to the appropriate > > > > > > > affiliation function in the VCL code, so if you are using LDAP, > > > > > > > the user's > > > > > > > > password > > > > > > > > > > > would be verified in that way. Since we use Shibboleth with our > > > > VCL > > > > > > > > > installation, the web application (neither the VCL nor any > > > > > > > remote webapp) will know anything about what constitutes a > > > > > > > valid > > > > password, > > > > > > so > > > > > > > > > > > I ended up modifying the 'checkAccess()' function in > > > > > > > .ht-inc/utils.php. If this is relevant for your installation, I > > > > can > > > > > > > > > explain further how this is done. > > > > > > > > > > > > > > The remote API allows me, for instance, to embed the VCL inside > > > > > > > other web applications (such as our campus learning management > > > > > > > system), without requiring students to login to the main VCL > > > > > > > site when they want to make and connect to their reservations. > > > > > > > > > > > > > > Best regards, > > > > > > > Aaron > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Nov 29, 2011, at 6:08 PM, Mani Shafa'atDoost wrote: > > > > > > > > > > > > > > Josh, > > > > > > > > > > > > > > Thank you. Do you have any proper documentation for functions > > > > that > > > > > > you > > > > > > > > > > > provided by XML RPC? > > > > > > > > > > > > > > Best Regards > > > > > > > Mani > > > > > > > > > > > > > > On Tue, Nov 29, 2011 at 4:32 PM, Josh Thompson > > > > > > > > > > <josh_thomp...@ncsu.edu>wrote: > > > > > > >> Mani, > > > > > > >> > > > > > > >> Unfortunately, the example code is way out of date and uses > > > > > > >> API version 1 which is no longer supported. > > > > > > > > > > >> A more current example, though in python, is available here: > > > > https://svn.apache.org/repos/asf/incubator/vcl/sandbox/useful_scripts > > > > / > > > > > > > > > > >> ma nagegroups.py > > > > > > >> > > > > > > >> Josh > > > > > > >> > > > > > > >> On Sunday November 20, 2011, Mani Shafa'atDoost wrote: > > > > > > >> > Hello, > > > > > > >> > > > > > > > >> > I just used your sample file to use VCL through XMLRPC, but > > > > > > >> > I received following error : > > > > > > >> > > > > > > > >> > *Notice*: xmlrpc: Unsupported API version, cannot continue. > > > > > > >> > > > > > > > >> > I just modified username and password in your sample PHP > > > > file. I > > > > > > > > >> > will appreciate if you could guide me. > > > > > > >> > > > > > > > >> > > > > > > > >> > Best Regards > > > > > > >> > > > > > > > >> > Mani > > > > > > >> > > > > > > >> - -- > > > > > > >> - ------------------------------- > > > > > > >> Josh Thompson > > > > > > >> VCL Developer > > > > > > >> North Carolina State University > > > > > > >> > > > > > > >> my GPG/PGP key can be found at pgp.mit.edu - -- - ------------------------------- Josh Thompson VCL Developer North Carolina State University my GPG/PGP key can be found at pgp.mit.edu -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iEYEARECAAYFAk7Xi5wACgkQV/LQcNdtPQOOjgCePAwk8YW72B6HkMs6UNT9IEwl F5cAn31w+ZIAO3MPYaH5OzOhzh8LTsme =kFJ3 -----END PGP SIGNATURE-----