Компания, в которой я работаю, имеет производственный сервер TAXII (использующий STIX 1.1.1), который не совсем работает с некоторыми реализациями клиентских TAXII наших клиентов, поэтому я разрабатываю тестовый сервер, чтобы попытаться разработать некоторые из них. из ошибок. Для этого я одновременно извлекал информацию с нашего сервера TAXII с помощью cabby или просто извлекал файлы STIX / XML непосредственно из нашего (не TAXII) API и помещал их непосредственно в бэкэнд тестового сервера. Одной из проблем, с которыми я сталкиваюсь, является использование cabby как на рабочем, так и на тестовом сервере TAXII, - эта ошибка в библиотеке python l xml, которая является зависимой от Cabby (это только нижняя часть большого стека). trace)
taxii_xml = response_message.to_xml(pretty_print=True)
File "/usr/local/lib/python3.6/dist-packages/libtaxii/common.py", line 239, in to_xml
return etree.tostring(self.to_etree(), pretty_print=pretty_print)
File "src/lxml/etree.pyx", line 3435, in lxml.etree.tostring
File "src/lxml/serializer.pxi", line 139, in lxml.etree._tostring
File "src/lxml/serializer.pxi", line 199, in lxml.etree._raiseSerialisationError
lxml.etree.SerialisationError: IO_ENCODER
Я искал, пытаясь найти, что в XML вызывает эту ошибку, но я не добился большого успеха. Попытка отфильтровать, возможно, нежелательные символы из XML была частично успешной, но я также не совсем уверен, что это является причиной этой проблемы. У кого-нибудь есть хорошее объяснение того, что именно вызывает эту ошибку в l xml, я предполагаю, что это как-то связано с форматированием XML, но выяснение того, какие добрые причины неправильного форматирования, было бы чрезвычайно полезно