2011-08-25 38 views
2

我使用WebLogic腳本工具又名WLST,基於Python的shell環境,以編程方式編輯文件的plan.xml變量的項目將被部署到WebLogic Server。我能得到儘可能獲得WLSTPlan Object的一個實例,並且可以運行getVariables等方法來檢查它是否填充並查看其內容。然而,當我試圖調用setVariable方法,我得到一個AttributeError,這在我有限的瞭解表示方法不存在:爲什麼Python(WLST)告訴我一個文檔化的函數不存在?

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

正如上面鏈接的文檔(這我檢查是正確的版本)顯示,這個方法肯定應該存在,並且在同一文檔中列出的其他方法工作。我不確定這是Weblogic的問題,還是我對Python的理解,但無論如何,它超出了我的想象。我嘗試使用DIR()函數來列出計劃對象的屬性,但所以我想這招不會在這種環境下工作,它返回一個空集。

有人能想出如何去診斷這個問題,或者更好的是固定嗎?

+0

你可以嘗試'plan.showVariables()' – JoseK

+0

是。進一步的調查表明,所有創建,刪除或讀取模型中的數據的方法都可以正常工作,但所有更新現有數據的方法(基本上是plan.set *)都聲稱不存在。 – Johansensen

回答

2

使用javap的,並尋找在參閱WLSTPlan豆制定者只顯示以下二傳手

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

可能是在文檔中一個錯字。你可以嘗試'setVariableValue'來代替。

+0

謝謝,這似乎工作。非常奇怪的是,這裏的文檔是如此錯誤 - 類文檔列出了大量不同的setter,而不是這一個,但這是唯一可行的。謝謝! – Johansensen

+0

看看WLS 10.3文檔,看起來像文檔已更正 - http://download.oracle.com/docs/cd/E21764_01/web.1111/e13715/dep_obs.htm#i1019049 – prash

0

的文檔是相當不明確,但是從字裏行間,它看起來像setVariable是您在VariableBean調用一個方法。

我會嘗試使用以下:

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

(這還沒有測試具有的代碼,雖然)

+0

我不確定是什麼爲您提供了這個想法,文檔列表setVariable作爲WLSTPlan的一種方法。 VariableBean沒有這個方法,雖然我還沒有找到什麼方法它*不*的任何文件有(感謝,BEA /甲骨文)。 – Johansensen

相關問題