在 Java 中调用 Web 服务涉及以下步骤:创建 Web 服务客户端存根:生成 Java 代码存根,使用 Axis2、CXF 或 JAX-WS 等框架。创建 Web 服务客户端:初始化客户端,指定端点地址和连接配置。调用 Web 服务方法:通过客户端对象调用方法并传递参数和接收响应。
如何在 Java 中调用 Web 服务
使用 Java 调用 Web 服务包括以下步骤:
1. 创建 Web 服务客户端存根
- 使用 WSDL 生成 Java 代码存根。
- 使用 Apache Axis2、CXF 或 JAX-WS 等 Web 服务框架。
2. 创建 Web 服务客户端
- 使用生成的存根初始化 Web 服务客户端。
- 指定服务端点地址和连接配置。
3. 调用 Web 服务方法
- 通过客户端对象调用 Web 服务方法。
- 传递请求参数并接收响应数据。
示例代码
以下是一个使用 JAX-WS 调用 Web 服务的示例代码:
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
@WebServiceClient(
name = "MyWebService",
targetNamespace = "http://example.org/mywebservice"
)
public class MyWebService {
@WebEndpoint(name = "MyWebServiceSoapBinding")
public static MyWebServiceSoapBinding getMyWebServiceSoapBinding() {
// Replace with actual WSDL and service URL
QName serviceName = new QName("http://example.o
rg/mywebservice", "MyWebService");
Service service = Service.create(serviceName);
service.addPort(new QName("http://example.org/mywebservice", "MyWebServiceSoapBinding"),
SOAPBinding.SOAP12HTTP_BINDING,
"http://localhost:8080/MyWebService");
return service.getPort(MyWebServiceSoapBinding.class);
}
private static MyWebServiceSoapBinding myWebServiceSoapBinding;
public static MyWebServiceSoapBinding getMyWebService() {
if (myWebServiceSoapBinding == null) {
myWebServiceSoapBinding = getMyWebServiceSoapBinding();
}
return myWebServiceSoapBinding;
}
// Define methods to call Web service operations...
}使用
- 创建
MyWebService实例。 - 调用
getMyWebService方法获取 Web 服务客户端。 - 使用客户端调用 Web 服务方法。









