java xfire 客户端代码,java xfire+ spring 公布服务端web service 以及客户端调用

当前位置:我的异常网» Web前端 » java xfire+ spring 公布服务端web service 以及客

java xfire+ spring 公布服务端web service 以及客户端调用

www.myexceptions.net  网友分享于:2013-09-08  浏览:34次

java xfire+ spring 发布服务端web service 以及客户端调用

发现,在客户端调用 结合spring的时候,

log中打印出:Retrieving document at 'null'.

目前属于 xfire的一个bug,xfire版本:1.2.6.

http://jira.codehaus.org/browse/XFIRE-1088

从bug上 还没有看到相应的fix的版本。

====================================

服务端 编写:

class="org.codehaus.xfire.addressing.AddressingInHandler" />

class="org.codehaus.xfire.spring.ServiceBean">

class="org.codehaus.xfire.spring.ServiceBean">

-------------------------------

通过web url

http://localhost:8080/xfiremsg/services

可以看到发布的webservice。

客户端调用:

-------------

1.spring:结合:

com.mjp.ws.client.IHelloWs

http://localhost:8080/xfiremsg/services/IHelloWs?wsdl

private static void run1() {

System.out.println("-------run1 start-------------------");

try {

Service serviceModel = new ObjectServiceFactory()

.create(IHelloWs.class);

XFireProxyFactory factory = new XFireProxyFactory(XFireFactory

.newInstance().getXFire());

String url = "http://localhost:8080/xfiremsg/services/IHelloWs";

IHelloWs cws = (IHelloWs) factory.create(serviceModel, url);

String result = cws.hello("mjp");

System.out.println(result);

} catch (Exception e) {

e.printStackTrace();

}

System.out.println("-------run1 end-------------------");

}

private static void run2() {

System.out.println("-------run2 start-------------------");

try {

ApplicationContext ctx = new ClassPathXmlApplicationContext(

"applicationContext.xml");

IHelloWs cws = (IHelloWs) ctx.getBean("helloService");

String result = cws.hello("mjp");

System.out.println(result);

} catch (Exception e) {

e.printStackTrace();

}

System.out.println("-------run2 end-------------------");

}

----------------------------

客户端调用时 :首先将 发布服务的接口,输入参数对象,返回对象对于的自定义类,接口类,打成一个jar,加入到工程里边

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package com.xfire.core.client; import java.net.MalformedURLException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.service.Service; import org.codehaus.xfire.service.binding.ObjectServiceFactory; import com.xfire.core.entity.UserInfo; import com.xfire.core.service.IUserInfoService; /** *@author jilongliang *@Date 2012-3-5 * */ public class UserInfoClient { public static void main(String[] args) { getServiceList(); setServiceList(); } static String url = "http://localhost:8081/xfire/services/UserInfo"; /** * */ public static void getServiceList() { Service service = new ObjectServiceFactory() .create(IUserInfoService.class); try { IUserInfoService iAddressService = (IUserInfoService) new XFireProxyFactory() .create(service, url); List list = (ArrayList) iAddressService .getAddressList(); System.out.println("一共多少条数据:" + list.size()); for (Iterator iter = list.iterator(); iter.hasNext();) { UserInfo a = iter.next(); System.out.println(a); } } catch (MalformedURLException e) { e.printStackTrace(); } } public static void setServiceList() { Service service = new ObjectServiceFactory() .create(IUserInfoService.class); try { IUserInfoService iAddressService = (IUserInfoService) new XFireProxyFactory() .create(service, url); List listAdd = new ArrayList(); UserInfo address = new UserInfo(); address.setIdentifier(1); address.setCountry("中國"); address.setProivice("廣東省"); address.setCity("陽江"); address.setAddress("廣東陽春"); address.setPostCode("1111111"); address.setExist(false); address.setArrary(new String[] { "22", "23", "24" }); listAdd.add(address); address.setIdentifier(2); address.setCountry("中國"); address.setProivice("廣東省"); address.setCity("陽江"); address.setAddress(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值