【发布时间】:2012-05-01 05:32:13
【问题描述】:
我正在使用 Eclipse 从预先存在的 WSDL 自动创建 WebLogic Web 服务(不是客户端)。它接收 3 个请求参数(String、String、byte[])并以 1 个参数(byte[])响应。但是,自动生成的类包含产生以下错误的代码:
必须在 Web Service 中实现端点接口方法“public byte[] sign(java.lang.String, java.lang.String, byte[])”。
但是代码中明显存在sign方法。
所以,我尝试创建一个非常简单的 WSDL 来测试 Web 服务的自动生成。这次 WSDL 定义了 2 个请求参数(int, int)和 1 个响应(int)。
这一次错误没有出现并且工作正常。
我正在使用的工具
- Eclipse - 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 服务项目
- 将this WSDL 导入到您的WEB-INF/wsdl 目录中。
- 右键单击 WSDL 文件名,然后单击 WebLogic Web 服务 → 生成 Web 服务
- 请注意生成的 dss_DSSPortImpl 类文件中的错误。
使用this WSDL 重复上述步骤,生成的类文件可以正常工作。
非常感谢任何帮助。谢谢!
(由于隐私原因,WSDL 文件上的命名空间已从我的测试中更改。)
【问题讨论】:
标签: java eclipse web-services wsdl weblogic11g