用Java语言写一个webservice万能客户端
时间: 2023-06-19 14:02:44 浏览: 110
可以使用Java自带的JAX-WS库或者第三方库Apache CXF来实现一个webservice万能客户端。下面是一个简单的示例代码:
```java
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.URL;
public class WebServiceClient {
public static void main(String[] args) throws Exception {
URL wsdlUrl = new URL("http://localhost:8080/HelloWorldService?wsdl");
QName serviceName = new QName("http://example.com/", "HelloWorldService");
QName portName = new QName("http://example.com/", "HelloWorldPort");
Service service = Service.create(wsdlUrl, serviceName);
HelloWorldPortType port = service.getPort(portName, HelloWorldPortType.class);
// 调用webservice方法
String response = port.sayHello("World");
System.out.println(response);
}
}
```
其中,`http://localhost:8080/HelloWorldService?wsdl`是你所要调用的webservice的WSDL地址,`HelloWorldService`和`HelloWorldPort`是webservice的服务名和端口名,`HelloWorldPortType`是webservice的接口类名。
上面的示例代码中,我们通过`Service.create()`方法创建了一个webservice客户端,接着通过`service.getPort()`方法获取了webservice的接口对象,最后调用`port.sayHello()`方法调用webservice的方法。
需要注意的是,webservice的WSDL地址和服务名、端口名、接口类名需要和webservice提供方协商确定,否则无法正确调用webservice。
阅读全文