2016-05-06 6 views
0

以下のjythonスクリプトは、Websphere 7のエンタープライズアプリケーションレベルでCookie設定を変更しようとします:Jythonが受信した "ApplicationDeployment" - "sessionManagement"スクリプティング例外の無効な属性

deployedApplicationId = AdminConfig.getid('/Deployment:myWebApp/') 
deployedObject = AdminConfig.showAttribute(deployedApplicationId, 'deployedObject') 

overrideSessionManagAttr = ['enable', 'true'] 
defaultCookieAttrs = ['defaultCookieSettings', [['name', 'JSESSIONID_MY_COOKIE'], ['secure', 'true']]] 
attributeList = [overrideSessionManagAttr, defaultCookieAttrs] 
sessionAttributes = [['sessionManagement', attributeList]] 

AdminConfig.modify(deployedObject, sessionAttributes) 
AdminConfig.save() 

奇妙な部分は、私が作成したコマンドを使用するときに私はすべてのエラーを取得しないと、設定を変更していることである。ここでは

exception information: com.ibm.ws.scripting.ScriptingException: WASX7080E: Invalid attributes specified for type "ApplicationDeployment" -- "sessionManagement" 

はコードがあります。

AdminConfig.create('ApplicationConfig', deployedObject, sessionAttributes) 

「変更」コマンドを使用するとエラーが発生する理由を特定できますか?

ありがとうございます。

答えて

0

変更コマンドは、それが仕事を得るために、別のプロパティ名を必要とするので、このように更新されるために必要なスクリプトのように見えます:

deployedApplicationId = AdminConfig.getid('/Deployment:myWebApp/') 
smList = AdminConfig.list('SessionManager', deployedApplicationId).splitlines() 
for sm in smList: 
    AdminConfig.modify(sm, '[ [enable true] ]') 
    dcs = AdminConfig.showAttribute(sm, 'defaultCookieSettings') 
    AdminConfig.modify(dcs, '[ [name COOKIE_NAME] [secure true] ]') 

AdminConfig.save() 

私はsmListを反復処理するために必要な事実はありませんまだあります私には明らかです。最初にWebsphereの設定で複数のレコードを持っていたのはなぜですか?開発環境だけが複数のレコードを持ち、UATもPRODも複数のレコードを持っていません。しかしそれは別の日の別の質問です:)。

関連する問題