веб-сервис API odoo11, данные покрытия в utf8 и base64 - PullRequest
0 голосов
/ 21 декабря 2018

В настоящее время я работаю с сервисом, который подключается к веб-сервису API. Я добился этого в odoo10, но я использовал библиотеки в Python 2.7, к которым я уже обращаюсь, сейчас я использую odoo11 с Python 3.X, цель - отправитьXML в формате utf8 и затем passalor для base64 для отправки, моя проблема заключается в следующем:

мой код в Python 2.7:

def send_receipt(self, document):
        """
        Metodo que envia el XML al WS
        """
        self.logger.info(document)
        self.logger.info('Enviando documento para recepcion SRI')
        buf = StringIO()
        buf.write(document)

        buffer_xml = base64.encodestring(buf.getvalue())
        self.logger.info( buffer_xml)
        if not utils.check_service('prueba'):
            # TODO: implementar modo offline
            raise 'Error SRI', 'Servicio SRI no disponible.'

        client = Client(SriService.get_active_ws()[0])
        result = client.service.validarComprobante(buffer_xml)

этот метод отправляет XML в веб-сервисгде переменная документа - это XML-документ в байтовом формате, в переменную документа я выполнил преобразование в utf8 в base64 с этими библиотеками в python2.7, и она прекрасно работает для меня.

таким образом API вебобслуживай меня идеальным ответом.и я отправляю следующее в base 64:

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PGZh
Y3R1cmEgaWQ9ImNvbXByb2JhbnRlIiB2ZXJzaW9uPSIxLjEuMCI+CiAgPGluZm9UcmlidXRhcmlh
PgogICAgPGFtYmllbnRlPjE8L2FtYmllbnRlPgogICAgPHRpcG9FbWlzaW9uPjE8L3RpcG9FbWlz
aW9uPgogICAgPHJhem9uU29jaWFsPlNFUlZJQ0lPIERFIEFVVE9QQVJURVMgQVVUT0RFU0VSLCBT
LkEuPC9yYXpvblNvY2lhbD4KICAgIDxub21icmVDb21lcmNpYWw+U0VSVklDSU8gREUgQVVUT1BB
UlRFUyBBVVRPREVTRVIsIFMuQS48L25vbWJyZUNvbWVyY2lhbD4KICAgIDxydWM+MDk5Mjg5Nzk0
NTAwMTwvcnVjPgogICAgPGNsYXZlQWNjZXNvPjIwMTIyMDE4MDEwOTkyODk3OTQ1MDAxMTAwMTAw
MTAwMDAwMDExODAwMDAwMTQxMTI8L2NsYXZlQWNjZXNvPgogICAgPGNvZERvYz4wMTwvY29kRG9j
PgogICAgPGVzdGFiPjAwMTwvZXN0YWI+CiAgICA8cHRvRW1pPjAwMTwvcHRvRW1pPgogICAgPHNl
Y3VlbmNpYWw+MDAwMDAwMTE4PC9zZWN1ZW5jaWFsPgogICAgPGRpck1hdHJpej5LbSA5IDEvMiBW
aWEgRGF1bGUsIFVyYmFuaXphY2nDs24gSW5tYWNvbnNhLCA8L2Rpck1hdHJpej4KICA8L2luZm9U
cmlidXRhcmlhPgogIDxpbmZvRmFjdHVyYT4KICAgIDxmZWNoYUVtaXNpb24+MjAvMTIvMjAxODwv
ZmVjaGFFbWlzaW9uPiAKICAgIDxjb250cmlidXllbnRlRXNwZWNpYWw+MDk5Mjg5Nzk0NTwvY29u
dHJpYnV5ZW50ZUVzcGVjaWFsPgogICAgPG9ibGlnYWRvQ29udGFiaWxpZGFkPlNJPC9vYmxpZ2Fk
b0NvbnRhYmlsaWRhZD4KICAgIDx0aXBvSWRlbnRpZmljYWNpb25Db21wcmFkb3I+MDQ8L3RpcG9J
ZGVudGlmaWNhY2lvbkNvbXByYWRvcj4KICAgIDxyYXpvblNvY2lhbENvbXByYWRvcj5DVUxDQVkg
WkFNQlJBTk8gTFVJUyBFTlJJUVVFPC9yYXpvblNvY2lhbENvbXByYWRvcj4KICAgIDxpZGVudGlm
aWNhY2lvbkNvbXByYWRvcj4wMTAwOTcwNzU1MDAxPC9pZGVudGlmaWNhY2lvbkNvbXByYWRvcj4K
ICAgIDx0b3RhbFNpbkltcHVlc3Rvcz4xLjAwPC90b3RhbFNpbkltcHVlc3Rvcz4KICAgIDx0b3Rh
bERlc2N1ZW50bz4wLjA8L3RvdGFsRGVzY3VlbnRvPgogICAgPHRvdGFsQ29uSW1wdWVzdG9zPgog
ICAgICAKICAgIDwvdG90YWxDb25JbXB1ZXN0b3M+CiAgICAKICAgIDxwcm9waW5hPjAuMDA8L3By
b3BpbmE+CiAgICA8aW1wb3J0ZVRvdGFsPjEuMDA8L2ltcG9ydGVUb3RhbD4KICAgIDxtb25lZGE+
RE9MQVI8L21vbmVkYT4KICAgIDxwYWdvcz4KICAgICAgICA8cGFnbz4KICAgICAgICAgICAgPGZv
cm1hUGFnbz4xNzwvZm9ybWFQYWdvPgogICAgICAgICAgICA8dG90YWw+MS4wMDwvdG90YWw+CiAg
ICAgICAgPC9wYWdvPgogICAgPC9wYWdvcz4KICAgIDx2YWxvclJldEl2YT4wLjAwPC92YWxvclJl
dEl2YT4KICAgIDx2YWxvclJldFJlbnRhPjAuMDA8L3ZhbG9yUmV0UmVudGE+CiAgPC9pbmZvRmFj
dHVyYT4KICA8ZGV0YWxsZXM+CiAgICAKICAgIDxkZXRhbGxlPgogICAgICA8Y29kaWdvUHJpbmNp
cGFsPjEwMDY1MDI8L2NvZGlnb1ByaW5jaXBhbD4KICAgICAgPGRlc2NyaXBjaW9uPlsxMDA2NTAy
XSBTT1BPUlRFIFJBRElBRE9SPC9kZXNjcmlwY2lvbj4KICAgICAgPGNhbnRpZGFkPjEuMDAwMDAw
PC9jYW50aWRhZD4KICAgICAgPHByZWNpb1VuaXRhcmlvPjEuMDAwMDAwPC9wcmVjaW9Vbml0YXJp
bz4KICAgICAgPGRlc2N1ZW50bz4wLjAwPC9kZXNjdWVudG8+CiAgICAgIDxwcmVjaW9Ub3RhbFNp
bkltcHVlc3RvPjEuMDA8L3ByZWNpb1RvdGFsU2luSW1wdWVzdG8+CiAgICAgIDxpbXB1ZXN0b3M+
CiAgICAgICAgCiAgICAgIDwvaW1wdWVzdG9zPgogICAgPC9kZXRhbGxlPgogICAgCiAgPC9kZXRh
bGxlcz4KPGRzOlNpZ25hdHVyZSB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94
bWxkc2lnIyIgeG1sbnM6ZXRzaT0iaHR0cDovL3VyaS5ldHNpLm9yZy8wMTkwMy92MS4zLjIjIiBJ
ZD0iU2lnbmF0dXJlMTYxMDEzIj4KPGRzOlNpZ25lZEluZm8gSWQ9IlNpZ25hdHVyZS1TaWduZWRJ
bmZvNzMyODAiPgo8ZHM6Q2Fub25pY2FsaXphdGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93
d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1Ii8+CjxkczpTaWduYXR1cmVN
ZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjcnNhLXNo
YTEiLz4KPGRzOlJlZmVyZW5jZSBJZD0iU2lnbmVkUHJvcGVydGllc0lEODEwOTY2IiBUeXBlPSJo
dHRwOi8vdXJpLmV0c2kub3JnLzAxOTAzI1NpZ25lZFByb3BlcnRpZXMiIFVSST0iI1NpZ25hdHVy
ZTE2MTAxMy1TaWduZWRQcm9wZXJ0aWVzMjMwMjQ2Ij4KPGRzOkRpZ2VzdE1ldGhvZCBBbGdvcml0
aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNzaGExIi8+CjxkczpEaWdlc3RW
YWx1ZT5ra0dpeUwyY0hscHpueDJ5Ymo5S21IeitjZU09PC9kczpEaWdlc3RWYWx1ZT4KPC9kczpS
ZWZlcmVuY2U+CjxkczpSZWZlcmVuY2UgVVJJPSIjQ2VydGlmaWNhdGUxOTExNzE5Ij4KPGRzOkRp
Z2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNz
aGExIi8+CjxkczpEaWdlc3RWYWx1ZT4zYldHSk45K0gyeW1uV0hFRGwwbXg2VVJHeU09PC9kczpE
aWdlc3RWYWx1ZT4KPC9kczpSZWZlcmVuY2U+CjxkczpSZWZlcmVuY2UgSWQ9IlJlZmVyZW5jZS1J
RC04NTgzOTgiIFVSST0iI2NvbXByb2JhbnRlIj4KPGRzOlRyYW5zZm9ybXM+CjxkczpUcmFuc2Zv
cm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjZW52ZWxvcGVk
LXNpZ25hdHVyZSIvPgo8L2RzOlRyYW5zZm9ybXM+CjxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGht
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPgo8ZHM6RGlnZXN0VmFs
dWU+UnhTUXN3aG5wRXliVTg0Z2VESFpEOG5uMm5NPTwvZHM6RGlnZXN0VmFsdWU+CjwvZHM6UmVm
ZXJlbmNlPgo8L2RzOlNpZ25lZEluZm8+CjxkczpTaWduYXR1cmVWYWx1ZSBJZD0iU2lnbmF0dXJl
VmFsdWUyODEyNDYiPgpnWm13d3Z3b3VnNmhkWmdDNGtTUHNYbHgvNEF5T0RqaEZyNHIwR0NhRys0
VXJxRmt1aDN3aWRpMVRwdlBzRzhWWjg3Y2ZpdkxyNjNPCjVLQXA0eEtiUEMxSlB6anNtaWsxMkJy
bkRETnJFdmZZdFh3Y3FNRDFVTjU4d0FRS0pqQnd5Mm1ieDY4WHNYUStJMDNnSGlrRzFtWk0KWXBo
M0p4bDRuVkd1UFJ4bysrVFhYcVNwRGdvQ1plWHY1d2JWdFM3Y01ZSlZ5aUNOUkduajUrU05scDdz
TGVHLzZxeitSbUNaa3lwVwpxVkRNa2FPVlRoNmc1QkIrdjNrSkNIMi80QlhpYlE3alQ1aU1QRUt3
ZmFSQUttQ2ppczdqYTRVZmxtcXNKY3lXMTRkVzlhQ2E2Q2ZhCklyR2o4WktQWk90SkFYOUVNd2ht
U3BOMHVNbjNMb0VNYzRxZkZRPT0KPC9kczpTaWduYXR1cmVWYWx1ZT4KPGRzOktleUluZm8gSWQ9
IkNlcnRpZmljYXRlMTkxMTcxOSI+CjxkczpYNTA5RGF0YT4KPGRzOlg1MDlDZXJ0aWZpY2F0ZT4K
TUlJSitEQ0NDT0NnQXdJQkFnSUVWTkljeFRBTkJna3Foa2lHOXcwQkFRc0ZBRENCa3pFTE1Ba0dB
MVVFQmhNQ1JVTXhHekFaQmdOVgpCQW9URWxORlExVlNTVlJaSUVSQlZFRWdVeTVCTGpFd01DNEdB
MVVFQ3hNblJVNVVTVVJCUkNCRVJTQkRSVkpVU1VaSlEwRkRTVTlPCklFUkZJRWxPUms5U1RVRkRT
VTlPTVRVd013WURWUVFERXl4QlZWUlBVa2xFUVVRZ1JFVWdRMFZTVkVsR1NVTkJRMGxQVGlCVFZV
SWcKVTBWRFZWSkpWRmtnUkVGVVFUQWVGdzB4T0RBNE1qRXhORE0zTlRsYUZ3MHlNekE0TWpFeE5U
QTNOVGxhTUlHR01Rc3dDUVlEVlFRRwpFd0pGUXpFYk1Ca0dBMVVFQ2hNU1UwVkRWVkpKVkZrZ1JF
RlVRU0JUTGtFdU1UQXdMZ1lEVlFRTEV5ZEZUbFJKUkVGRUlFUkZJRU5GClVsUkpSa2xEUVVOSlQw
NGdSRVVnU1U1R1QxSk5RVU5KVDA0eEtEQVJCZ05WQkFNVENraEZUaUJEU0VrZ1Rra3dFd1lEVlFR
RkV3d3kKTURBNE1UZ3hNVFF4TWpFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dF
S0FvSUJBUUMyUmVPTWc4blFLUUttQ0hWZgpra1VSWXlzMjNjSkw5REVhZmp0eVBINEMxeXFuZHQ3
eE9JeXBXcG8vNTJsMUNFT3VTTlM5d3l5U29JUDZIaysvQ0NiYk9sNnhGSnY5CmFhV0R2d0g5VWVY
aVRjd2tPbTRWbDVjR0VMYTBtam00MjFiMkZlaXozMlFSVkZURjRrN0xRM25nUnJYei93Skx5QnAv
L0FtOW8zUmQKQ2FzY0MzdEo0OEdSMU9yOGFUZkxQVzV1clBMdUFJd3I3YU53cnJJV1pKTDk5Nlhu
Zk5IcEhJRDVnN1FwVTFxNDBiWHA5a2dpK0xaawpRL0U3SFYrT0pkc3pudllqUVhFZE9KYkwvUWxB
WFNLdWJkUkFwc05nbncvYTNOUytuZER3OXV3U2tPYzNpS3d5QStnMmpQc01WMFhkCkNwNUFKUkZo
QnhJRkJjN2pMVFZyQWdNQkFBR2pnZ1pkTUlJR1dUQUxCZ05WSFE4RUJBTUNCZUF3V1FZSUt3WUJC
UVVIQVFFRVRUQkwKTUVrR0NDc0dBUVVGQnpBQmhqMW9kSFJ3T2k4dmIyTnpjR2QzTG5ObFkzVnlh
WFI1WkdGMFlTNXVaWFF1WldNdlpXcGlZMkV2Y0hWaQpiR2xqZDJWaUwzTjBZWFIxY3k5dlkzTndN
SUhNQmdOVkhTQUVnY1F3Z2NFd1FBWUtLd1lCQkFHQ3BuSUNDVEF5TURBR0NDc0dBUVVGCkJ3SUNN
Q1FhSWtObGNuUnBabWxqWVdSdklHUmxJRkpsY0hKbGMyVnVkR0Z1ZEdVZ1RHVm5ZV3d3ZlFZS0t3
WUJCQUdDcG5JQ0F6QnYKTUcwR0NDc0dBUVVGQndJQkZtRm9kSFJ3Y3pvdkwzZDNkeTV6WldOMWNt
bDBlV1JoZEdFdWJtVjBMbVZqTDJ4bGVXVnpYMjV2Y20xaApkR2wyWVhNdlVHOXNhWFJwWTJGeklH
UmxJRU5sY25ScFptbGpZV1J2SUZKbGNISmxjMlZ1ZEdGdWRHVWdUR1ZuWVd3dWNHUm1NRFVHCkNp
c0dBUVFCZ3FaeUF3b0VKeE1sVTBWU1ZrbERTVThnUkVVZ1FWVlVUMUJCVWxSRlV5QkJWVlJQUkVW
VFJWSWdVeTVCTGpBZEJnb3IKQmdFRUFZS21jZ01MQkE4VERUQTVPVEk0T1RjNU5EVXdNREV3R1FZ
S0t3WUJCQUdDcG5JREFRUUxFd2swT0RNM05UZ3pNakl3RndZSwpLd1lCQkFHQ3BuSURBZ1FKRXdk
SVJVNGdRMGhKTUJJR0Npc0dBUVFCZ3FaeUF3TUVCQk1DVGtrd0h3WUtLd1lCQkFHQ3BuSURCUVFS
CkV3OUhSVkpGVGxSRklFZEZUa1ZTUVV3d2dhRUdDaXNHQVFRQmdxWnlBd2NFZ1pJVGdZOURTVlZF
UVVSRlRFRTZJRXhQVkM0Z1NVNU4KUVVOUFRsTkJJRTVWVFVWU1R6b2dVMDlNUVZJZ09TQlNSVVpG
VWtWT1EwbEJPaUJCSUZSU1JWTWdRMVZCUkZKQlV5QkVSVXdnUTA5TQpSVWRKVHcwS1RFVlBUa2xF
UVZNZ1IwRlNRMGxCSUUxQlRscEJUa0U2SURJMElFTkJVbEpGVkVWU1R6b2dWa2xCSUVSQlZVeEZJ
RXRKClRFOU5SVlJTVHpvZ09UQWJCZ29yQmdFRUFZS21jZ01JQkEwVEN6VTVNelF5TVRFek1URXlN
QmtHQ2lzR0FRUUJncVp5QXdrRUN4TUoKUjFWQldVRlJWVWxNTUJjR0Npc0dBUVFCZ3FaeUF3d0VD
Uk1IUlVOVlFVUlBVakFmQmdvckJnRUVBWUttY2dNZ0JCRVREekF3TVRBdwpNakF3TURBeE9EUTNO
VEFUQmdvckJnRUVBWUttY2dNaEJBVVRBMUJHV0RBa0JnTlZIUkVFSFRBYmdSbHFZV2x0WlM1dWFV
QmhkWFJ2CmNHRnlkR1Z6Ym1NdVkyOXRNSUlDZXdZRFZSMGZCSUlDY2pDQ0FtNHdnZ0pxb0lJQ1px
Q0NBbUtHUFdoMGRIQTZMeTl2WTNOd1ozY3UKYzJWamRYSnBkSGxrWVhSaExtNWxkQzVsWXk5bGFt
SmpZUzl3ZFdKc2FXTjNaV0l2YzNSaGRIVnpMMjlqYzNDR2dkVnNaR0Z3T2k4dgpaR2x5WldOMExu
TmxZM1Z5YVhSNVpHRjBZUzV1WlhRdVpXTXZZMjQ5UTFKTU1qUTNMR051UFVGVlZFOVNTVVJCUkNV
eU1FUkZKVEl3ClEwVlNWRWxHU1VOQlEwbFBUaVV5TUZOVlFpVXlNRk5GUTFWU1NWUlpKVEl3UkVG
VVFTeHZkVDFGVGxSSlJFRkVKVEl3UkVVbE1qQkQKUlZKVVNVWkpRMEZEU1U5T0pUSXdSRVVsTWpC
SlRrWlBVazFCUTBsUFRpeHZQVk5GUTFWU1NWUlpKVEl3UkVGVVFTVXlNRk11UVM0cwpZejFGUXo5
alpYSjBhV1pwWTJGMFpWSmxkbTlqWVhScGIyNU1hWE4wUDJKaGMyV0dnWjVvZEhSd2N6b3ZMMlJw
Y21WamRDNXpaV04xCmNtbDBlV1JoZEdFdWJtVjBMbVZqTDM1amNtd3ZZWFYwYjNKcFpHRmtYMlJs
WDJObGNuUnBabWxqWVdOcGIyNWZjM1ZpWDNObFkzVnkKYVhSNVgyUmhkR0ZmWlc1MGFXUmhaRjlr
WlY5alpYSjBhV1pwWTJGamFXOXVYMlJsWDJsdVptOXliV0ZqYVc5dVgyTjFjbWwwZVY5awpZWFJo
WDNNdVlTNWZZMTlsWTE5amNteG1hV3hsTG1OeWJLU0JwekNCcERFTE1Ba0dBMVVFQmhNQ1JVTXhH
ekFaQmdOVkJBb1RFbE5GClExVlNTVlJaSUVSQlZFRWdVeTVCTGpFd01DNEdBMVVFQ3hNblJVNVVT
VVJCUkNCRVJTQkRSVkpVU1VaSlEwRkRTVTlPSUVSRklFbE8KUms5U1RVRkRTVTlPTVRVd013WURW
UVFERXl4QlZWUlBVa2xFUVVRZ1JFVWdRMFZTVkVsR1NVTkJRMGxQVGlCVFZVSWdVMFZEVlZKSgpW
RmtnUkVGVVFURVBNQTBHQTFVRUF4TUdRMUpNTWpRM01Dc0dBMVVkRUFRa01DS0FEekl3TVRnd09E
SXhNVFF6TnpVNVdvRVBNakF5Ck16QTRNakV4TlRBM05UbGFNQjhHQTFVZEl3UVlNQmFBRlBjdlRP
QjE1MktqZUpaYkJyWXVjVHZNYkQrUU1CMEdBMVVkRGdRV0JCUmgKSTkveVlvV3FyaFFuRWhWZHVS
eXl5S2xGL2pBSkJnTlZIUk1FQWpBQU1Ca0dDU3FHU0liMmZRZEJBQVFNTUFvYkJGWTRMakVEQWdP
bwpNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJKeUIyMXBBeEdyLzR5TzlDY0Q2Ym9HeWk3aThT
M2NiOHdDMm8xOWdOSWhSZGUxZUdKClI1cGtXRHhjcUgxRU95YXRhUXRUcnEyU3p2RjV0T2Mzb0dG
Z2d6eGlYc1hGZGtSbU1XaHMzSnZ6NVNJck1vbTNJRGhGUEZ5OG1NOWQKNStQY0w4b0pTYkg0cFNF
NXF1RnExdDN0VTNnRFhEcCtiRlllZ04zYUE3UDJtOXJGMk5QNytXY2dlKzE4QytuTDYvZlVvZEFH
VUZ3KwozRE9JdDcxazRHalJqdld5VEtCOTJSQ244endRaEVsMnJ1ZzNSNURubkFKalk1S1V3UUd3
Z0o5N0R4RlpEYlFVWm1ublE5b0dmajBKClFaVlpMbmFkK3dia09lZUszYVZ0REFER3FvT3RhQkhz
RUE4VHdmdmZVRld5NzFLY0t6RXRCVHVYK1NNR1JPZUoKPC9kczpYNTA5Q2VydGlmaWNhdGU+Cjwv
ZHM6WDUwOURhdGE+CjxkczpLZXlWYWx1ZT4KPGRzOlJTQUtleVZhbHVlPgo8ZHM6TW9kdWx1cz4K
dGtYampJUEowQ2tDcGdoMVg1SkZFV01yTnQzQ1MvUXhHbjQ3Y2p4K0F0Y3FwM2JlOFRpTXFWcWFQ
K2RwZFFoRHJralV2Y01za3FDRAoraDVQdndnbTJ6cGVzUlNiL1dtbGc3OEIvVkhsNGszTUpEcHVG
WmVYQmhDMnRKbzV1TnRXOWhYb3M5OWtFVlJVeGVKT3kwTjU0RWExCjgvOENTOGdhZi93SnZhTjBY
UW1ySEF0N1NlUEJrZFRxL0drM3l6MXVicXp5N2dDTUsrMmpjSzZ5Rm1TUy9mZWw1M3pSNlJ5QStZ
TzAKS1ZOYXVORzE2ZlpJSXZpMlpFUHhPeDFmamlYYk01NzJJMEZ4SFRpV3kvMEpRRjBpcm0zVVFL
YkRZSjhQMnR6VXZwM1E4UGJzRXBEbgpONGlzTWdQb05vejdERmRGM1FxZVFDVVJZUWNTQlFYTzR5
MDFhdz09CjwvZHM6TW9kdWx1cz4KPGRzOkV4cG9uZW50PkFRQUI8L2RzOkV4cG9uZW50Pgo8L2Rz
OlJTQUtleVZhbHVlPgo8L2RzOktleVZhbHVlPgo8L2RzOktleUluZm8+CjxkczpPYmplY3QgSWQ9
IlNpZ25hdHVyZTE2MTAxMy1PYmplY3Q2Njk5MjYiPjxldHNpOlF1YWxpZnlpbmdQcm9wZXJ0aWVz
IFRhcmdldD0iI1NpZ25hdHVyZTE2MTAxMyI+PGV0c2k6U2lnbmVkUHJvcGVydGllcyBJZD0iU2ln
bmF0dXJlMTYxMDEzLVNpZ25lZFByb3BlcnRpZXMyMzAyNDYiPjxldHNpOlNpZ25lZFNpZ25hdHVy
ZVByb3BlcnRpZXM+PGV0c2k6U2lnbmluZ1RpbWU+MjAxOC0xMi0yMVQwOTo1NDo0NSswMDowMDwv
ZXRzaTpTaWduaW5nVGltZT48ZXRzaTpTaWduaW5nQ2VydGlmaWNhdGU+PGV0c2k6Q2VydD48ZXRz
aTpDZXJ0RGlnZXN0PjxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPjxkczpEaWdlc3RWYWx1ZT5tamRMVXF0ZEdBY0NRNTdF
REUrUnZjS1Y1NWM9PC9kczpEaWdlc3RWYWx1ZT48L2V0c2k6Q2VydERpZ2VzdD48ZXRzaTpJc3N1
ZXJTZXJpYWw+PGRzOlg1MDlJc3N1ZXJOYW1lPkNOPUFVVE9SSURBRCBERSBDRVJUSUZJQ0FDSU9O
IFNVQiBTRUNVUklUWSBEQVRBLE9VPUVOVElEQUQgREUgQ0VSVElGSUNBQ0lPTiBERSBJTkZPUk1B
Q0lPTixPPVNFQ1VSSVRZIERBVEEgUy5BLixDPUVDPC9kczpYNTA5SXNzdWVyTmFtZT48ZHM6WDUw
OVNlcmlhbE51bWJlcj4xNDIzMDU2MDY5PC9kczpYNTA5U2VyaWFsTnVtYmVyPjwvZXRzaTpJc3N1
ZXJTZXJpYWw+PC9ldHNpOkNlcnQ+PC9ldHNpOlNpZ25pbmdDZXJ0aWZpY2F0ZT48L2V0c2k6U2ln
bmVkU2lnbmF0dXJlUHJvcGVydGllcz48ZXRzaTpTaWduZWREYXRhT2JqZWN0UHJvcGVydGllcz48
ZXRzaTpEYXRhT2JqZWN0Rm9ybWF0IE9iamVjdFJlZmVyZW5jZT0iI1JlZmVyZW5jZS1JRC04NTgz
OTgiPjxldHNpOkRlc2NyaXB0aW9uPmNvbnRlbmlkbyBjb21wcm9iYW50ZTwvZXRzaTpEZXNjcmlw
dGlvbj48ZXRzaTpNaW1lVHlwZT50ZXh0L3htbDwvZXRzaTpNaW1lVHlwZT48L2V0c2k6RGF0YU9i
amVjdEZvcm1hdD48L2V0c2k6U2lnbmVkRGF0YU9iamVjdFByb3BlcnRpZXM+PC9ldHNpOlNpZ25l
ZFByb3BlcnRpZXM+PC9ldHNpOlF1YWxpZnlpbmdQcm9wZXJ0aWVzPjwvZHM6T2JqZWN0PjwvZHM6
U2lnbmF0dXJlPjwvZmFjdHVyYT4K

, чтобы не быть звездным, просто поместите половину моего xml с цифровой подписью в формате base64, теперь я переместил свой код в python 3.X таким образом:

 buf = io.BytesIO(document)
        uncode = buf.getvalue()
        buffer_xml = base64.encodestring(uncode)

        client = Client(SriService.get_active_ws()[0])
        result = client.service.validarComprobante(buffer_xml)

но он отправляет мне xml в байтовом формате base64 таким образом, и веб-служба ошибочно отклоняет его в формате:

b'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0                       YW5kYWxvbmU9Im5vIj8+PGZh\nY3R1cmEgaWQ9ImNvbXByb2JhbnRlIiB2ZXJzaW9uPSIxLjEuMCI+CiAgPGluZm9UcmlidXRhcmlh\nPgo                       gICAgPGFtYmllbnRlPjE8L2FtYmllbnRlPgogICAgPHRpcG9FbWlzaW9uPjE8L3RpcG9FbWlz\naW9uPgogICAgPHJhem9uU29jaWFsPlNF                       UlZJQ0lPIERFIEFVVE9QQVJURVMgQVVUT0RFU0VSIFMu\nQS48L3Jhem9uU29jaWFsPgogICAgPG5vbWJyZUNvbWVyY2lhbD5TRVJWSUNJT                       yBERSBBVVRPUEFS\nVEVTIEFVVE9ERVNFUiBTLkEuPC9ub21icmVDb21lcmNpYWw+CiAgICA8cnVjPjA5OTI4OTc5NDUw\nMDE8L3J1Yz4K                       ICAgIDxjbGF2ZUFjY2Vzbz4xOTEyMjAxODAxMDk5Mjg5Nzk0NTAwMTEwMDEwMDEw\nMDAwMDAxMjEwMDAwMDEyNjExPC9jbGF2ZUFjY2Vzb                       z4KICAgIDxjb2REb2M+MDE8L2NvZERvYz4K\nICAgIDxlc3RhYj4wMDE8L2VzdGFiPgogICAgPHB0b0VtaT4wMDE8L3B0b0VtaT4KICAgID                       xzZWN1\nZW5jaWFsPjAwMDAwMDEyMTwvc2VjdWVuY2lhbD4KICAgIDxkaXJNYXRyaXo+R1VBWUFTIC8gR1VB\nWUFRVUlMIC8gVEFSUVVJI                       C8gIFNPTEFSIDk8L2Rpck1hdHJpej4KICA8L2luZm9UcmlidXRhcmlh\nPgogIDxpbmZvRmFjdHVyYT4KICAgIDxmZWNoYUVtaXNpb24+MT                       kvMTIvMjAxODwvZmVjaGFFbWlz\naW9uPiAKICAgIDxjb250cmlidXllbnRlRXNwZWNpYWw+MDk5Mjg5Nzk0NTAwMTwvY29udHJpYnV5\nZ                       W50ZUVzcGVjaWFsPgogICAgPG9ibGlnYWRvQ29udGFiaWxpZGFkPlNJPC9vYmxpZ2Fkb0NvbnRh\nYmlsaWRhZD4KICAgIDx0aXBvSWRlbn                       RpZmljYWNpb25Db21wcmFkb3I+MDQ8L3RpcG9JZGVudGlm\naWNhY2lvbkNvbXByYWRvcj4KICAgIDxyYXpvblNvY2lhbENvbXByYWRvcj5                       DVUxDQVkgWkFNQlJB\nTk8gTFVJUyBFTlJJUVVFIEFVVE9MVUpPUyBZIEFDQ0VTT1JJT1M8L3Jhem9uU29jaWFsQ29tcHJh\nZG9yPgogIC                       AgPGlkZW50aWZpY2FjaW9uQ29tcHJhZG9yPjAxMDA5NzA3NTUwMDE8L2lkZW50aWZp\nY2FjaW9uQ29tcHJhZG9yPgogICAgPHRvdGFsU2l                       uSW1wdWVzdG9zPjQuMDA8L3RvdGFsU2luSW1w\ndWVzdG9zPgogICAgPHRvdGFsRGVzY3VlbnRvPjAuMDwvdG90YWxEZXNjdWVudG8+CiAg                       ICA8dG90\nYWxDb25JbXB1ZXN0b3M+CiAgICAgIAogICAgICA8dG90YWxJbXB1ZXN0bz4KICAgICAgICA8Y29k\naWdvPjI8L2NvZGlnbz4                       KICAgICAgICA8Y29kaWdvUG9yY2VudGFqZT4zPC9jb2RpZ29Qb3JjZW50\nYWplPgogICAgICAgIDxiYXNlSW1wb25pYmxlPjQuMDA8L2Jh                       c2VJbXBvbmlibGU+CiAgICAgICAg\nPHRhcmlmYT4xNDwvdGFyaWZhPgogICAgICAgIDx2YWxvcj4wLjU2PC92YWxvcj4KICAgICAgPC90\                       nb3RhbEltcHVlc3RvPgogICAgICAKICAgIDwvdG90YWxDb25JbXB1ZXN0b3M+CiAgICAKICAgIDxw\ncm9waW5hPjAuMDA8L3Byb3BpbmE+                       CiAgICA8aW1wb3J0ZVRvdGFsPjQuNTY8L2ltcG9ydGVUb3Rh\nbD4KICAgIDxtb25lZGE+RE9MQVI8L21vbmVkYT4KICAgIDxwYWdvcz4KI                       CAgICAgICA8cGFnbz4K\nICAgICAgICAgICAgPGZvcm1hUGFnbz4xNzwvZm9ybWFQYWdvPgogICAgICAgICAgICA8dG90YWw+\nNC41Njwv                       dG90YWw+CiAgICAgICAgPC9wYWdvPgogICAgPC9wYWdvcz4KICAgIDx2YWxvclJldEl2\nYT4wLjAwPC92YWxvclJldEl2YT4KICAgIDx2Y                       WxvclJldFJlbnRhPjAuMDA8L3ZhbG9yUmV0UmVu\ndGE+CiAgPC9pbmZvRmFjdHVyYT4KICA8ZGV0YWxsZXM+CiAgICAKICAgIDxkZXRhbG                       xlPgogICAg\nICA8Y29kaWdvUHJpbmNpcGFsPjEyMzQ1Njc4OTwvY29kaWdvUHJpbmNpcGFsPgogICAgICA8ZGVz\nY3JpcGNpb24+WzEyM                       zQ1Njc4OV0gUFJPRFVDVE8gUFJVRUJBPC9kZXNjcmlwY2lvbj4KICAgICAg\nPGNhbnRpZGFkPjQuMDAwMDAwPC9jYW50aWRhZD4KICAgIC                       AgPHByZWNpb1VuaXRhcmlvPjEuMDAw\nMDAwPC9wcmVjaW9Vbml0YXJpbz4KICAgICAgPGRlc2N1ZW50bz4wLjAwPC9kZXNjdWVudG8+CiA                       g\nICAgIDxwcmVjaW9Ub3RhbFNpbkltcHVlc3RvPjQuMDA8L3ByZWNpb1RvdGFsU2luSW1wdWVzdG8+\nCiAgICAgIDxpbXB1ZXN0b3M+Ci                       AgICAgICAgCiAgICAgICAgPGltcHVlc3RvPgogICAgICAgICAg\nPGNvZGlnbz4yPC9jb2RpZ28+CiAgICAgICAgICA8Y29kaWdvUG9yY2V                       udGFqZT4zPC9jb2RpZ29Q\nb3JjZW50YWplPgogICAgICAgICAgPHRhcmlmYT4xNDwvdGFyaWZhPgogICAgICAgICAgPGJhc2VJ\nbXBvbm                       libGU+NC4wMDwvYmFzZUltcG9uaWJsZT4KICAgICAgICAgIDx2YWxvcj41Ni4wMDwvdmFs\nb3I+CiAgICAgICAgPC9pbXB1ZXN0bz4KICA                       gICAgICAKICAgICAgPC9pbXB1ZXN0b3M+CiAgICA8\nL2RldGFsbGU+CiAgICAKICA8L2RldGFsbGVzPgo8ZHM6U2lnbmF0dXJlIHhtbG5z                       OmRzPSJodHRw\nOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIiB4bWxuczpldHNpPSJodHRwOi8vdXJpLmV0\nc2kub3JnLzAxOTA    

Наконец, как можноЯ отправляю XML, имитирующий библиотеки, которые я использовал в python 2.7, а xml не является байтовым, он должен быть в utf8 и base64.Спасибо.

...