我是Web服务编程的新手,并尝试创建JAX-WS Web服务。我在Eclipse中创建了以下JAX-WS web service:
创建服务接口:
package test;
@WebService
@SOAPBinding(style = Style.RPC)
public interface AdditionService {
@WebMethod
int add(int a,int b);
}
在一个实现类之后:
package test;
@WebService(endpointInterface = "test.AdditionService")
public class AdditionServiceImpl implements AdditionService{
@Override
public int add(int a, int b) {
return a+b;
}
}
最后一步: 通过使用以下代码,我将发布服务:
package test;
public class AddtionServicePublisher {
public static void main(String[] args) {
Endpoint.publish
("http://localhost:9999/ws/additionService",
new AdditionServiceImpl());
}
}
我可以使用下面的本地URL查看wsdl:
http://localhost:9999/ws/additionService?wsdl
但是我没有安装任何服务器。它是如何发布的?服务器是否内置了eclipse?
答案 0 :(得分:0)
Oracle Java documentation声明了以下内容
在给定地址处创建并发布指定实现者对象的端点。 必要的服务器基础结构将由 JAX-WS实现使用一些默认配置创建和配置。
由于JAX-WS是Java SE软件包的一部分,这意味着底层服务器取决于您运行程序的JVM类型。例如。在我的笔记本电脑上,我正在运行Java 8 OpenJDK,其中包含" com.sun.net.httpserver.HttpServer"的实例。已创建。
找出在您的环境中启动的服务器的最快方法,只需跳转到Endoint.java的(反编译)代码和实现。
如果您想创建一个独立的,自行运行的Webservice-jar,您可能有兴趣查看Spring-WS(使用Spring Boot)或Dropwizard。