读书人

【web service】施用eclipse进行客户端

发布时间: 2012-11-22 00:16:41 作者: rapoo

【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;}}


似乎注解可有可无

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

上面为一个interface,请对其进行实现
@Overridepublic User getU() {// TODO Auto-generated method stubUser u = new User();u.setName("duduli");u.setAge(21);return u;}@Overridepublic ArrayList<User> getUserArray() {// TODO Auto-generated method stubSystem.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 项目


填写项目名称之后,点击完成。


在项目名称上点击右键,新建web service client




填写wsdl


点击完成后就会出现一堆java类文件。




然后编写测试类


@org.junit.Testpublic 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.Testpublic 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());}}


注意在这里传递list或map对象的时候不能穿List要它的实现类,ArrayList。map也是一样。使用HashMap进行传送,否则客户端执行的时候会出现类型转换不成功。

读书人网 >Web前端

热点推荐