如果想要使用 WebSphere V5 运行时将 Web 服务部署到 WebSphere V5.0 服务器,并且启用了服务器目标首选项,但是在自底向上 Java bean 或 EJB Web 服务方案中将服务 Web 或 EJB 项目设置为未指定服务器目标,则 Web 服务向导可能会显示以下错误:
从 Java 生成 WSDL 文件时出错。
详细信息:java.lang.ClassNotFoundException: com.ibm.ws.webservices.engine.encoding.SimpleType
当发生此情况时,您将注意到 Web 或 EJB 项目具有空 Java 构建路径并且“任务”视图显示以下错误:
此编译单元间接引用缺少的类型 java.lang.Object。
未构建项目,因为它的类路径不完整。找不到 java.lang.Object 的类文件
要解决此问题,首先:
- 禁用 J2EE 服务器目标首选项(缺省情况下,已禁用此首选项),或
- 如果必须启用 J2EEserver 目标首选项,则需要创建服务 Web 或 EJB 项目以及客户机 Web 项目并使用它们指向 WebSphere Application Server V5.0
然后,重新运行 Web 服务向导。
如果启用了服务器目标首选项并且将客户机 Web 项目设置为未指定服务器目标,或者如果服务 Web 或 EJB 项目将服务器目标设置为 WebSphere Application Server V5.0 并且让 Web 服务向导自动为您创建客户机 Web 项目,则在其它 Web 服务方案中可能会获得相似的空 Java 构建路径问题。
可以通过遵循上面提到的变通方法来避免此问题,或者如果已经处于 Java 构建路径在 Web 或 EJB 项目上为空的这种情况,则可以右键单击项目,选择目标服务器,然后选择修改并选择与当前服务器目标不同的服务器目标。然后,可以返回并将服务器目标修改回 WebSphere Application Server V5.0。使用此变通方法,将再次正确设置 Web 项目的 Java 构建路径。
如果右键单击 Web 服务向导生成的代理并选择“Web 服务”->“生成样本应用程序”,然后选择“Web 工具 Java bean JSP”作为测试工具并单击“完成”,则当尝试在生成的样本中运行方法时,可能获得异常。会出现这种情况是因为尚未排除 getEndPoint 和 setEndPoint 方法。可以解决该问题,方法是在从弹出菜单调用“Web 工具 Java bean JSP”时取消选择这两种方法,或者选择 Web 服务样本 JSP 或“通用测试客户机”作为测试工具。或者,如果正使用 SOAP 运行时,则可以从 Web 服务向导调用 Web 工具 Java bean JSP。
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.