Josh,

ok, I am going to write  a wrapper class . but I need some information
about your xml formating.
as far as I know I should send something like this :

Content-Type: text/xml
X-User:  username .
X-Pass: password
Cookie: something
X-APIVERSION: 2


<?xml version="1.0"?>
<methodCall>
   <methodName>example</methodName>
   <params>
      <param>
         <value><i4>41</i4></value>
         </param>
      </params>
</methodCall>

so these are my questions:
should I send cookie or it is an optional thing?
in method params, which kind of params do you have? it is just int, or you
have boolean and string as well.
also what about your answer XML. is it consists of Integer or it has some
other things?

Best Regards
Mani

On Thu, Dec 1, 2011 at 9:13 AM, Josh Thompson <josh_thomp...@ncsu.edu>wrote:

> -----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-----
>

Reply via email to