简介:本文探讨了在不同项目间调用Web服务接口的方法与实践,涵盖了技术实现、安全性和性能优化等方面。
本段落主要介绍如何在Webservice中跨项目调用接口,并使用了XFire WSDL技术。
步骤如下:
1. 首先创建一个新项目。
2. 在src下新建两个文件:
- 第一个是您想要访问的Web服务端口,例如ReleaseService。需确保该端口中包含的方法与目标Webservice中的方法一致;
- 第二个是调用类。
3. 导入所需的jar包,并将其复制到lib目录中以避免引用问题。
以下是具体的实现代码:
TestWebService.java
```java
package com.isanta.webServiceTest;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.util.Properties;
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 {
public static void testWebService() throws MalformedURLException, Exception{
Properties pro = new Properties();
InputStream in = null;
in = TestWebService.class.getResourceAsStream(/request.properties);
pro.load(in);
String url = pro.getProperty(url); //此处的参数可以从properties文件中读取,也可以通过方法传参
Service s=new ObjectServiceFactory().create(ReleaseService.class);
XFireProxyFactory xf= new XFireProxyFactory(XFireFactory.newInstance().getXFire());
System.out.println(url=+url);
ReleaseService releaseService = (ReleaseService)xf.create(s, url);
String xMLstr = pro.getProperty(xMLstr);
System.out.println(进入接口----------------->请求报文:+xMLstr);
String st=releaseService.queryReceiptDatas(xMLstr);
System.out.print(st);
}
}
```
接下来,将项目打包成jar文件,并将其引入到需要调用的项目中。然后像正常代码一样进行调用:
Test.java
```java
import java.net.MalformedURLException;
public class Test {
public static void main(String[] args) throws MalformedURLException, Exception {
TestWebService.testWebService();
}
}
```
以上就是通过XFire实现跨Webservice项目接口调用的方法。