如何通过WebService调用修改Oracle Enterprise Manager 12c运行时属性?
通过WebService/API修改Oracle Enterprise Manager运行时属性的可行方案
一、核心API选型与操作步骤
1. Oracle EM REST API(官方主推方案)
你提到的Locator API属于早期内部组件,官方已逐步替换为RESTful API,12c/11g版本均支持,可直接用于修改SOA服务运行时属性:
- 认证流程:先发送POST请求获取会话令牌
POST /em/api/login Content-Type: application/json { "username": "你的EM管理员账号", "password": "对应密码" } - 修改SOA服务属性:针对目标Composite的引用服务,构造PUT请求,路径格式如下:
请求体示例(修改读取超时为5000ms):/em/api/soa/composites/{Composite名称}/{版本号}/references/{引用服务名称}/properties
修改后属性立即生效,无需重启或重新部署服务。{ "properties": [ { "name": "readTimeout", "value": "5000" } ] }
2. WLST脚本调用(备选命令行方案)
如果更适配自动化脚本场景,可编写WebLogic Scripting Tool脚本修改属性,再通过Azure Pipelines执行:
- 示例WLST脚本片段:
在Azure Pipelines中配置任务,调用connect('WebLogic管理员账号', '对应密码', 't3://weblogic主机:7001') cd('/soa-infra/soa-composites/目标Composite!1.0/references/目标引用服务') set('readTimeout', 5000) save() disconnect()wlst.sh(Linux)或wlst.cmd(Windows)执行脚本即可。
二、与Parasoft SOAtest集成方案
- 在SOAtest中创建
REST Client测试步骤,直接调用上述EM REST API,实现修改属性后触发后续错误处理测试。 - 将属性值、认证信息等参数化,通过Azure Pipelines变量传递,实现批量自动化测试场景。
三、关键注意事项
- 确保操作账号拥有
SOA Administrator或Enterprise Manager Administrator权限,否则无法修改运行时属性。 - 11g版本的EM REST API路径略有差异,需调整为
/em/webservices/rest/前缀格式,具体参考对应版本官方文档。 - 修改属性前建议先通过GET请求获取当前属性值,避免覆盖其他配置:
GET /em/api/soa/composites/{Composite名称}/{版本号}/references/{引用服务名称}/properties
内容的提问来源于stack exchange,提问作者Jesper Vernooij
相关产品推荐
相关产品推荐

