[web2py] Re: 303 See Other - Error while using xmlrpc

2011-07-12 Thread Robin Marshall
That is what we added, did you restart apache?

These are the steps we use to recreate the problem:

Step 1 : Configure and expose a test xmlrpc service in web2py:

a) Create a simple web2py application "testapp"
b) Edit db.py and add the following where "auth.settings" are
configured

auth.settings.allow_basic_login = True

c) Edit default.py and add @auth.requires_login() to call()

@auth.requires_login()
def call()


d) In default.py, add a function to be exposed as an xmlrpc service.

@service.xmlrpc
def multiply(a=1,b=1):
product = int(a) * int(b)
return dict(answer=product)

e) Create a user in the "testapp" web application, e.g.
"b...@mycompany.com", password = "oranges".  This user will be used to
authenticate against the test service.

Step 2 : Invoke XMLRPC service from Python

Assume server is available on localhost:8000.  The path to the XMLRPC
wrapper is "testapp/default/call/xmlrpc".

Open a python shell

>>> from xmlrpclib import ServerProxy

Create a server using format http://user:pass@host:port/path
>>> server = 
>>> ServerProxy('http://b...@mycompany.com:oranges@localhost:8000/testapp/default/call/xmlrpc')

Make sure to use "https" or "http" as appropriate. To enable logging
of request/response data, create with the named parameter
"verbose=True", e.g.
>>> server = 
>>> ServerProxy('http://b...@mycompany.com:oranges@localhost:8000/testapp/default/call/xmlrpc',
>>>  verbose=True)

Invoke the multiply() method
>>> server.multiply(2, 2)

You should see a dictionary containing the answer or, if it's
incorrectly configured, a 303 SEE OTHER error.

Cheers,
Robin

On Jul 12, 5:52 pm, Abhishek Gupta 
wrote:
> Hello,
>
> I am still getting the same error. My /etc/apache2/mods-enabled/
> wsgi.conf looks like this :
>
> 
>     WSGIPassAuthorization On
> 
>
> On 12 July 2011 01:15, Robin Marshall  wrote:
>
>
>
>
>
>
>
>
>
> > I found the problem, it's to do with WSGI - it needs to be configured
> > to pass on the authentication data.
>
> > In the configuration file for the module, somewhere like /etc/apache2/
> > mods-enabled/wsgi.conf you need to add a line:
>
> > WSGIPassAuthorization On
>
> > and reload apache.
>
> > Cheers,
> > Robin
>
> > On Jun 14, 6:30 am, Abhishek Gupta 
> > wrote:
> > > I have the following functions defined in test.py file
>
> > > @auth.requires_login()
> > > def call():
> > >     return service()
>
> > > @service.xmlrpc
> > > def time():
> > >     import time
> > >     return time.ctime()
>
> > > and following in my db.py file
> > > auth.settings.allow_basic_
> > > login = True  #for CLI access
>
> > > When I execute the following commands in python shell :
>
> > > server = ServerProxy( '
> > > https://username:passw...@10.20.254.39/cloud_computing/test/call/xmlrpc'
> > )
> > > server.time()
>
> > > I get the following error
>
> > > Traceback (most recent call last):
> > >   File "", line 1, in 
> > >   File "/usr/lib/python2.6/xmlrpclib.py", line 1199, in __call__
> > >     return self.__send(self.__name, args)
> > >   File "/usr/lib/python2.6/xmlrpclib.py", line 1489, in __request
> > >     verbose=self.__verbose
> > >   File "/usr/lib/python2.6/xmlrpclib.py", line 1243, in request
> > >     headers
> > > xmlrpclib.ProtocolError:  > > username:passw...@10.20.254.39/cloud_computing/test/call/xmlrpc: *303
> > SEE
> > > OTHER*>
>
> > > Am, I doing something wrong somewhere?
>
> > > --
> > > Abhishekhttp://abhishekgupta92.info
>
> --
> Abhishek
> Webpage  !!! Blog


Re: [web2py] Re: 303 See Other - Error while using xmlrpc

2011-07-11 Thread Abhishek Gupta
Hello,

I am still getting the same error. My /etc/apache2/mods-enabled/
wsgi.conf looks like this :


WSGIPassAuthorization On



On 12 July 2011 01:15, Robin Marshall  wrote:

> I found the problem, it's to do with WSGI - it needs to be configured
> to pass on the authentication data.
>
> In the configuration file for the module, somewhere like /etc/apache2/
> mods-enabled/wsgi.conf you need to add a line:
>
> WSGIPassAuthorization On
>
> and reload apache.
>
> Cheers,
> Robin
>
> On Jun 14, 6:30 am, Abhishek Gupta 
> wrote:
> > I have the following functions defined in test.py file
> >
> > @auth.requires_login()
> > def call():
> > return service()
> >
> > @service.xmlrpc
> > def time():
> > import time
> > return time.ctime()
> >
> > and following in my db.py file
> > auth.settings.allow_basic_
> > login = True  #for CLI access
> >
> > When I execute the following commands in python shell :
> >
> > server = ServerProxy( '
> > https://username:passw...@10.20.254.39/cloud_computing/test/call/xmlrpc'
> )
> > server.time()
> >
> > I get the following error
> >
> > Traceback (most recent call last):
> >   File "", line 1, in 
> >   File "/usr/lib/python2.6/xmlrpclib.py", line 1199, in __call__
> > return self.__send(self.__name, args)
> >   File "/usr/lib/python2.6/xmlrpclib.py", line 1489, in __request
> > verbose=self.__verbose
> >   File "/usr/lib/python2.6/xmlrpclib.py", line 1243, in request
> > headers
> > xmlrpclib.ProtocolError:  > username:passw...@10.20.254.39/cloud_computing/test/call/xmlrpc: *303
> SEE
> > OTHER*>
> >
> > Am, I doing something wrong somewhere?
> >
> > --
> > Abhishekhttp://abhishekgupta92.info
>



-- 
Abhishek
Webpage  !!! Blog


[web2py] Re: 303 See Other - Error while using xmlrpc

2011-07-11 Thread Robin Marshall
I found the problem, it's to do with WSGI - it needs to be configured
to pass on the authentication data.

In the configuration file for the module, somewhere like /etc/apache2/
mods-enabled/wsgi.conf you need to add a line:

WSGIPassAuthorization On

and reload apache.

Cheers,
Robin

On Jun 14, 6:30 am, Abhishek Gupta 
wrote:
> I have the following functions defined in test.py file
>
> @auth.requires_login()
> def call():
>     return service()
>
> @service.xmlrpc
> def time():
>     import time
>     return time.ctime()
>
> and following in my db.py file
> auth.settings.allow_basic_
> login = True  #for CLI access
>
> When I execute the following commands in python shell :
>
> server = ServerProxy( '
> https://username:passw...@10.20.254.39/cloud_computing/test/call/xmlrpc' )
> server.time()
>
> I get the following error
>
> Traceback (most recent call last):
>   File "", line 1, in 
>   File "/usr/lib/python2.6/xmlrpclib.py", line 1199, in __call__
>     return self.__send(self.__name, args)
>   File "/usr/lib/python2.6/xmlrpclib.py", line 1489, in __request
>     verbose=self.__verbose
>   File "/usr/lib/python2.6/xmlrpclib.py", line 1243, in request
>     headers
> xmlrpclib.ProtocolError:  username:passw...@10.20.254.39/cloud_computing/test/call/xmlrpc: *303 SEE
> OTHER*>
>
> Am, I doing something wrong somewhere?
>
> --
> Abhishekhttp://abhishekgupta92.info