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

时间:2011-08-25 03:24:57

标签: python weblogic wlst

我正在使用Weblogic Sc​​ripting Tool(WLST,一个基于Python的shell环境)以编程方式编辑Plan.xml文件中的变量,以便将项目部署到Weblogic服务器。我可以获得WLSTPlan Object的实例,并可以运行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 :(得分:2)

使用javap并在WLSTPlan bean上查找setter只显示以下setter

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

可能是文档中的拼写错误。你可以试试'setVariableValue'。

答案 1 :(得分:0)

文档相当不清楚,但是通过在行之间阅读,看起来setVariable是一个在VariableBean上调用的方法。

我尝试使用以下内容:

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

(虽然没有测试代码)