跨项目webservice接口调用.docx
文本预览下载声明
ps:主要解决在webservice中,我们想从另外一个项目调用webservice项目的接口,也就是跨项目调用接口 这里主要用到了xfire wsdl 废话不说了 直接上东西首先新建一个项目在src下创建两个文件:第一个是你想要访问的webservice的接口,比如我想访问的接口是 ReleaseService 那就在当前项目创建一个ReleaseService接口(接口中的方法必须和你想要访问的webservice的接口中的方法相同)第二个是你的调用类导入相应的jar包,这些包不能引用,一定要复制到lib文件夹下面在引用具体的实现代码TestWebService方法的代码:package com.isanta.webServiceTest;import java.io.InputStream;import java.net.MalformedURLException;import java.util.Properties;import java.util.Scanner;import org.codehaus.xfire.XFireFactory;import org.codehaus.xfire.client.XFireProxyFactory;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.binding.ObjectServiceFactory;public class TestWebService {/** * @param args */public static void testWebService() throws MalformedURLException, Exception{// TODO Auto-generated method stub/***这里是我的参数放在了properties文件中,我在读取里面的参数,这里我们也可以通过方法传参数*如 : testWebService(String url,String xMlStr)() 那么在调用的时候就可以直接传进来了*url 是你访问的webservice 的tomcat 的服务器地址*/Properties pro = new Properties();InputStream in = null;in = TestWebService.class.getResourceAsStream(/request.properties);pro.load(in);String url = pro.getProperty(url);String xMLstr = pro.getProperty(xMLstr);Service s=new ObjectServiceFactory().create(ReleaseService.class);XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());System.out.println(url=+url); try { //这里就是获取webservice的接口的实例对象 ReleaseService seleaseService=(ReleaseService) xf.create(s,url); System.out.println(进入接口-----------------请求报文:+xMLstr);//这里就是调用你需要的接口的方法 String st=seleaseService.queryReceiptDatas(xMLstr); System.out.print(st); } catch(Exception e) { e.printStackTrace(); }}}将整个项目打包成jar将打好的jar包引入到你想要调用的项目中,然后就想 正常的代码一样来调用,如:import java.net.MalformedURLException;import com.isanta.webServiceTest.TestWebService;public class Test {public static void main(String[] args) throws MalformedURLException, Exception {TestWebService.testWebService();}}
显示全部