【发布时间】:2020-08-28 00:31:17
【问题描述】:
这是我第一次发帖。因此,如果有什么不妥,请提前道歉。因此,基于以下 python 脚本,我尝试调用 SOAP API 并记录响应。然后遍历该响应以使用来自第一个响应的数据调用另一个方法。但是 print(data) 只显示最后一行,而不是完整的结果集。我是 Python 新手。
def lambda_handler(): #event, context--------------------
zsession = Session()
zsession.verify = False
url = 'TheURL'
local_file_name="test.wsdl"
transport = Transport(session=zsession)
transport.load_timeout=2000
client = Client(local_file_name, transport=transport)
service = client.create_service(
'{http://www.someurl.com', url)
response = service.RetrieveRegionsByCriteria('*')
content = ''
for item in response:
properties = service.RetrievePlanningSessionPropertiesByCriteria(criteria=item.regionIdentity.regionID)#item.regionIdentity.regionID))
for property in properties:
row_str ='{0}|{1}|{2}|{3}'.format(property.sessionIdentity.internalSessionID, GetStringValue(item.regionIdentity.regionID), GetStringValue(property.description), GetStringValue(property.scenario))
data = ''
data = data + row_str + "\n"
print(data)
print("Function completed successfully")
【问题讨论】:
-
请正确缩进您的代码。另外,你有
row_str = '{0}....这将覆盖你的row_str。您是否要连接每个 row_str?