温馨提示×

Java WebService 简单实例(附实例代码)

小云
102
2023-08-17 15:06:59
栏目: 编程语言

下面是一个简单的Java WebService实例,使用了JAX-WS标准:

  1. 编写WebService接口:
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
@WebMethod
String sayHello(String name);
}
  1. 实现WebService接口:
import javax.jws.WebService;
@WebService(endpointInterface = "HelloWorld")
public class HelloWorldImpl implements HelloWorld {
@Override
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
  1. 配置Web Service部署描述文件(web.xml):
<web-app>
<display-name>WebServiceExample</display-name>
<servlet>
<servlet-name>WebServiceExample</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<init-param>
<param-name>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</param-name>
<param-value>1</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>WebServiceExample</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
  1. 配置Web Service绑定描述文件(sun-jaxws.xml):
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint name="HelloWorld" implementation="HelloWorldImpl"
url-pattern="/hello"/>
</endpoints>
  1. 使用JAX-WS提供的工具生成Web Service服务端和客户端代码:
wsimport -keep -p com.example.ws http://localhost:8080/WebServiceExample/hello?wsdl
  1. 部署到Servlet容器(如Tomcat)并启动。

  2. 测试WebService服务端:

在浏览器中访问http://localhost:8080/WebServiceExample/hello?wsdl,能够看到生成的WSDL文件。

  1. 测试WebService客户端:
import com.example.ws.HelloWorld;
import com.example.ws.HelloWorldImplService;
public class HelloWorldClient {
public static void main(String[] args) {
HelloWorldImplService service = new HelloWorldImplService();
HelloWorld port = service.getHelloWorldImplPort();
String result = port.sayHello("Alice");
System.out.println(result);
}
}

这个简单的Java WebService实例演示了一个简单的问候服务。通过WebService接口定义了一个sayHello方法,实现类返回一个问候语。客户端通过调用WebService接口的方法与服务端进行交互。

0