alright, well you are going to have to modify the client.py for pysimplesoap then in order to achieve this. I'd suggest you add a variable to the class like 'USERPWD' and populate it. Take a look at lines 75+. See all those 'setopt' calls? Add in your own for HTTPAUTH and USERPWD ...
On Tuesday, June 9, 2015 at 7:27:55 AM UTC-7, Pengfei Yu wrote: > > Thanks for your reply! I used the proxy because I checked from the source > code that proxy is the only place I can pass my username and password to > pycurl from SoapClient class. > > I can connect to this SOAP service directly with pycurl using the code you > provided. But I want to create a SoapClient object based on this SOAP > service. I still cannot figure it out yet. > > > > On Monday, June 8, 2015 at 5:28:08 PM UTC-4, Derek wrote: >> >> a simple monkey patch will do you. I would suggest you don't import into >> the base namespace though. >> import gluon.contrib.pysimplesoap.client as ssClient >> >> then do the monkey... >> ssClient.Http = set_http_wrapper(library='pycurl') >> >> and use it like normal. >> >> I don't get why you are trying to use a proxy? >> >> import pycurl >> >> name='bob' >> pwd='pwd1' >> url="https://mywebservice" >> >> curl = pycurl.Curl() >> curl.setopt(pycurl.URL, url) >> curl.setopt(pycurl.SSL_VERIFYPEER, 0) >> >> curl.setopt(pycurl.HTTPAUTH, pycurl.HTTPAUTH_NTLM) >> curl.setopt(pycurl.USERPWD, "{}:{}".format(name, pwd)) >> >> curl.perform() >> curl.close() >> >> >> On Monday, June 8, 2015 at 11:45:44 AM UTC-7, Pengfei Yu wrote: >>> >>> Hi Derek, >>> >>> Thanks for your reply! I saw similar source code as well. But there is >>> no document how to set it up using pysimplesoap. Could you provide an >>> example? >>> >>> I tried to use following, but it cannot work. >>> import sys,time >>> sys.path.append("/home/www-data/web2py") >>> import pprint >>> >>> >>> from gluon.contrib.pysimplesoap.client import * >>> from gluon.contrib.pysimplesoap.transport import * >>> >>> >>> user = 'XXXXXXX' >>> password = "***********" >>> >>> proxy={'proxy_user':user,'proxy_pass':password} >>> Http = set_http_wrapper(library='pycurl') >>> client=SoapClient(wsdl="https://54.153.5.133:53441/ForAGISService?wsdl", >>> proxy=proxy) >>> >>> >>> >>> Thanks! >>> >>> On Monday, June 8, 2015 at 12:18:38 PM UTC-4, Derek wrote: >>>> >>>> looks like pycurl is supported by pysimplesoap. That supports NTLM. See >>>> line 67. >>>> >>>> >>>> https://code.google.com/p/pysimplesoap/source/browse/pysimplesoap/client.py?r=6ed06397b4f0c1894156ee5d0a1c165f80ed6a68 >>>> >>>> >>>> On Monday, June 8, 2015 at 7:28:39 AM UTC-7, Pengfei Yu wrote: >>>>> >>>>> Hi, >>>>> >>>>> I am trying to access a web service which requires windows NTLM >>>>> authorization. I am able to successfully implement it using suds python >>>>> library with following code: >>>>> >>>>> from suds.transport.http import * >>>>> from suds.transport.https import WindowsHttpAuthenticated >>>>> from suds.client import * >>>>> >>>>> import time >>>>> >>>>> >>>>> sampleID = "AAAAAA" >>>>> user = 'XXXXXXX' >>>>> password = "***********" >>>>> url = "https://54.153.5.133:53441/ForAGISService?wsdl" >>>>> >>>>> >>>>> transport = WindowsHttpAuthenticated(username=user, password=password) >>>>> client = Client(url, transport=transport) >>>>> >>>>> >>>>> print "List of methods for this web service:" >>>>> print [method for method in client.wsdl.services[0].ports[0].methods] >>>>> >>>>> >>>>> print "\nsample info:" >>>>> print client.service.GetSampleInfoById(sampleID) >>>>> >>>>> The NTLM transport is supported by python-ntlm package as mentioned in >>>>> https://fedorahosted.org/suds/wiki/Documentation#WindowsNTLM. >>>>> >>>>> But I prefer to use pysimplesoap as SOAP client in my web2py >>>>> application. I wonder if there is also an feasible approach to implement >>>>> it >>>>> with pysimplesoap + python-ntlm? If someone could provide a code example, >>>>> that will be perfect. >>>>> >>>>> Thanks! >>>>> >>>>> >>>> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.