2

我正在 Eclipse 中试用 Hello World JAX-WS Web 服务(文档样式,而不是 RPC)。我正在关注这个 tut

这是我的项目设置:

在此处输入图像描述

现在我想创建用于部署 Web 服务的 Web 服务支持类,wsgen如 tut 中所述。因此,在 Windows 命令提示符中,我导航到了我的应用程序的 bin 目录(>cd bin),然后执行了给定的命令:

在此处输入图像描述

所以在bin\com\Mahesh\ws\jaxws它创建了以下四个文件

  • GetHelloWorldAsString.class
  • GetHelloWorldAsString.java
  • GetHelloWorldAsStringResponse.class
  • GetHelloWorldAsStringResponse.java

由于源文件放在bin\com\Mahesh\ws\jaxws文件夹中而不是放在文件夹中,因此src\com\Mahesh\ws\jaxws在 Eclipse 中进行包刷新不会在包资源管理器中显示新生成的源文件

1.我希望这些源文件生成在src\com\Mahesh\wssrc一个空包中,您可以在第一张图片中看到。

2.当我发布这个 Web 服务并看到它的 WSDL 文件时,我意识到在幕后创建了一个单独的 XSD。所以我想使用 wsgen 创建这个 WSDL 和 XSD 并将它放在另一个空包src\com\Mahesh\rsc中,你可以在第一张图片中看到。

在阅读wsgen了'帮助后,我发现了这两个选项:

  • -r <directory>: 资源目标目录,指定放置资源文件(如 WSDL)的位置
  • -s <directory>: 指定放置生成的源文件的位置

但是我仍然无法弄清楚如何做到这一点。

3.还说:

等等,当您运行端点发布者时,您将遇到以下错误消息: Wrapper class com.mkyong.ws.jaxws.GetHelloWorldAsString is not found. Have you run APT to generate them?

但是,我没有收到任何此类错误,并且我的端点发布时没有任何错误。因此,我们是否仍然需要显式生成用于 Web 服务部署的类,wsgen或者这由 JAX-WS 内部处理。

4

0 回答 0