为什么Python(WLST)告诉我一个已记录的函数不存在?
我正在使用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'这个方法。