为什么Python(WLST)告诉我一个已记录的函数不存在?

2 投票
2 回答
825 浏览
提问于 2025-04-17 00:18

我正在使用Weblogic脚本工具,也就是WLST,这是一种基于Python的命令行环境,用来程序化地编辑要部署到Weblogic服务器的项目的Plan.xml文件中的变量。我已经能够获取到一个WLSTPlan对象的实例,并且可以运行getVariables等方法来检查它是否已经填充并查看其内容。然而,当我尝试调用setVariable方法时,出现了一个AttributeError错误,根据我有限的理解,这意味着这个方法不存在:

wls:/UoADevDomain/serverConfig> plan.setVariable("foo", "bar")
Traceback (innermost last):
  File "<console>", line 1, in ?
AttributeError: setVariable

根据上面链接的文档(我确认是正确版本),这个方法应该是存在的,而且同一文档中列出的其他方法也能正常工作。我不确定这是Weblogic的问题还是我对Python的理解有误,但无论如何我都搞不懂。我尝试使用dir()函数来列出计划对象的属性,但返回的是一个空集合,所以我想这个方法在这个环境中不适用。

有没有人能建议我如何诊断这个问题,或者更好的是,如何解决它?

2 个回答

0

文档写得有点模糊,不过从字里行间看,setVariable 这个方法是用在 VariableBean 上的。

我建议你试试下面这个:

plan.createVariable("foo").setVariable("foo", "bar");

(不过我还没测试过这个代码)

2

使用javap工具查看WLSTPlan这个类里的设置方法,结果只找到了下面这个设置方法。

void setVariableValue(java.lang.String, java.lang.String);

这可能是文档里的一个错别字。你可以试试用'setVariableValue'这个方法。

撰写回答