Python - Web service python suds

 
Vista:
sin imagen de perfil

Web service python suds

Publicado por all (1 intervención) el 31/08/2016 07:00:29
Estimados,
Buenas noches desde Perú;
Estoy intentando hacer correr éste código escrito en python para aprender como consumir servicios web a través de python pero me surge un error que no sé como solucionarlo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/python
from suds.client import Client
from suds.wsse import *
import requests
import base64
import logging
 
logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.client').setLevel(logging.DEBUG)
 
 
def addSecurityHeader(client, username, password):
    security = Security()
    userNameToken = UsernameToken(username, password)
    timeStampToken = Timestamp(validity=600)
    security.tokens.append(userNameToken)
    security.tokens.append(timeStampToken)
    client.set_options(wsse=security)
username = '20600999806MODDATOS'
password = 'moddatos'
session = requests.session()
session.auth = (username, password)
 
WSDL_URL = 'https://www.sunat.gob.pe/ol-ti-itcpgem-beta/billService?wsdl'
client = Client(WSDL_URL, faults=False, cachingpolicy=1, location=WSDL_URL)
addSecurityHeader(client, username, password)
 
# Send File
f = open('/home/kiko/20543323862-01-F001-00000427.ZIP', 'rb')
data_file = f.read()
get_file = client.service.sendBill("20543323862-01-F001-00000427.ZIP", base64.b64encode(str(data_file)))

Me sale el siguiente error:

File "/usr/lib/python2.7/dist-packages/suds/client.py", line 112, in __init__ self.wsdl = reader.open(url)
File "/usr/lib/python2.7/dist-packages/suds/reader.py", line 152, in open d = self.fn(url, self.options)
File "/usr/lib/python2.7/dist-packages/suds/wsdl.py", line 136, in __init__ d = reader.open(url)
File "/usr/lib/python2.7/dist-packages/suds/reader.py", line 79, in open d = self.download(url)
File "/usr/lib/python2.7/dist-packages/suds/reader.py", line 95, in download fp = self.options.transport.open(Request(url))
File "/usr/lib/python2.7/dist-packages/suds/transport/https.py", line 60, in open return HttpTransport.open(self, request)
File "/usr/lib/python2.7/dist-packages/suds/transport/http.py", line 64, in open raise TransportError(str(e), e.code, e.fp)


No entiendo a que se refiere el error y como poder solucionarlo.

El programa lo que hace es tratar de enviar una factura electrónica a sunat a través de web services pero no logro correrlo.

Gracias de antemano por la ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder