0

から Jython スクリプトを実行していますwsadmin。これは、エラーをスローする部分です。

スクリプト:

..
..
objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*') 
NODE_NAME=AdminControl.getAttribute(objNameString, 'nodeName') 
CELL_NAME=AdminControl.getCell()
SERVER_NAME= "MyAppServer"
..
..
# Start Web application
print "Starting Web Application..."
appManager = AdminControl.queryNames('cell='+ CELL_NAME +',node='+ NODE_NAME +',type=ApplicationManager,process='+ SERVER_NAME +',*')
print appManager
AdminControl.invoke(appManager, 'startApplication', 'AppName')
print "Web Application Started..."

エラー:

Starting Web Application...
WASX7017E: Exception received while running file "/scratch/py/CreateWPSDomain.py"; exception information: com.ibm.ws.scripting.ScriptingException: WASX7025E: Error found in String ""; cannot create ObjectName.

連結方法に何か問題がありますか? このようなエラーは、値が空であるか、正しく登録されていない場合に発生するようです。

更新:参照できるサンプル jython スクリプトはありますか。私の要件: 1. サーバーを作成する > 2. war ファイルをインストールする > 3. データソースを作成する > 4. サーバーを起動する > 5. アプリケーションを起動する。

4

5 に答える 5

2

エラー メッセージは、空の文字列から ObjectName を作成できないことを示しています。その空の文字列は から返されqueryNamesました。

これを試して:

appManager = AdminControl.queryNames('WebSphere:cell='+ CELL_NAME +',node='+ NODE_NAME +',type=ApplicationManager,process='+ SERVER_NAME +',*')

ところで: WDR ライブラリ ( http://wdr.github.io/WDR/ ) を使用すると、スクリプトがはるかに簡単になります。他のいくつかの改善により、次のようになります。

SERVER_NAME= "MyAppServer"

# Start Web application
print "Starting Web Application..."
appManager = getMBean1(process = SERVER_NAME, type = 'ApplicationManager')
print appManager
appManager.startApplication('AppName')
print "Web Application Started..."

開示:私は WDR の重要な貢献者の 1 人です。

于 2014-01-04T09:06:57.967 に答える
0

エラーは次の行でスローされます。

AdminControl.invoke(appManager, 'startApplication', 'AppName')

appManager変数を 調べて、空でないことを確認してください。AdminControl.queryNames(..)一致が見つからない場合、空の文字列を返します。

AdminControl.invoke(..)最初の引数として MBean 記述子 (オブジェクト名) 文字列を渡す必要があり、受け取ったエラーはwsadmin、MBean を受け取ったもので解決できないことを示しています。エラーのセクションは、空の文字列 ( MBean 記述子のWASX7025E: Error found in String ""場合) を受け取ったことを示しています。"")

于 2014-01-03T19:48:25.850 に答える