下面是一个简单的Java WebService实例,使用了JAX-WS标准:
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
@WebMethod
String sayHello(String name);
}
import javax.jws.WebService;
@WebService(endpointInterface = "HelloWorld")
public class HelloWorldImpl implements HelloWorld {
@Override
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
<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>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint name="HelloWorld" implementation="HelloWorldImpl"
url-pattern="/hello"/>
</endpoints>
wsimport -keep -p com.example.ws http://localhost:8080/WebServiceExample/hello?wsdl
部署到Servlet容器(如Tomcat)并启动。
测试WebService服务端:
在浏览器中访问http://localhost:8080/WebServiceExample/hello?wsdl
,能够看到生成的WSDL文件。
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接口的方法与服务端进行交互。