gpt4 book ai didi

java - 在哪里使用wsgen?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:16:29 25 4
gpt4 key购买 nike

似乎不知道在哪里(什么目录 - 源或类)针对我的 WebService 类正确使用 wsgen...

创建一个基于 WebService 的示例文档文字:

package hello;

import javax.jws.WebService;

@WebService
public class HelloWorld {

public void sayHello() {
System.out.println("Welcome to JAX-WS 2!");
}
}

像这样创建发布者:

package hello;

import javax.xml.ws.Endpoint;

public class Publisher {
public static void main(String[] args) {
Endpoint.publish("http://localhost:8080/jaxws/hello", new HelloWorld());
}
}

使用 Eclipse Helios,我自动将这两个文件构建为相应类目录下的 *.classes。

所以,从文件系统来看,我的项目是这样的:

/code/jws_sample
|
src
|
hello
|
HelloWorld.java
Publisher.java
|
classes
|
HelloWorld.class
Publisher.class

我将在哪个目录中运行 wsgen?

当我在里面尝试时:

/code/jaxws_sample/src/wsgen -cp 。你好.HelloWorld

收到:

  Class not found: "hello.HelloWorld"

Usage: WSGEN [options] <SEI>

where [options] include:

-classpath <path> specify where to find input class files

-cp <path> same as -classpath &lt;path&gt;

-d <directory> specify where to place generated output files

-extension
allow vendor extensions - functionality not specified
by the specification. Use of extensions may
result in applications that are not portable or
may not interoperate with other implementations
-help display help

-keep keep generated files

-r <directory> resource destination directory, specify where to
place resouce files such as WSDLs

-s <directory> specify where to place generated source files

-verbose output messages about what the compiler is doing

-version print version information

-wsdl[:protocol] generate a WSDL file. The protocol is optional.
Valid protocols are [soap1.1, Xsoap1.2],
the default is soap1.1.
The non stanadard protocols [Xsoap1.2]
can only be used in conjunction with the
-extension option.

-servicename <name> specify the Service name to use in the generated WSDL
Used in conjunction with the -wsdl option.

-portname <name> specify the Port name to use in the generated WSDL
Used in conjunction with the -wsdl option.

Examples:

wsgen -cp . example.Stock
wsgen -cp . example.Stock -wsdl -servicename {http://mynamespace}MyService

它实际上确实在浏览器中向我展示了 WSDL,而且当我尝试从 $MyProject/classes 发出 wsgen 命令时,它实际上确实创建了一个包含 SayHelloResponse.class 文件而不是 SayHelloResponse.java 文件的 jaxws 文件夹?

感谢您花时间阅读本文。

最佳答案

看起来你必须先将文件编译成类文件,然后将它们提供给 wsgen。

classpath <path>          specify where to find input **class files**

我可能是错的,但我相信我过去也必须这样做。

谢谢,

杰弗里·凯文·普赖

关于java - 在哪里使用wsgen?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6460258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com