我只想使用createAttachment方法将csv文件附加到SDM(ServiceDesk Management)中的请求。Zeep被用作SOAP客户端。我总是在“超出政策限制”上出错,所有的讨论板都提到10多年前的技术,或者使用其他语言的代码,这对我来说很难理解。到目前为止,我已经尝试从电子邮件模块中实现一些MIME内容,但也不确定如何将其用于我的目标
下面是一些关于我得到的错误的详细信息以及解决方案。主要问题是,我无法找到任何方法使示例解决方案适应我的python代码
[有关createAttachment方法的文档(以及相关错误)][1]
无法执行该操作,超出了策略限制
症状: 使用createAttachment()web服务方法将文档附加到现有请求或事件时,您会收到此错误,即使附件的web服务策略设置设置设置为-1(无限制),这是现成的默认设置。当收到的SOAP消息中没有附加文件时,调用web服务方法时可能会收到此错误。在调用createAttachment()web服务方法之前,必须将至少一个文件附加到SOAP消息
解决方案: 将SOAP实现设置为支持直接Internet消息封装(DIME),并在调用createAttachment()方法之前使用DIME支持手动附加要上载的文件
您可以参考$NX\u ROOT\samples\sdk\webvc\java\test3\u attachments目录中有关如何支持DIME的示例
代码:
#trying to use MIME here, but not sure how to send the 'message' using the
#createAttachment method
message = MIMEMultipart()
filename = "not_in_sdm.csv"
attachment = open("results\\not_in_sdm.csv", "rb")
p = MIMEBase('application', 'octet-stream')
p.set_payload((attachment).read())
encoders.encode_base64(p)
p.add_header(
"Content-Disposition",
f"attachment; filename= {filename}",
)
message.attach(p)
client.service.createAttachment(
sid=sid,
repositoryHandle=str(repoID),
objectHandle="cr:472066",
description="in axonius but not sdm",
fileName="results\\not_in_sdm.csv"
)
目前没有回答
相关问题 更多 >
编程相关推荐