Advertisement
Guest User

Untitled

a guest
Jun 8th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 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. class myHTTPTransport(SOAPpy.HTTPTransport):
  10. username = None
  11. passwd = None
  12.  
  13. @classmethod
  14. def setAuthentication(cls,u,p):
  15.  
  16. print "paso"
  17.  
  18. cls.username = u
  19. cls.passwd = p
  20.  
  21. def call(self, addr, data, namespace, soapaction=None, encoding=None,
  22. http_proxy=None, config=SOAPpy.Config):
  23.  
  24. print "ok"
  25.  
  26. if not isinstance(addr, SOAPpy.SOAPAddress):
  27. addr=SOAPAddress(addr, config)
  28.  
  29. if self.username != None:
  30. addr.user = self.username+":"+self.passwd
  31.  
  32. return SOAPpy.HTTPTransport.call(self, addr, data, namespace, soapaction,
  33. encoding, http_proxy, config)
  34.  
  35.  
  36. theurl = 'http://www.itesecc.com:8087/WS_Camiones.php?wsdl'
  37. username = 'osmar'
  38. password = 'carreras1'
  39. passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
  40. passman.add_password(None, theurl, username, password)
  41. authhandler = urllib2.HTTPBasicAuthHandler(passman)
  42. opener = urllib2.build_opener(authhandler)
  43. urllib2.install_opener(opener)
  44. pagehandle = urllib2.urlopen(theurl)
  45. print "pagehandle:",pagehandle
  46.  
  47. AES.key_size=128
  48. AES.block_size =256
  49. iv="K~izx81wS5z?>xy#"
  50. key="YZ$*!l?!52bVh>Y9`'sa!Th]50C+RW~<"
  51.  
  52. crypt_object=AES.new(key, AES.MODE_CFB, iv)
  53.  
  54. try:
  55. myHTTPTransport.setAuthentication('osmar', 'carreras1')
  56. server = WSDL.Proxy(pagehandle, transport=myHTTPTransport)
  57.  
  58. datos_entrada = SOAPpy.structType()
  59. datos_entrada._addItem('_nomContribuyente',crypt_object.encrypt('_nomContribuyente'))
  60. datos_entrada._addItem('_domicilioContribuyente',crypt_object.encrypt('_domicilioContribuyente'))
  61. datos_entrada._addItem('_contribuyenteRFC',crypt_object.encrypt('_contribuyenteRFC'))
  62. datos_entrada._addItem('_contactoContribuyente',crypt_object.encrypt('_contactoContribuyente'))
  63. datos_entrada._addItem('_montoTotal',crypt_object.encrypt('500.00'))
  64. datos_entrada._addItem('_detalleReciboPago',crypt_object.encrypt('_detalleReciboPago'))
  65. datos_entrada._addItem('_datosFormaPago',crypt_object.encrypt('_datosFormaPago'))
  66. datos_entrada._addItem('_detalleConceptoPago',crypt_object.encrypt('_detalleConceptoPago'))
  67. datos_entrada._addItem('_cajeroID',crypt_object.encrypt('806'))
  68. datos_entrada._addItem('_oficinaID',crypt_object.encrypt('10'))
  69. result = server.guardar_datos(datos_entrada)
  70. print "result", result
  71. except IOError as e:
  72. print "Error al pasear el wsdl del web service, intente mas tarde"
  73. except ValueError:
  74. print "Error el los valores, intente mas tarde"
  75. except:
  76. print "Error al comunicarse con el webservice, intente mas tarde"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement