Advertisement
mr_maui

Untitled

Jun 15th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. import SOAPpy
  2. import base64
  3. import Crypto.Util.Counter
  4. import urllib, urllib2
  5. import re
  6. from SOAPpy import Config, HTTPTransport, SOAPAddress, WSDL
  7. from Crypto.Cipher import AES
  8.  
  9.  
  10. class myHTTPTransport(SOAPpy.HTTPTransport):
  11. username = None
  12. passwd = None
  13.  
  14. @classmethod
  15. def setAuthentication(cls,u,p):
  16.  
  17. cls.username = u
  18. cls.passwd = p
  19.  
  20. def call(self, addr, data, namespace, soapaction=None, encoding=None,
  21. http_proxy=None, config=SOAPpy.Config):
  22.  
  23.  
  24. if not isinstance(addr, SOAPpy.SOAPAddress):
  25. addr=SOAPAddress(addr, config)
  26.  
  27. if self.username != None:
  28. addr.user = self.username+":"+self.passwd
  29.  
  30. return SOAPpy.HTTPTransport.call(self, addr, data, namespace, soapaction,
  31. encoding, http_proxy, config)
  32.  
  33.  
  34. theurl = 'http://201.144.238.72/webservice_mkt/WS_Comercios.php?wsdl'
  35. # theurl = 'http://www.itesecc.com:8087/WS_Comercios.php?wsdl'
  36. username = 'osmar'
  37. password = 'carreras1'
  38. passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
  39. passman.add_password(None, theurl, username, password)
  40. authhandler = urllib2.HTTPBasicAuthHandler(passman)
  41. opener = urllib2.build_opener(authhandler)
  42. urllib2.install_opener(opener)
  43. pagehandle = urllib2.urlopen(theurl)
  44. print "pagehandle:",pagehandle
  45.  
  46.  
  47.  
  48. AES.key_size=128
  49. AES.block_size =256
  50. iv="K~izx81wS5z?>xy#"
  51. key="YZ$*!l?!52bVh>Y9`'sa!Th]50C+RW~<"
  52.  
  53. try:
  54.  
  55. # wsdlUrl = 'http://201.144.238.72/webservice_mkt/WS_Comercios.php?wsdl'
  56. # client = SOAPpy.WSDL.Proxy(wsdlUrl)
  57.  
  58. myHTTPTransport.setAuthentication('osmar', 'carreras1')
  59. client = WSDL.Proxy(pagehandle, transport=myHTTPTransport)
  60.  
  61.  
  62. datos_entrada_h = SOAPpy.structType()
  63.  
  64. crypt_object=AES.new(key, AES.MODE_CFB, iv)
  65. datos_entrada_h._addItem('_idComerciante',base64.b64encode(crypt_object.encrypt('CVP-00001')))
  66. crypt_object=AES.new(key, AES.MODE_CFB, iv)
  67. datos_entrada_h._addItem('_fechaHoraPagoInicial',base64.b64encode(crypt_object.encrypt('2016-05-01')))
  68. crypt_object=AES.new(key, AES.MODE_CFB, iv)
  69. datos_entrada_h._addItem('_fechaHoraPagoFinal',base64.b64encode(crypt_object.encrypt('2016-05-01')))
  70.  
  71.  
  72. result_h = client.getHistorial(datos_entrada_h)
  73.  
  74. print "result_h: ",result_h
  75.  
  76.  
  77.  
  78.  
  79. except IOError as e:
  80. print "Error al pasear el wsdl del web service, intente mas tarde"
  81. # except ValueError:
  82. # print "Error el los valores, intente mas tarde"
  83. # except:
  84. # print "Error al comunicarse con el webservice, intente mas tarde"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement