我正在使用 Eclipse 从预先存在的 WSDL 自动创建 WebLogic Web 服务(不是客户端)。它接收 3 个请求参数(String、String、byte[])并以 1 个参数(byte[])响应。但是,自动生成的类包含产生以下错误的代码:
端点接口方法“public byte[] sign(java.lang.String, java.lang.String, byte[])”必须在 Web Service 中实现。
但是sign方法明显存在于代码中。
因此,我尝试创建一个非常简单的 WSDL 来测试 Web 服务的自动生成。这次 WSDL 定义了 2 个请求参数 (int, int) 和 1 个响应 (int)。
这次错误没有出现并且工作得很好。
我正在使用的工具
- 日食 - 3.7.1
- Oracle Enterprise Pack for Eclipse 11.1.1.8.0
- Oracle WebLogic Server 11gR1 (10.3.6)
- Oracle JAX-WS 2.1.5 完成的类自动生成
- Windows 7 - 32 位 1.6 JDK/JRE
重现错误的步骤:
- 启动 Eclipse
- 文件 → 新建 → Web 服务项目
- 将此 WSDL导入您的 WEB-INF/wsdl 目录。
- 右键单击 WSDL 文件名,然后单击 WebLogic Web 服务 → 生成 Web 服务
- 请注意生成的 dss_DSSPortImpl 类文件中的错误。
使用此 WSDL重复上述步骤,生成的类文件可以正常工作。
非常感谢任何帮助。谢谢!
(由于隐私原因,WSDL 文件上的命名空间已从我的测试中更改。)