前面一节已成功发布了一个webservice,接下来则要调用webservice中的方法。
方法一:在本项目中创建一个TestClient.java测试
package com.xu.client;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import com.xu.service.IMyService;
public class TestClient {
public static void main(String[] args) {
URL wsdlURL = null;
try {
wsdlURL = new URL("http://localhost:8888/service?wsdl");
} catch (MalformedURLException e) {
e.printStackTrace();
}
//目标命名空间
String targetNamespace = "http://service.xu.com/";
QName serviceName = new QName(targetNamespace,"MySeviceImpService");
//获取service
Service service = Service.create(wsdlURL, serviceName);
//获取IMyService接口
IMyService ms = service.getPort(IMyService.class);
ms.add(22, 33); //调用方法
}
}
输出结果为:55
方法二:新建一个项目创建TestClient.java,在不同项目中调用webservice
1、首先学习Wsimport命令的使用
-s: 源码生成的目录
-p: 包名路径
即可在d:/webservice/01/目录下生成.java与.class文件
2、将.java文件复制到新建项目中,然后创建TestClient.java文件测试
package com.xu.client;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
public class TestClient {
public static void main(String[] args) {
try {
URL wsdlUrl = new URL("http://localhost:8888/service?wsdl");
//目标命名空间
String targetNamespace = "http://service.xu.com/";
QName serviceName = new QName(targetNamespace,"MySeviceImpService");
Service service = Service.create(wsdlUrl, serviceName);
IMyService ms = service.getPort(IMyService.class);
ms.add(11, 22);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
输出结果为:33