7 changed files with 203 additions and 35 deletions
-
81pynfe/processamento/comunicacao.py
-
4pynfe/processamento/serializacao.py
-
58run_fake_soap_server.py
-
2tests/03-processamento-01-serializacao-xml.txt
-
51tests/03-processamento-04-comunicacao.txt
-
27tests/certificado.pem
-
15tests/key.pem
@ -1,24 +1,50 @@ |
|||
from soaplib.wsgi_soap import SimpleWSGISoapApp |
|||
from soaplib.service import soapmethod |
|||
from soaplib.serializers.primitive import String, Integer, Array, Null |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
class ServidorNFEFalso(SimpleWSGISoapApp): |
|||
@soapmethod(String, Integer, _returns=Array(String)) |
|||
def ping(self, nome, vezes): |
|||
ret = [nome for i in range(vezes)] |
|||
print ret |
|||
return ret |
|||
"""Este script deve ser executado com Python 2.6+ e OpenSSL""" |
|||
|
|||
import os |
|||
|
|||
CUR_DIR = os.path.dirname(os.path.abspath(__file__)) |
|||
|
|||
#from soaplib.wsgi_soap import SimpleWSGISoapApp |
|||
#from soaplib.service import soapmethod |
|||
#from soaplib.serializers.primitive import String, Integer, Array, Null |
|||
|
|||
#import tornado.wsgi |
|||
import tornado.httpserver |
|||
import tornado.ioloop |
|||
import tornado.web |
|||
import tornado.options |
|||
|
|||
#class ServidorNFEFalso(SimpleWSGISoapApp): |
|||
# @soapmethod(String, Integer, _returns=Array(String)) |
|||
# def ping(self, nome, vezes): |
|||
# ret = [nome for i in range(vezes)] |
|||
# return ret |
|||
|
|||
class HandlerStatusServico(tornado.web.RequestHandler): |
|||
def post(self): |
|||
self.write('<x/>') |
|||
|
|||
if __name__ == '__main__': |
|||
porta = 8080 |
|||
|
|||
# Via Tornado |
|||
import tornado.wsgi |
|||
import tornado.httpserver |
|||
import tornado.ioloop |
|||
application = ServidorNFEFalso() |
|||
container = tornado.wsgi.WSGIContainer(application) |
|||
http_server = tornado.httpserver.HTTPServer(container) |
|||
# Codigo específico da soaplib |
|||
#application = ServidorNFEFalso() |
|||
#container = tornado.wsgi.WSGIContainer(application) |
|||
#http_server = tornado.httpserver.HTTPServer(container) |
|||
|
|||
tornado.options.parse_command_line() |
|||
application = tornado.web.Application([ |
|||
(r'^/nfeweb/services/nfestatusservico.asmx$', HandlerStatusServico), # Consulta de status do serviço |
|||
]) |
|||
|
|||
ssl_options = { |
|||
'certfile': os.path.join(CUR_DIR, 'tests', 'certificado.pem'), |
|||
'keyfile': os.path.join(CUR_DIR, 'tests', 'key.pem'), |
|||
} |
|||
|
|||
http_server = tornado.httpserver.HTTPServer(application, ssl_options=ssl_options) |
|||
http_server.listen(porta) |
|||
tornado.ioloop.IOLoop.instance().start() |
|||
|
|||
@ -0,0 +1,27 @@ |
|||
-----BEGIN CERTIFICATE----- |
|||
MIIEqzCCA5OgAwIBAgIDMTg4MA0GCSqGSIb3DQEBBQUAMIGSMQswCQYDVQQGEwJC |
|||
UjELMAkGA1UECBMCUlMxFTATBgNVBAcTDFBvcnRvIEFsZWdyZTEdMBsGA1UEChMU |
|||
VGVzdGUgUHJvamV0byBORmUgUlMxHTAbBgNVBAsTFFRlc3RlIFByb2pldG8gTkZl |
|||
IFJTMSEwHwYDVQQDExhORmUgLSBBQyBJbnRlcm1lZGlhcmlhIDEwHhcNMDkwNTIy |
|||
MTcwNzAzWhcNMTAxMDAyMTcwNzAzWjCBnjELMAkGA1UECBMCUlMxHTAbBgNVBAsT |
|||
FFRlc3RlIFByb2pldG8gTkZlIFJTMR0wGwYDVQQKExRUZXN0ZSBQcm9qZXRvIE5G |
|||
ZSBSUzEVMBMGA1UEBxMMUE9SVE8gQUxFR1JFMQswCQYDVQQGEwJCUjEtMCsGA1UE |
|||
AxMkTkZlIC0gQXNzb2NpYWNhbyBORi1lOjk5OTk5MDkwOTEwMjcwMIGfMA0GCSqG |
|||
SIb3DQEBAQUAA4GNADCBiQKBgQCx1O/e1Q+xh+wCoxa4pr/5aEFt2dEX9iBJyYu/ |
|||
2a78emtorZKbWeyK435SRTbHxHSjqe1sWtIhXBaFa2dHiukT1WJyoAcXwB1GtxjT |
|||
2VVESQGtRiujMa+opus6dufJJl7RslAjqN/ZPxcBXaezt0nHvnUB/uB1K8WT9G7E |
|||
S0V17wIDAQABo4IBfjCCAXowIgYDVR0jAQEABBgwFoAUPT5TqhNWAm+ZpcVsvB7m |
|||
alDBjEQwDwYDVR0TAQH/BAUwAwEBADAPBgNVHQ8BAf8EBQMDAOAAMAwGA1UdIAEB |
|||
AAQCMAAwgawGA1UdEQEBAASBoTCBnqA4BgVgTAEDBKAvBC0yMjA4MTk3Nzk5OTk5 |
|||
OTk5OTk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDCgEgYFYEwBAwKgCQQHREZU |
|||
LU5GZaAZBgVgTAEDA6AQBA45OTk5OTA5MDkxMDI3MKAXBgVgTAEDB6AOBAwwMDAw |
|||
MDAwMDAwMDCBGmRmdC1uZmVAcHJvY2VyZ3MucnMuZ292LmJyMCAGA1UdJQEB/wQW |
|||
MBQGCCsGAQUFBwMCBggrBgEFBQcDBDBTBgNVHR8BAQAESTBHMEWgQ6BBhj9odHRw |
|||
Oi8vbmZlY2VydGlmaWNhZG8uc2VmYXoucnMuZ292LmJyL0xDUi9BQ0ludGVybWVk |
|||
aWFyaWEzOC5jcmwwDQYJKoZIhvcNAQEFBQADggEBAJFytXuiS02eJO0iMQr/Hi+O |
|||
x7/vYiPewiDL7s5EwO8A9jKx9G2Baz0KEjcdaeZk9a2NzDEgX9zboPxhw0RkWahV |
|||
CP2xvRFWswDIa2WRUT/LHTEuTeKCJ0iF/um/kYM8PmWxPsDWzvsCCRp146lc0lz9 |
|||
LGm5ruPVYPZ/7DAoimUk3bdCMW/rzkVYg7iitxHrhklxH7YWQHUwbcqPt7Jv0RJx |
|||
clc1MhQlV2eM2MO1iIlk8Eti86dRrJVoicR1bwc6/YDqDp4PFONTi1ddewRu6elG |
|||
S74AzCcNYRSVTINYiZLpBZO0uivrnTEnsFguVnNtWb9MAHGt3tkR0gAVs6S0fm8= |
|||
-----END CERTIFICATE----- |
|||
@ -0,0 +1,15 @@ |
|||
-----BEGIN RSA PRIVATE KEY----- |
|||
MIICXQIBAAKBgQCx1O/e1Q+xh+wCoxa4pr/5aEFt2dEX9iBJyYu/2a78emtorZKb |
|||
WeyK435SRTbHxHSjqe1sWtIhXBaFa2dHiukT1WJyoAcXwB1GtxjT2VVESQGtRiuj |
|||
Ma+opus6dufJJl7RslAjqN/ZPxcBXaezt0nHvnUB/uB1K8WT9G7ES0V17wIDAQAB |
|||
AoGAAYOcnzsVLR/JJKSa1uukis0WcYb/PsL7t2Ud6X5C/SdVrsh7jRMQ7oXNV4n7 |
|||
U2wayiHyQY/sZhhQoMYvVO6b2Wm/anq+F5L2QNT0FUxckRugDtH6tY6wqbs+AoTK |
|||
+eTBcSowB6HP6J9yZss02jSzh1xqX1t7q7dJEJjTGmoRczECQQDRrXux9N5Bdnzu |
|||
vTQFm7W1cYkxLrxPZ/gHFaHLAjd/h29cG1UTpkmUeKFDDPETE4q6Zmg3sWOAeMZB |
|||
tZQA7nf1AkEA2R5hS2Z+vvXLEGzxSTwYH2pRBoXUzuj801YqMhe4T/pJu4H3Bzab |
|||
4/SEEZdcFEa51HdOmqtOtQj1NDy/z3Lb0wJBAI1YaGEvU8BHcrKxgucg715QGg64 |
|||
laLl0HJeJ8IlTWo/z1cE6dYkK8fVhcggakbUzpkXPbwFbbEGOYfEMvBp0R0CQQCr |
|||
G98vriIbWthjJIhv3/Ve5Mngax6QxltiLpjoi3sNRMJRDRbiz23CFBT1TCUcMbUI |
|||
NdJz4KgR0nJ0bZ/43JtTAkBLJwkUNQDLdxx2EMif8KMRfsTAqUQ0d4wWnUP0hPHH |
|||
4qjUm/un000TF7eB85tszXxGxWATaGx4OPT91dXwzDsh |
|||
-----END RSA PRIVATE KEY----- |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue