解决方法 1:将 Web 服务使用者应用程序升级到 J2EE 1.4
完全避免此问题的最简单办法是,确保您的 Web 服务使用者应用程序使用相同的 WS-Security 规范版本作为您的 Web 服务提供者应用程序。这要求将您的 Web 服务使用者应用程序升级到 J2EE 1.4,另外,如果可能的话也将您的中间件升级到支持 J2EE 1.4 应用程序的版本。
一种开发方法是将 J2EE 1.3 Web 服务使用者应用程序升级到 J2EE 1.4。IBM Rational® Application Developer 提供了 J2EE 迁移向导,该向导能够将 Enterprise JavaBeans (EJB) 项目、Web 项目、J2EE Connector Architecture (JCA) Connector 项目和 Web 服务从 J2EE 1.3 规范级别迁移到 J2EE 1.4 规范级别。
要使用 J2EE 迁移向导将 J2EE 1.3 应用程序迁移到 J2EE 1.4,请在 J2EE Perspective 的 Project Explorer 视图中直接右键单击 Enterprise Application 项目,然后从弹出菜单中选择 Migrate > J2EE Migration Wizard。向导完成后,可以配置 WS-Security 客户机绑定。向导并不会自动迁移这些绑定,必须在迁移完成后手动进行配置。
接下来,需要确保 Web 服务使用者应用程序部署到的应用服务器能够支持 J2EE 1.4 应用程序。对于企业应用程序,WebSphere Application Server V6.0 能够运行 J2EE 1.4 应用程序。而对于 Portlet,WebSphere Portal Server V5.1.0.4 能够运行迁移到 J2EE 1.4 的 Web 项目。如果采用这些或更新的版本,则经过迁移的 Web 服务使用者应用程序应该正常工作,不会出现任何问题。否则可能就需要对中间件进行升级。

图 2. 将 Web 服务使用者应用程序升级到 J2EE 1.4
表 1. 将 Web 服务使用者应用程序升级到 J2EE 1.4 时所涉及的角色和任务
| 角色 | 任务 |
|---|---|
| 应用程序开发人员 | 将 Web 服务使用者应用程序迁移到 J2EE 1.4 |
| 开发人员 | 为 Web 服务使用者应用程序设置 J2EE 1.4 操作环境 |
| 测试工程师 | 验证迁移后的 Web 服务使用者按照预期工作 |
将应用程序和(如果有必要)中间件迁移到 J2EE 1.4 是避免 WS-Security 规范级别互操作性问题的首选方法。它彻底消除了问题,并提供了在最新中间件代码级别实现的战略优势。
不过,根据您的应用程序和中间件环境不同,可能不方便或很难将您的 Web 服务使用者应用程序迁移到 J2EE 1.4。而且,随着必须迁移的使用 WS-Security 草案 13 规范的 Web 服务使用者应用程序的增加,实现此方法所需的工作量会直线上升。