java cxf xml嵌套_CXF+JAXB处理复杂数据

packagecxfdemo.test;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.HashSet;importjava.util.List;importjava.util.Map;importjava.util.Set;importjavax.xml.ws.Endpoint;importjunit.framework.Assert;importjunit.framework.TestCase;importorg.apache.cxf.jaxws.JaxWsProxyFactoryBean;importcxfdemo.CXFDemo;importcxfdemo.CXFDemoImpl;importcxfdemo.MyUser;importcxfdemo.User;public class TestEndpoint extendsTestCase {private static final String ADDRESS = "http://localhost:9000/cxfdemo";private staticCXFDemo service;

@Overrideprotected void setUp() throwsException {//TODO Auto-generated method stub

super.setUp();if(null==service){

System.out.println("Starting Server");

CXFDemoImpl demo= newCXFDemoImpl();

Endpoint.publish(ADDRESS, demo);

System.out.println("Start success");

JaxWsProxyFactoryBean factory= newJaxWsProxyFactoryBean();

factory.setServiceClass(CXFDemo.class);

factory.setAddress(ADDRESS);

service=(CXFDemo)factory.create();

}

}public voidtestSayHello(){

Assert.assertEquals(service.sayHello("foo"), "hello foo");

}public voidtestSayHelloToUser(){

User user= newUser();

user.setName("Holbrook");

String result=service.sayHelloToUser(user);

Assert.assertEquals(result,"hello Holbrook");

}public voidtestGetUser(){

User user= service.getUser("Holbrook");

Assert.assertEquals("Holbrook",user.getName());

}public voidtestGetUsers(){

List users =service.getUsers();

Assert.assertEquals(1,users.size());

}public voidtestSetUsers(){

List users = new ArrayList();

users.add(newUser());

users.add(newUser());

users.add(newUser());

Assert.assertEquals(3,service.setUsers(users).intValue());

}public voidtestGetUserSet(){

Set userSet =service.getUserSet();

Assert.assertEquals(2,userSet.size());

}public voidtestSetUserSet(){

Set set = new HashSet();

set.add(newUser());

set.add(newUser());

Assert.assertEquals(2, service.setUserSet(set).intValue());

}public voidtestGetUserMap(){

Map map =service.getUserMap();

Assert.assertTrue(map.containsKey("Holbrook"));

Assert.assertTrue(map.containsKey("wanghaikuo"));

}public voidtestSetUserMap(){

HashMap map = new HashMap();

User user1= newUser();

user1.setName("Holbrook");

map.put("Holbrook", user1);

User user2= newUser();

user2.setName("wanghaikuo");

map.put("wanghaikuo", user2);

Assert.assertEquals(2, service.setUserMap(map).intValue());

}public voidtestAddChild(){

User root= newUser();

root.setName("root");//root.parent = root;

User child= newUser();

child.setName("child");

User parent=service.addChild(root, child);

Assert.assertTrue(parent.children.containsKey("child"));

Assert.assertEquals(parent.children.get("child").parent, parent);

}public voidtestInheritance(){

User parent= newUser();

MyUser child= newMyUser();

child.setName("child");

child.myProp= "subclass Prop";

User root=service.addChild(parent, child);

User newChild= root.children.get("child");

System.out.println(newChildinstanceofMyUser);

System.out.println(((MyUser)newChild).myProp);

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值