Advertisement
mr_maui

Untitled

Jun 15th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 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. # wsdlUrl = 'http://201.144.238.72/webservice_mkt/WS_Comercios.php?wsdl'
  35. wsdlUrl = 'http://201.144.238.72/webservice_mkt/WS_Camiones.php?wsdl'
  36. # wsdlUrl = 'http://www.itesecc.com:8087/WS_Comercios.php?wsdl'
  37. # wsdlUrl = 'http://www.itesecc.com:8087/WS_Camiones.php?wsdl'
  38.  
  39. username = 'osmar'
  40. password = 'carreras1'
  41. passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
  42. passman.add_password(None, wsdlUrl, username, password)
  43. authhandler = urllib2.HTTPBasicAuthHandler(passman)
  44. opener = urllib2.build_opener(authhandler)
  45. urllib2.install_opener(opener)
  46. pagehandle = urllib2.urlopen(wsdlUrl)
  47. print "pagehandle:",pagehandle
  48.  
  49.  
  50.  
  51. AES.key_size=128
  52. AES.block_size =256
  53. iv="K~izx81wS5z?>xy#"
  54. key="YZ$*!l?!52bVh>Y9`'sa!Th]50C+RW~<"
  55.  
  56. try:
  57.  
  58. # wsdlUrl = 'http://201.144.238.72/webservice_mkt/WS_Comercios.php?wsdl'
  59. # client = SOAPpy.WSDL.Proxy(wsdlUrl)
  60.  
  61.  
  62. ##Start Camiones
  63.  
  64. myHTTPTransport.setAuthentication('osmar', 'carreras1')
  65. client = SOAPpy.WSDL.Proxy(pagehandle, transport=myHTTPTransport)
  66.  
  67. # client = SOAPpy.WSDL.Proxy(wsdlUrl)
  68.  
  69. datos_entrada = SOAPpy.structType()
  70. crypt_object=AES.new(key, AES.MODE_CFB, iv)
  71. datos_entrada._addItem('_fechaHoraPago',base64.b64encode(crypt_object.encrypt('2016-06-14 00:00:00')))
  72. result = client.getHistorialEfectivo(datos_entrada)
  73.  
  74.  
  75.  
  76. ##Start comercios
  77.  
  78. # myHTTPTransport.setAuthentication('osmar', 'carreras1')
  79. # client = SOAPpy.WSDL.Proxy(pagehandle, transport=myHTTPTransport)
  80.  
  81. # client = SOAPpy.WSDL.Proxy(wsdlUrl)
  82.  
  83. # datos_entrada_h = SOAPpy.structType()
  84. # crypt_object=AES.new(key, AES.MODE_CFB, iv)
  85. # datos_entrada_h._addItem('_idComerciante',base64.b64encode(crypt_object.encrypt('CVP-00001')))
  86. # crypt_object=AES.new(key, AES.MODE_CFB, iv)
  87. # datos_entrada_h._addItem('_fechaHoraPagoInicial',base64.b64encode(crypt_object.encrypt('2016-05-01')))
  88. # crypt_object=AES.new(key, AES.MODE_CFB, iv)
  89. # datos_entrada_h._addItem('_fechaHoraPagoFinal',base64.b64encode(crypt_object.encrypt('2016-05-01')))
  90. # result = client.getHistorial(datos_entrada_h)
  91.  
  92. print "result: ",result
  93.  
  94.  
  95.  
  96.  
  97. except IOError as e:
  98. print "Error al pasear el wsdl del web service, intente mas tarde"
  99. except ValueError:
  100. print "Error el los valores, intente mas tarde"
  101. except:
  102. print "Error al comunicarse con el webservice, intente mas tarde"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement