回到过去,Sun Java 开发人员。toolkit (v2.x) 曾经有一个存根生成器工具,但在 3.x 版本中不再存在。我仍然可以使用旧的生成器,但是在输入 WSDL 文件时它非常挑剔,并且生成的错误不包含任何有用的信息来修复 WSDL。开发 SOAP WS 的公司正在向我提供与 JSR-172 不兼容的 WSDL,我需要证明我正在使用最后一个可用的官方工具来证明我们这边没有问题。
我已经安装了 Oracle 网站上可用的最新可靠版本的 JavaME SDK (3.4)。这些 3.x 版本不包含 IDE,而是为 Netbeans 和 Eclipse 提供插件。我是 Eclipse 人,但我选择了 Netbeans 方法,因为它看起来更易于配置。
所以我下载了最后一个 Netbeans 版本(7.4)。我已经下载了 JavaSE 的最低版本,然后安装了 JavaME 的移动插件(上次我需要安装 Netbeans,你必须安装完整的 JavaEE IDE 和 GlashFish 服务器等。很高兴知道他们现在提供选项不安装完整的 IDE)。
在平台中添加了 JavaME SDK v3.4,但它不会自动检测它。我被迫配置自定义平台,但随后 ant 构建失败。为了解决这个问题,我还安装了 JavaME SDK v3.2,它被 Netbeans 开箱即用地检测到并且构建良好。
您可能认为存根生成器工具现在可用。错误的!。您仍然需要安装“SOAP Web 服务”netbeans 插件,该插件又会安装大量其他相关插件(现在,轻量级 JavaSE 安装已成为 Netbeans 一直以来的臃肿 JavaEE 就绪 IDE)。
于是我创建了一个基本的 JavaME 项目。右键单击 Source packages,然后选择“New”->“Java ME Web Services Client”。存根生成器对话框终于显示出来了(它看起来很像旧的 Sun Java CLDC 2.5.2 工具)。我选择了 WSDL 输入文件,输入客户端名称和包名称,并勾选了“生成数据绑定结构”复选框(我不知道它到底是干什么用的,但可以说我都尝试过 w/并且没有选择此选项,结果是相同的)。
然后我单击 Finish 按钮,只创建一个 .wsclient 文件(以及导入的 wsdl 文件)。这个文件的目的是什么?但最重要的是,.java 或 .class 文件在哪里?它们不在项目文件夹中!
问题:
- 是否可以使用 Netbeans 生成 JSR-172 存根?
- 如果没有,是否可以使用 Eclipse JavaME 插件来做到这一点?