【web service】使用eclipse进行客户端开发

使用cxf进行javabean的传递,以及复杂类型(list)的传递。

1,建立一个web service。
然后建立自定义对象User
package com.duduli.user;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;

import org.apache.cxf.aegis.type.java5.XmlType;

//@XmlType(name = "user")
//@XmlAccessorType(XmlAccessType.FIELD)
public class User {
public User(){
};
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}


[b]似乎注解可有可无[/b]

2,建立基础发送传递方式javabean和list
	@WebMethod(operationName = "getU", action = "urn:GetU")
public User getU();

@WebMethod(operationName = "getUserArray", action = "urn:GetUserArray")
public ArrayList<User> getUserArray();

上面为一个interface,请对其进行实现
	@Override
public User getU() {
// TODO Auto-generated method stub
User u = new User();
u.setName("duduli");
u.setAge(21);
return u;
}

@Override
public ArrayList<User> getUserArray() {
// TODO Auto-generated method stub
System.out.println("return array");
User u = new User();
u.setName("tom");
u.setAge(23);
ArrayList<User> l = new ArrayList<User>();
l.add(u);
return l;
}



3,开启web service。

客户端调用。
使用eclipse for javaee
建立一个动态web 项目

[img]http://dl.iteye.com/upload/attachment/0075/0554/e89d694b-94cd-37af-b182-2878cb2b9e9f.png[/img]
填写项目名称之后,点击完成。

[img]http://dl.iteye.com/upload/attachment/0075/0556/9fd13382-20cb-3c0b-8a0e-8b021b2aeeb9.png[/img]
在项目名称上点击右键,新建web service client


[img]http://dl.iteye.com/upload/attachment/0075/0558/6cf6f7f2-83f0-386d-be95-6471ee6c2c45.png[/img]

填写wsdl

[img]http://dl.iteye.com/upload/attachment/0075/0560/cead1dd0-d220-3acf-a321-059f5fc96f47.png[/img]
点击完成后就会出现一堆java类文件。


[img]http://dl.iteye.com/upload/attachment/0075/0562/2902d497-ad96-36f6-8c4c-20c4b289a0f8.png[/img]

然后编写测试类


	@org.junit.Test
public void test02() {
FirstImpService fis = new FirstImpService();
First f = fis.getFirstImpPort();
User u = f.getU();
System.out.println(u.getName());
System.out.println(u.getAge());
}

@org.junit.Test
public void test03() {
FirstImpService fis = new FirstImpService();
First f = fis.getFirstImpPort();
List<User> u = f.getUserArray();
for(User user:u){
System.out.println(user.getName());
System.out.println(user.getAge());
}
}


[b]注意在这里传递list或map对象的时候不能穿List要它的实现类,ArrayList。map也是一样。使用HashMap进行传送,否则客户端执行的时候会出现类型转换不成功。[/b]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值