XFire开发步骤

1. 配置Web服务项目:增加Lib包。

2.配置文件清单:主要配置文件(web.xml)WebRoot\WEB-INF\web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>

3.开发一个web服务:

实现代码如下:


4. services.xml

路径:WebRoot\WEB-INF\classes\META-INF\xfire\services.xml

<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>GMSService</name>
<serviceClass>com.IGMSService</serviceClass>
<implementationClass>com.GMSServiceImpl</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service></beans>

5.发布Web服务

启tomcat

6.Web服务客户端编写:

有三种方式:动态方式(反射)、代理方式、客户端桩方式。

(1)客户端采用动态方式要加入Xfire相关jar包就能调用服务的方法,类似java反射

URL url = new URL(urldz);
URL url = new URL("http://10.11.1.202:9000/GMSService/GMSService?wsdl");
//返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。
URLConnection uc = url.openConnection();
//打开的连接读取的输入流。
InputStream in = uc.getInputStream();
Client client = new Client(in, null);
Object[] objArray = new Object[2];
objArray[0] = dxnr;
objArray[1] = jsrysjhm;
//调用特定的Web Service方法sendMessage,参数为objArray
Object[] results = client.invoke("sendMessage", objArray);

//返回值放在results 数组中。
result =(String)results[0];

(2)代理方式(SDK方式):需要加入Xfire相关jar包,并且客户端必须提供与服务端一样的接口,即我们的服务暴露给客户端的接口,包名也最好与服务端的一样。

Service srvcModel = new ObjectServiceFactory().create(IGMSService.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String URL = "http://10.11.1.202:9000/GMSService/GMSService";
IGMSService webservice = (IGMSService)factory.create(srvcModel, URL);
java.util.Vector allmsg = webservice.receiveMessage();

(3)客户端桩方式(根据WSDL生成):也是最容易理解的一种方式,它通过工具自动生成客户端代码,在调用服务时就好像在本地方法一样,同样需要加入Xfire相关jar包的支持。myeclipse就可以生成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值