- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 suds 执行 Service Now 查询,但我不知道如何指定日期范围。这是我的代码,它用于返回具有确切日期的记录:
from suds.client import Client
URL = 'https://blah.service-now.com/change_request.do?WSDL'
USERNAME = "blah"
PASSWORD = "blah"
client = Client(URL, username=USERNAME, password=PASSWORD)
result = client.service.getRecords(start_date = "2015-02-03 12:00:00")
print result
打印结果为我提供了一条与确切日期时间匹配的记录。
当我尝试 start_date >= 或 start_date => 或 start_date > 时,他们都说“无效语法”或“NameError:名称'start_date'未定义”。
如何“获取记录”一段时间范围?
最佳答案
请记住,您基本上只是使用肥皂水来构建 SOAP 有效负载。它有助于退后一步并确定获得所需响应所需的 SOAP 请求。
根据 WSDL,start_date 字段接受单个参数,其行为类似于 blah=foo,因此无法在该参数中指定范围:
<xsd:element maxOccurs="1" minOccurs="0" name="start_date" type="xsd:string"/>
您可能想要的是特殊的“__encoded_query”参数,该参数接受编码的查询字符串,您可以使用 ServiceNow Web 应用程序中的过滤器构建器 UI 构建该字符串:
<xsd:element maxOccurs="1" minOccurs="0" name="__encoded_query" type="xsd:string"/>
假设您想要查询开始日期在 2014 年 10 月之内的所有 Change_request 记录。转到目标 ServiceNow 实例(或者任何一个,实际上,因为编码的查询将是相同的),并在/change_request_list.do 上构建过滤器:
现在,右键单击该蓝色过滤器并选择“复制查询”以获取编码的查询:
这是我生成的编码查询:
start_dateBETWEENjavascript:gs.dateGenerate('2014-10-01','00:00:00')@javascript:gs.dateGenerate('2014-10-31','23:59:59')
现在,将其作为 __encoded_query
参数传递,负载如下所示:
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<getRecords xmlns="http://www.service-now.com/change_request">
<__encoded_query xmlns="">start_dateBETWEENjavascript:gs.dateGenerate('2014-10-01','00:00:00')@javascript:gs.dateGenerate('2014-10-31','23:59:59')</__encoded_query>
</getRecords>
</Body>
</Envelope>
因此,要使泡沫发挥作用,只需将 start_date
查询替换为 __encoded_query
查询即可:
from suds.client import Client
URL = 'http://localhost:8080/change_request.do?WSDL'
USERNAME = "admin"
PASSWORD = "admin"
client = Client(URL, username=USERNAME, password=PASSWORD)
result = client.service.getRecords(__encoded_query = "start_dateBETWEENjavascript:gs.dateGenerate('2014-10-01','00:00:00')@javascript:gs.dateGenerate('2014-10-31','23:59:59')")
print result
关于python - 如何使用 suds 通过 getRecords 搜索 servicenow 中的日期时间范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28775183/
我正在使用 python suds基于本地 wsdl 文件制作 SOAP 客户端的库。我的目标是使用 Twisted 作为后端,因此我以异步方式查询 SOAP 服务器。 我知道这个话题已经被讨论过不同
我正在使用 Suds 从 Python 访问 SOAP Web 服务。如果我有多个 threading.Thread 执行线程,它们中的每一个都可以安全地同时访问同一个 suds.client.Cli
我有一个 django 应用程序...我正在使用 SOAP suds 客户端访问 Web 服务...我需要从在 GUI 中输入的条目创建一个用户对象...这个用户对象将被传递给一个方法。 ..但我收到
Python 新手。尝试使用 Python 构建一个简单的 soap 客户端。相同的程序在不涉及代理的环境中工作。 ***********Version 1 import suds import ur
我很确定suds不会缓存我的WSDL和XSD的like I expect it to。这是我知道不使用缓存对象的方式: 创建客户端大约需要30秒:client = Client(url) 记录器条目显
我在 wsdl 中的复杂类型方面遇到了一些麻烦。这是 wsdl 的一部分:
我正在尝试使用 suds 连接到本地网络上的 KnowledgeTree 网络服务。我可以创建客户端并检索服务信息,但是调用那里列出的 login 方法会产生 suds.WebFault: Serve
尝试使用 echosign SOAP API。 wsdl 在这里:https://secure.echosign.com/services/EchoSignDocumentService14?wsdl
我正在尝试让泡沫连接到任何东西。这是我第一次使用它。我输入的每个网址都会返回一个错误。这是我的代码;几乎完全从不同的线程复制。 from suds.client import Client url =
Trying below code to check suds working Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.
首先我要说的是,我对 SOAP 以及事情应该如何工作还很陌生。我正在使用 Vertical Response API。 我无法让 suds 为请求正确构建 xml。这是一些代码: from suds.
环境:Python 2.7.4(部分在 Windows 上,部分在 Linux 上,见下文),suds(SVN HEAD 稍作修改) 我需要调用一个采用单个参数的 Web 服务,该参数是一个 XML
我是 Python 和 suds 新手。使用 SOAP UI,对我的服务的调用如下所示: " xmlns:ns1="">
代码: security = Security() token = UsernameToken('b77a5c561934e089', 'kmfHkNZyn1U/pGAiY3+h0BoHdKI=')
我正在尝试将 PHP 脚本转换为 python,但终究无法弄清楚为什么以下代码不起作用。 从 SOAP 服务查询返回的结果: Suds ( https://fedorahosted.org/suds/
我很难让基于 suds 的 python SOAP 客户端来解析响应:客户端构造正确并且可以很好地解析 WSDL。据我所知,WSDL 中没有任何导入,因此这看起来不像是典型的 ImportDoctor
我正在尝试使用 salesforce-python-toolkit 对 Salesforce API 进行 Web 服务调用,但是我无法让客户端通过代理。由于该工具包基于 suds,我尝试继续使用 s
我正在研究 SUDS 作为 python 的 SOAP 客户端。我想检查指定服务中可用的方法,以及指定方法所需的类型。 目的是生成用户界面,允许用户选择方法,然后在动态生成的表单中填写值。 我可以获得
我正在努力解决一个非常简单的问题。我无法在 SUDS jurko 连接上设置 session 超时。我的 WSDL 很好。提取较小的数据集时一切正常。我尝试了几种设置超时的方法。虽然以下内容没有提示/
几年前,我使用 Python SUDS 连接到 Web 服务以进行冒烟测试。 Python 脚本将使用 SUDS 连接到 WSDL 文件并将 SOAP 消息发送到 Web 服务。然后 SUDS 将解析
我是一名优秀的程序员,十分优秀!