Почему Python (WLST) говорит мне, что документированной функции не существует? - PullRequest
2 голосов
/ 25 августа 2011

Я использую инструмент Weblogic Scripting Tool, также известный как WLST, среду оболочки на основе Python, для программного редактирования переменных в файлах 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 ]

2 голосов
/ 26 августа 2011

Использование javap и поиск сеттеров в bean-компоненте WLSTPlan показывает только следующий сеттер

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

Возможно, это опечатка в документах.Можете ли вы попробовать вместо этого setVariableValue.

0 голосов
/ 29 августа 2011

Документация довольно непонятна, но при чтении между строк похоже, что setVariable - это метод, который вы вызываете для VariableBean.

Я бы попробовал использовать следующее:

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

(но без проверки кода)

...