创建策略集以集中管理对 Web Service 定制的策略。使用支持 Jython 和 Jacl 脚本编制语言的 wsadmin 工具来创建新策略集、复制现有策略集或导入策略集配置。也可以查询现有策略集及各自的属性。
开始之前
当管理安全性已启用时,要完成本任务,必须使用具有单元范围访问权的管理员角色。
关于此任务
可使用 wsadmin 工具通过三种方法创建新的策略集。可以创建新策略集及其配置,也可以复制现有策略集或导入策略集。
创建新策略集时,必须添加策略。如果复制现有策略集,可以转移在现有策略集上配置的策略和连接。本主题中的命令示例使用了批处理方式语法。-interactive 选项可以与 PolicySetManagement 组中的所有命令配合使用。
过程
- 使用 Jython 脚本编制语言创建新策略集。
- 启动 wsadmin 脚本编制工具。
- 确定 Web Service 的策略需求。
- 输入命令以使用指定名称创建新策略集。
基于您的配置,可创建两种策略集。可以将应用程序和系统策略集与 Java API for XML-Based Web Services (JAX-WS) 应用程序配合使用。使用 -policySetType 参数指定策略集的类型。要创建应用程序策略集,请指定 application 作为 -policySetType 参数的值。要为信任服务创建策略集,请为 -policySetType 参数指定 system 或 system/trust。对于 WS-MetadataExchange 连接,请对 -policySetType 参数指定 system。-policySetType 参数是可选的。如果未指定 -policySetType 参数,那么 wsadmin 工具将创建应用程序策略集。
输入以下命令以创建应用程序策略集:
AdminTask.createPolicySet('[-policySet PolicySet1 -description policySet_description]')
输入以下命令以便为信任服务创建策略集:
AdminTask.createPolicySet('[-policySet PolicySet1 -description policySet_description -policySetType system]')
此命令将返回成功或失败消息。
- 对新策略集添加策略。 使用此步骤对指定策略集添加包含缺省值的策略。
输入以下命令以添加并启用策略:
AdminTask.addPolicyType('[-policySet PolicySet1 -policyType policyType_name]')
输入以下命令以添加并禁用策略。配置更改包含在策略集中,但如果 -enabled 参数已设置为
false,就不会对系统产生任何影响。
AdminTask.addPolicyType('[-policySet PolicySet1 -policyType policyType_name -enabled false]')
此命令将返回成功或失败消息。重复此步骤以便为配置创建其他策略。
- 保存配置更改。
输入以下命令以保存更改:
AdminConfig.save()
- 使用 Jython 脚本编制语言复制现有策略集。
- 启动 wsadmin 脚本编制工具。
- 确定 Web Service 的策略需求。
- 输入命令以复制现有策略集:
将 -transferAttachments 参数设置为 true,以便将连接从现有策略集转移至新策略集。-transferAttachments 参数的缺省值是 false。
输入以下命令以创建新策略集并转移现有策略集的连接:
AdminTask.copyPolicySet('[-sourcePolicySet existingPolicySet_name -newPolicySet PolicySet1
-newDescription PolicySet1_description -transferAttachments true]')
此命令将返回成功或失败消息。
- 保存配置更改。
输入以下命令以保存更改:
AdminConfig.save()
- 从归档文件导入策略集或使用 Jython 脚本编制语言导入缺省策略集。
- 启动 wsadmin 脚本编制工具。
- 确定 Web Service 的策略需求。
- 导入策略集。
使用 importPolicySet 命令将包含所需策略集配置的归档文件导入目标环境。指定 verifyPolicySetType 参数,以验证要导入的策略集是否匹配特定的类型。将值设置为 application、system 或 system/trust 来指定策略集类型。如果目标环境中已存在策略集,那么不能将此策略集导入服务器或客户机环境。
例如,以下命令根据 customSC.zip 归档文件来创建 customSecureConversation 策略集:
![[Windows]](../images/windows.gif)
AdminTask.importPolicySet('[-importFile C:\IBM\WebSphere\AppServer\bin\customSC.zip
-verifyPolicySetType system/trust]')
![[IBM i]](../images/iseries.gif)
![[z/OS]](../images/ngzos.gif)
![[HP-UX]](../images/hpux.gif)
![[AIX]](../images/aixlogo.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
AdminTask.importPolicySet('[-importFile /IBM/WebSphere/AppServer/bin/customSC.zip -verifyPolicySetType
system/trust]')
此外,也可以使用 importPolicySet 命令将缺省策略集导入到服务器环境中,如下例所示:
AdminTask.importPolicySet('[-defaultPolicySet SecureConversation -policySet copyOfdefaultSC
-verifyPolicySetType system]')
此命令将返回成功或失败消息。
- 保存配置更改。
输入以下命令以保存更改:
AdminConfig.save()
结果
如果输入命令后接收到成功消息,那么您现在可以管理对 Web Service 应用程序定制的策略集。可以进一步配置策略集和策略。
下一步做什么
修改策略的属性后,使用
validatePolicySet 命令来验证策略集配置。例如,输入以下命令以验证
PolicySet1 策略集:
AdminTask.validatePolicySet('-policySet PolicySet1')