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):
- print "paso"
- cls.username = u
- cls.passwd = p
- def call(self, addr, data, namespace, soapaction=None, encoding=None,
- http_proxy=None, config=SOAPpy.Config):
- print "ok"
- 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://www.itesecc.com:8087/WS_Camiones.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~<"
- crypt_object=AES.new(key, AES.MODE_CFB, iv)
- try:
- myHTTPTransport.setAuthentication('osmar', 'carreras1')
- server = WSDL.Proxy(pagehandle, transport=myHTTPTransport)
- datos_entrada = SOAPpy.structType()
- datos_entrada._addItem('_nomContribuyente',crypt_object.encrypt('_nomContribuyente'))
- datos_entrada._addItem('_domicilioContribuyente',crypt_object.encrypt('_domicilioContribuyente'))
- datos_entrada._addItem('_contribuyenteRFC',crypt_object.encrypt('_contribuyenteRFC'))
- datos_entrada._addItem('_contactoContribuyente',crypt_object.encrypt('_contactoContribuyente'))
- datos_entrada._addItem('_montoTotal',crypt_object.encrypt('500.00'))
- datos_entrada._addItem('_detalleReciboPago',crypt_object.encrypt('_detalleReciboPago'))
- datos_entrada._addItem('_datosFormaPago',crypt_object.encrypt('_datosFormaPago'))
- datos_entrada._addItem('_detalleConceptoPago',crypt_object.encrypt('_detalleConceptoPago'))
- datos_entrada._addItem('_cajeroID',crypt_object.encrypt('806'))
- datos_entrada._addItem('_oficinaID',crypt_object.encrypt('10'))
- result = server.guardar_datos(datos_entrada)
- print "result", result
- 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