前面一节已成功发布了一个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: 包名路径
扫描二维码关注公众号,回复:
855687 查看本文章
即可在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