java 如何使用webservice
时间: 2023-12-19 20:06:28 浏览: 88
使用 Java 开发 WebService 可以使用 JAX-WS 标准,它提供了一组 API,可以用来发布和调用 WebService。下面是一个简单的示例,演示如何使用 JAX-WS 发布和调用 WebService。
1. 创建 WebService 接口:
```
package com.example.webservice;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface HelloWebService {
@WebMethod
String sayHello(@WebParam(name = "name") String name);
}
```
2. 创建 WebService 实现类:
```
package com.example.webservice;
import javax.jws.WebService;
@WebService(endpointInterface = "com.example.webservice.HelloWebService")
public class HelloWebServiceImpl implements HelloWebService {
@Override
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
```
3. 发布 WebService:
```
package com.example.webservice;
import javax.xml.ws.Endpoint;
public class HelloWebServicePublisher {
public static void main(String[] args) {
Endpoint.publish("http://localhost:8080/hello", new HelloWebServiceImpl());
System.out.println("WebService published at http://localhost:8080/hello");
}
}
```
4. 调用 WebService:
```
package com.example.client;
import com.example.webservice.HelloWebService;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.URL;
public class HelloWebServiceClient {
public static void main(String[] args) throws Exception {
URL url = new URL("http://localhost:8080/hello?wsdl");
QName qname = new QName("http://webservice.example.com/", "HelloWebServiceImplService");
Service service = Service.create(url, qname);
HelloWebService hello = service.getPort(HelloWebService.class);
String response = hello.sayHello("World");
System.out.println(response);
}
}
```
以上就是一个简单的使用 JAX-WS 发布和调用 WebService 的示例。
阅读全文