Yes it works!!!!!

Il giorno mercoledì 19 marzo 2014 17:51:42 UTC+1, Mariano Reingart ha 
scritto:
>
> Sorry, I forgot the underscore in http_headers in "the set th cookie" part
>
> *client.http_headers['Cookie'] = client.response['set-cookie']*
>
> Regards,
>
> Mariano Reingart
> http://www.sistemasagiles.com.ar
> http://reingart.blogspot.com
>
>
> On Wed, Mar 19, 2014 at 1:50 PM, Mariano Reingart 
> <rein...@gmail.com<javascript:>
> > wrote:
>
>> This should work:
>>
>> *# call the autentication remote method:*
>>
>>  
>> *client.call('init',('host','localhost'),('port','4859'),('user','CRSPRIXXXXX),('password','XXXX'),('pnumber','XXXX'),('db','XXXXXX'),('encoding',None),('titlePageSize',10),('indexPageSize',10))
>>  
>> *
>>
>> *# set the cookie*
>>
>>  *client.http headers['Cookie'] = client.response['set-cookie']*
>>
>> *# call the methods that need the cookie:*
>>
>> *client.call('executeQuery',('query','[/doc/@nrecord]=00503459'))*
>>
>> Please confirm if that work, so I can add it to pysimplesoap library
>>
>> Best regards,
>>
>>
>> Mariano Reingart
>> http://www.sistemasagiles.com.ar
>> http://reingart.blogspot.com
>>
>>
>> On Wed, Mar 19, 2014 at 12:29 PM, piero crisci 
>> <piero....@gmail.com<javascript:>
>> > wrote:
>>
>>> *this is the client obj*
>>> client = SoapClient(
>>> location=location_wsdl,
>>> wsdl=wsdl,
>>> ns = ns,
>>> sessions=True,
>>> trace=True, 
>>> http_headers={'Authorization': "Basic %s" % 
>>> auth},username=username,password=password)
>>> client['AuthHeaderElement'] = {'Authorization': "Basic %s" % auth}
>>> client['http_header'] = {'Authorization': "Basic %s" % auth}
>>>
>>> *This is the the 'init' call*
>>>
>>> client.call('init',('host','localhost'),('port','4859'),('user','CRSPRIXXXXX),('password','XXXX'),('pnumber','XXXX'),('db','XXXXXX'),('encoding',None),('titlePageSize',10),('indexPageSize',10))
>>>  
>>> *And this is the 'init' response*
>>>
>>> {'status': '200', 'transfer-encoding': 'chunked', 'set-cookie': 
>>> 'JSESSIONID=4EDBE009B6A581E6023B9203365BF1EC; Path=/3diws', 'server': 
>>> 'Apache-Coyote/1.1', 'date': 'Wed, 19 Mar 2014 15:23:24 GMT', 
>>> 'content-type': 'text/xml;charset=utf-8'}
>>>
>>> *This is the the 'executeQuery' call*
>>> client.call('executeQuery',('query','[/doc/@nrecord]=00503459'))
>>>
>>> *This is the response to the 'ExecuteQuery' call*
>>> {'status': '500', 'transfer-encoding': 'chunked', 'set-cookie': 
>>> 'JSESSIONID=ECC4905C2D52F7456F4968E2C30D6639; Path=/3diws', 'server': 
>>> 'Apache-Coyote/1.1', 'connection': 'close', 'date': 'Wed, 19 Mar 2014 
>>> 15:25:26 GMT', 'content-type': 'text/xml;charset=utf-8'}
>>>
>>>
>>>
>>> Il giorno mercoledì 19 marzo 2014 15:25:45 UTC+1, Mariano Reingart ha 
>>> scritto:
>>>>
>>>> Could you send me the content of client.response (http headers)?
>>>> Maybe it is returning a cookie or something equivalent 
>>>> Then, you can update client.http_headers with them and it should work
>>>>
>>>> Best regards,
>>>>
>>>> Mariano Reingart
>>>> http://www.sistemasagiles.com.ar
>>>> http://reingart.blogspot.com
>>>>
>>>>
>>>> On Wed, Mar 19, 2014 at 7:40 AM, piero crisci <piero....@gmail.com>wrote:
>>>>
>>>>> Hi mariano i still got some problem
>>>>> I solved the problem with the basic authentication but i still have 
>>>>> some problem on calling webservice.
>>>>> The webservice infact need a first call for the db connection ('init' )
>>>>> After this call you can call the other services.
>>>>> I made this code :
>>>>>  
>>>>> from pysimplesoap.client import SoapClient
>>>>> from pysimplesoap.client import SoapClient, SimpleXMLElement
>>>>> location_wsdl = " *http://docway.demo.3di.it 
>>>>> <http://docway.demo.3di.it>*/3diws/services/eXtraWay<http://docway.demo.3di.it/3diws/services/eXtraWay>
>>>>> "
>>>>> wsdl =  *http://docway.demo.3di.it/ <http://docway.demo.3di.it/>*/
>>>>> 3diws/services/eXtraWay?wsdl<http://10.55.38.247:8080/3diws/services/eXtraWay?wsdl>
>>>>> "
>>>>> namespace_wsdl = " 
>>>>> *http://docway.demo.3di.it/*<http://www.google.com/url?q=http%3A%2F%2Fdocway.demo.3di.it%2F3diws%2Fservices%2FeXtraWay%3Fwsdl&sa=D&sntz=1&usg=AFQjCNFAe47af7Nlfx1k8KJR8x-hsRTOAg>
>>>>> 3diws/services/eXtraWay<http://10.55.38.247:8080/3diws/services/eXtraWay>
>>>>> "
>>>>> import base64
>>>>> username='admin'
>>>>> password='xxxx'
>>>>>
>>>>> auth = base64.b64encode('%s:%s' % (username, password))
>>>>> client = SoapClient(location = location_wsdl, wsdl=wsdl,
>>>>> *sessions=True,* namespace=namespace_wsdl, 
>>>>> http_headers={'Authorization': "Basic %s" % auth},username=username,
>>>>> password=password)
>>>>> client['AuthHeaderElement'] = {'Authorization': "Basic %s" % auth}
>>>>>
>>>>> client.send('init',xml=xml_init)
>>>>> client.send('executeQuery',xml=xml_execute_query)
>>>>>  When i call the 'executeQuery' i got as response that the connection 
>>>>> is not established. The connection should be established with the 'Init' 
>>>>> call . 
>>>>> I got the same problem with SOAPUI but i managed to solve the problem 
>>>>> activating the option "Maintain HTTP Session"
>>>>> Even putting sessions = True is not solving the problem
>>>>> Thank for help 
>>>>> Piero
>>>>>
>>>>> Il giorno martedì 18 marzo 2014 07:26:35 UTC+1, Mariano Reingart ha 
>>>>> scritto:
>>>>>
>>>>>> Hi piero:
>>>>>>
>>>>>> The first choice to connect to a webservice that requires username & 
>>>>>> password (add_credentials), you will httplib2 installed:
>>>>>>
>>>>>> https://code.google.com/p/httplib2
>>>>>>
>>>>>> Then you could do:
>>>>>>
>>>>>> client = SoapClient(location = location_wsdl,sessions=True,us
>>>>>> ername='admin',password='xxxxxx')
>>>>>>
>>>>>> Also, assuming your webservice supports basic auth, you could pass 
>>>>>> the Authentication http header directly (it shouldn't need to install 
>>>>>> external library):
>>>>>>
>>>>>> import base64
>>>>>> auth = base64.b64encode('%s:%s' % (username, password)).replace('\n', 
>>>>>> '')
>>>>>>
>>>>>> client = SoapClient(location = location_wsdl, sessions=True, 
>>>>>> http_headers={'Authorization': "Basic %s" % auth})
>>>>>>
>>>>>> Let me know if this solves your issue,
>>>>>>
>>>>>> Best regards
>>>>>>
>>>>>>
>>>>>> Mariano Reingart
>>>>>> http://www.sistemasagiles.com.ar
>>>>>> http://reingart.blogspot.com
>>>>>>
>>>>>>
>>>>>> On Mon, Mar 17, 2014 at 6:02 PM, piero crisci <piero....@gmail.com>wrote:
>>>>>>
>>>>>>>  Hello i am trying to connect to this wsdl: 
>>>>>>> http://docway.demo.3di.it/3diws/services/eXtraWay?wsdl 
>>>>>>> It requires http basic authentication  and i am using pysimplesoap 
>>>>>>> 1.10 and i tried this configuration:
>>>>>>>
>>>>>>> from pysimplesoap.client import SoapClient
>>>>>>> location_wsdl = "http://docway.demo.3di.it/3diws/services";
>>>>>>> wsdl = "http://docway.demo.3di.it/3diws/services/eXtraWay?wsdl";
>>>>>>> client = SoapClient(location = 
>>>>>>> location_wsdl,sessions=True,http_headers={'username': 
>>>>>>> 'admin', 'password': 'xxxx'},username='admin',password='xxxxxx')
>>>>>>>
>>>>>>> I got this error
>>>>>>> Traceback (most recent call last):
>>>>>>>   File "<stdin>", line 1, in <module>
>>>>>>>   File "build\bdist.win32\egg\pysimplesoap\client.py", line 133, in 
>>>>>>> __init__
>>>>>>>   File "build\bdist.win32\egg\pysimplesoap\client.py", line 469, in 
>>>>>>> wsdl_parse
>>>>>>>   File "build\bdist.win32\egg\pysimplesoap\helpers.py", line 71, in 
>>>>>>> fetch
>>>>>>>   File "build\bdist.win32\egg\pysimplesoap\transport.py", line 121, 
>>>>>>> in request
>>>>>>>   File "C:\python27\lib\urllib2.py", line 406, in open
>>>>>>>     response = meth(req, response)
>>>>>>>   File "C:\python27\lib\urllib2.py", line 519, in http_response
>>>>>>>     'http', request, response, code, msg, hdrs)
>>>>>>>   File "C:\python27\lib\urllib2.py", line 444, in error
>>>>>>>     return self._call_chain(*args)
>>>>>>>   File "C:\python27\lib\urllib2.py", line 378, in _call_chain
>>>>>>>     result = func(*args)
>>>>>>>   File "C:\python27\lib\urllib2.py", line 527, in http_error_default
>>>>>>>     raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
>>>>>>> urllib2.HTTPError: HTTP Error 401: Unauthorized
>>>>>>>
>>>>>>> It seems like the basic authenitcation is not supported. am I wrong?
>>>>>>> How i need to change the wsdl call? And how i can use a session to 
>>>>>>> send different call?
>>>>>>> Thx for help!
>>>>>>>  
>>>>>>> -- 
>>>>>>> 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+un...@googlegroups.com.
>>>>>>>
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>  -- 
>>>>> 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+un...@googlegroups.com.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  -- 
>>> 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+un...@googlegroups.com <javascript:>.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>

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

Reply via email to