Python相当于Java的DataHandler?

时间:2016-04-22 22:31:34

标签: java python soap suds datahandler

我使用Python suds来使用SOAP服务,这些调用背后的逻辑是用Java编写的。似乎其中一个参数需要传递DataHandler对象。有没有办法可以在Python中创建一个DataHandler Java对象(即使用库),或者在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)对象。

0 个答案:

没有答案