Nis*_*ngh 3 ansible ansible-playbook
有一个代码可以调用应用程序的 Web 服务。
- uri:
url: http://10.164.52.61:8080/ems/v74/ws/customer.ws?customerRefId=f4XXXb15d69c3
method: GET
content_as_json: true
password: admin
user: admin
validate_certs: no
return_content: yes
HEADER_Cookie: "{{login.set_cookie}}"
register: customerId
- debug:
var: customerId.content
Run Code Online (Sandbox Code Playgroud)
样本响应是
"customerId.content": "<listResponse type=\"customer\" count=\"1\"><instance customerId=\"28\" name=\"abc\" customerRefId=\"xyz\" refId1=\"12\" type=\"org\" enabled=\"true\" phone=\"\" fax=\"\" billingZip=\"\" billingAddress=\"\" billingCity=\"\" billingCountry=\"\" billingState=\"\" vendor=\"1\" defaultEmail=\"test\" defaultContactName=\"test\"/></listResponse>"
Run Code Online (Sandbox Code Playgroud)
我想在下一个代码块中访问列表响应。就像我只需要“customerId”的值。如何使用 anisble 实现这一点
这类似于 sebaszw 的答案,但是不需要将 xml 响应写入文件,而是将其存储在变量中。
- uri:
url: http://10.164.52.61:8080/ems/v74/ws/customer.ws?customerRefId=f4XXXb15d69c3
method: GET
content_as_json: true
password: admin
user: admin
validate_certs: no
return_content: yes
HEADER_Cookie: "{{login.set_cookie}}"
register: customerId
- xml:
xmlstring: "{{customerId.content}}"
xpath: /listResponse/instance
content: attribute
register: instance_attributes
- debug:
var: instance_attributes.matches.0.instance.customerId
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13391 次 |
| 最近记录: |