首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python: Zeep错误

Python: Zeep错误
EN

Stack Overflow用户
提问于 2017-09-18 19:18:02
回答 1查看 1.1K关注 0票数 0

为了检索调用日志报告,我使用zeep连接到Five9调用中心API。

我的代码如下:

代码语言:javascript
复制
class Five9api:

    start = (datetime.now() - timedelta(days=1)).replace(hour=0, minute=0, second=0, microsecond=0)
    end = datetime.now()
    user = 'user'
    pwd = 'pwd'
    criteria = {'time': {'end': end, 'start': start}}
    key = None

    def __init__(self, folderName, reportName):
        self.client = None
        self.folderName = folderName
        self.reportName = reportName

    def open_client(self):
        if self.client is None:
            self.client = Five9(self.user, self.pwd)

    def run_report(self):
        identifier = self.client.configuration.runReport(folderName=self.folderName, reportName=self.reportName,
                                                        criteria=self.criteria)
        Five9api.key = identifier

    def get_report_results(self):
        get_results = self.client.configuration.getReportResult(Five9api.key)

        return get_results

当我使用方法run_report返回传递给方法get_report_results的键时,会得到一个错误。是什么导致以下错误?

代码语言:javascript
复制
zeep.exceptions.Fault: Result is not ready due to process is not complete

避免此错误的唯一方法是在上述两种方法之间引入一个time.sleep,如……

代码语言:javascript
复制
Report = Five9api("Call Log Reports", "Call Log")
Report.open_client()
Report.run_report()
time.sleep(5)
data = Report.get_report_results()
EN

回答 1

Stack Overflow用户

发布于 2018-02-22 12:49:01

在用getReportResult,检索报表结果之前,可以检查它是否已准备好使用isReportRunning方法:

代码语言:javascript
复制
def get_report_results(self):
    while client.service.isReportRunning(identifier=Five9api.key, timeout=100):
        None
    get_results = self.client.configuration.getReportResult(Five9api.key)

请参阅此处的完整文档:配置Web服务,API参考指南

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46286661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档