Python эквивалент Java-DataHandler?
Я использую Python suds для использования сервисов SOAP, и логика этих вызовов написана на Java. Кажется, что один из аргументов требует, чтобы объект DataHandler был передан через. Можно ли каким-либо образом создать Java-объект DataHandler в Python (т. Е. С помощью библиотеки) или в Python есть эквивалент класса DataHandler?
Немного предыстории:
В WSDL, который я использовал, определенная строка определяет тип входных состояний:
<xs:element name="filedata" xmime:expectedContentTypes="application/octet-stream" type="xs:base64Binary" minOccurs="0"/>
Я подумал, что мне нужно было выполнить это требование, поэтому я попытался создать двоичный объект base64 следующим образом:
openedfile = open(sourcepath, 'r')
fileData = base64.b64encode(openedfile.read())
Но когда я вызываю метод через suds, я получаю эту ошибку:
suds.WebFault: Server raised fault: 'javax.activation.DataHandler cannot be cast to org.jvnet.staxex.StreamingDataHandler'
потому что мой ввод не является объектом DataHandler (в частности, StreamingDataHandler).