
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.
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.
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


0