Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import SOAPpy
- import base64
- import Crypto.Util.Counter
- import urllib, urllib2
- import re
- from SOAPpy import Config, HTTPTransport, SOAPAddress, WSDL
- from Crypto.Cipher import AES
- class myHTTPTransport(SOAPpy.HTTPTransport):
- username = None
- passwd = None
- @classmethod
- def setAuthentication(cls,u,p):
- cls.username = u
- cls.passwd = p
- def call(self, addr, data, namespace, soapaction=None, encoding=None,
- http_proxy=None, config=SOAPpy.Config):
- if not isinstance(addr, SOAPpy.SOAPAddress):
- addr=SOAPAddress(addr, config)
- if self.username != None:
- addr.user = self.username+":"+self.passwd
- return SOAPpy.HTTPTransport.call(self, addr, data, namespace, soapaction,
- encoding, http_proxy, config)
- theurl = 'http://201.144.238.72/webservice_mkt/WS_Comercios.php?wsdl'
- # theurl = 'http://www.itesecc.com:8087/WS_Comercios.php?wsdl'
- username = 'osmar'
- password = 'carreras1'
- passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
- passman.add_password(None, theurl, username, password)
- authhandler = urllib2.HTTPBasicAuthHandler(passman)
- opener = urllib2.build_opener(authhandler)
- urllib2.install_opener(opener)
- pagehandle = urllib2.urlopen(theurl)
- print "pagehandle:",pagehandle
- AES.key_size=128
- AES.block_size =256
- iv="K~izx81wS5z?>xy#"
- key="YZ$*!l?!52bVh>Y9`'sa!Th]50C+RW~<"
- try:
- # wsdlUrl = 'http://201.144.238.72/webservice_mkt/WS_Comercios.php?wsdl'
- # client = SOAPpy.WSDL.Proxy(wsdlUrl)
- myHTTPTransport.setAuthentication('osmar', 'carreras1')
- client = WSDL.Proxy(pagehandle, transport=myHTTPTransport)
- datos_entrada_h = SOAPpy.structType()
- crypt_object=AES.new(key, AES.MODE_CFB, iv)
- datos_entrada_h._addItem('_idComerciante',base64.b64encode(crypt_object.encrypt('CVP-00001')))
- crypt_object=AES.new(key, AES.MODE_CFB, iv)
- datos_entrada_h._addItem('_fechaHoraPagoInicial',base64.b64encode(crypt_object.encrypt('2016-05-01')))
- crypt_object=AES.new(key, AES.MODE_CFB, iv)
- datos_entrada_h._addItem('_fechaHoraPagoFinal',base64.b64encode(crypt_object.encrypt('2016-05-01')))
- result_h = client.getHistorial(datos_entrada_h)
- print "result_h: ",result_h
- except IOError as e:
- print "Error al pasear el wsdl del web service, intente mas tarde"
- # except ValueError:
- # print "Error el los valores, intente mas tarde"
- # except:
- # print "Error al comunicarse con el webservice, intente mas tarde"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement