【发布时间】:2013-01-02 11:11:49
【问题描述】:
我一直在阅读有关使用 Java、Eclipse 等进行 Web 服务编程的一些资料,我发现了一个特定的示例,其中该人通过执行以下操作创建了 Web 服务和客户端:
- 定义Web服务java类(接口+实现)
- 部署使用Endpoint.publish的网络服务
- 从 Web 服务的 url 中获取 wsdl(例如,localhost://greeting?wsdl)
- 使用 wsimport 生成存根
- 使用生成的存根创建客户端类
是否有另一种方法可以生成 wsdl 而无需发布 Web 服务并下载它?也许是一个自动生成 wsdl 和客户端存根的 maven 插件?
更新:我不会创建一个新问题,而是要背负这个问题。
我通过定义一个接口创建了我的网络服务:
@WebService
public interface HelloWorldWs {
@WebMethod
public String sayHello(String name);
}
还有一个 impl 类:
@WebService(endpointInterface = "com.me.helloworldws.HelloWorldWs")
public class HelloWorldWsImpl implements HelloWorldWs {
@Override
@WebMethod
public String sayHello(String name) {
return "Hello World Ws, " + name;
}
}
当我运行 wsgen 时,我收到以下错误:
The @javax.jws.WebMethod annotation cannot be used in with @javax.jws.WebService.endpointInterface element.
Eclipse 似乎没问题。
知道为什么吗?
注意,我最初没有注释,但是当我尝试调用我的 web 服务时,出现以下错误:
com.me.helloworldws.HelloWorldWsImpl is not an interface
【问题讨论】:
-
我正在学习 Java 中的 Web 服务,我正在寻找上面的示例
where the person created the web .. bla bla。你能把那个例子的链接发给我吗,这对我理解网络服务很有帮助
标签: java web-services wsdl wsimport