XFire创建客户端的三种方式
2010-12-21 14:53
411 查看
wsdlDocumentURL 代表 wsdl所对应的URL
1、通过URLConnection创建连接,然后invoke相应接口
优点:调用简单
缺点:传递封装对象比较麻烦
2、XFireProxyFactory创建客户端实例
客户端需要明确知道接口详细信息
3、通过eclipse自动生成webservice client
4、通过org.codehaus.xfire.spring.remoting.XFireClientFactoryBean构建客户端实例
使用该配置方法的话,可以通过注入实现调用,同时可以减少手动创建URLConnection之后忘记关闭连接的尴尬
只是如果使用该方法的时候,需要在web.xml中添加如下配置
1、通过URLConnection创建连接,然后invoke相应接口
优点:调用简单
缺点:传递封装对象比较麻烦
// wsdlDocumentURL必须是全地址(包含?wsdl) URL url = new URL(wsdlDocumentURL); URLConnection connection = url.openConnection(); Client client = new Client(connection.getInputStream(), null); // invoke接口方法 // 接口返回Object数组 Object[] result = client.invoke("methodName", new Object[]{});
org.codehaus.xfire.service.Service serviceModel = new ObjectServiceFactory().create(接口.class); XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire()); IEmailBindHandlerService handler = (IEmailBindHandlerService) factory.create(serviceModel, wsdlURL);
2、XFireProxyFactory创建客户端实例
客户端需要明确知道接口详细信息
org.codehaus.xfire.service.Service serviceModel = new ObjectServiceFactory().create(IEmailBindHandlerService.class); XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire()); 接口 handler = (IEmailBindHandlerService) factory.create(serviceModel, wsdl地址);
3、通过eclipse自动生成webservice client
4、通过org.codehaus.xfire.spring.remoting.XFireClientFactoryBean构建客户端实例
<bean id="baseService" class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean" abstract="true"> <property name="serviceFactory" ref="xfire.serviceFactory" /> <!-- <property name="lookupServiceOnStartup" value="false" /> --> <property name="properties"> <props> <!-- 等待HttpConnectionManager从连接池中返回空闲连接的超时时间 --> <prop key="http.connection.manager.timeout">1000</prop> <!-- 等待建立连接的超时时间 --> <prop key="http.connection.timeout">3000</prop> <!-- 等待服务器返回数据超时时间 --> <prop key="http.timeout">10000</prop> <!-- 连接到单个服务器的连接数上限 --> <prop key="max.connections.per.host">10</prop> <!-- 连接到所有服务器的连接个数上限 --> <prop key="max.total.connections">80</prop> </props> </property> </bean> <bean id="接口实例" parent="baseService"> <property name="serviceClass" value="接口地址" /> <property name="wsdlDocumentUrl" value="${xfireServerURL}/webservice名称?wsdl" /> </bean>
使用该配置方法的话,可以通过注入实现调用,同时可以减少手动创建URLConnection之后忘记关闭连接的尴尬
只是如果使用该方法的时候,需要在web.xml中添加如下配置
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:org/codehaus/xfire/spring/xfire.xml</param-value> </context-param>
相关文章推荐
- 在XFire中创建WebService客户端的三种常用方式 .
- 在XFire中创建WebService客户端的三种常用方式(转)
- 在XFire中创建WebService客户端的三种常用方式
- 在XFire中创建WebService客户端的三种常用方式
- WebService 创建客户端访问服务端面的三种方式
- android客户端与服务端交互的三种方式
- Jquery mobile按钮的三种创建方式及使用条件
- 一心多用多线程-线程创建的三种方式
- 控制器创建的三种方式
- java创建线程的三种方式及其对比
- 创建多线程的三种方式
- html5创建对象的三种方式
- MySQL存储过程和自定义函数、Navicat、创建存储过程和函数、调用存储过程和函数、三种方式、In和Out类型参数、
- axis和xfire以及CXF三种方式实现WebServices分别有什么优缺
- java创建线程的三种方式
- android客户端与服务端交互的三种方式
- CXF的三种发布方式和客户端调用方法
- java创建线程的三种方式及其对比
- CXF的三种发布方式和客户端调用方法
- 设计模式:单例模式的三种创建方式及其各自的优缺点