【问题标题】:SOAP call response only getting last result - PythonSOAP 调用响应只得到最后一个结果 - Python
【发布时间】: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?

标签: python api soap pycharm


【解决方案1】:

您在代码中使用自定义服务方法,所以我不知道您收到什么数据。

我注意到的一个问题是您在属性循环中不断覆盖相同的变量 (row_str)。

改变这一行:

for property in properties:
      row_str ='{0}|{1}|{2}|{3}'.format(property.sessionIdentity.internalSessionID, GetStringValue(item.regionIdentity.regionID), GetStringValue(property.description), GetStringValue(property.scenario))

到这里:

row_str = ''
for property in properties:
      row_str +='{0}|{1}|{2}|{3}\n'.format(property.sessionIdentity.internalSessionID, GetStringValue(item.regionIdentity.regionID), GetStringValue(property.description), GetStringValue(property.scenario))

【讨论】:

    猜你喜欢
    • 2018-06-01
    • 2021-04-24
    • 2018-05-13
    • 2013-09-18
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多