接口
package li;
import java.util.*;
public interface Ilining {
  public List<Person> Search(String message);
}
实现类
package li;
//Generated by MyEclipse
import java.util.*;
public class liningImpl implements Ilining {

public List<Person> Search(String message){
Person li =new Person("lining",22);
Person wang =new Person("wang",22);
List<Person> list=new ArrayList<Person>();
list.add(li);
list.add(wang);
return list;
}
}
Person类
package li;public class Person {
String name1;
int age;
public Person(String name1,int age){
this.name1=name1;
this.age=age;

}
public String getName1() {
return name1;
}
public void setName1(String name1) {
this.name1 = name1;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
客户端用通过wsdl用myeclipse自动生成,怎么接收return list 

解决方案 »

  1.   

    没看懂,楼主真的写了个webService?
      

  2.   

    楼主要用什么方式生成webservice啊?没搞懂楼主的意思
      

  3.   

       //构建service
            Service service=new ObjectServiceFactory().create(IUsersService.class);
            try {
                //获得自定义webservice接口
                IUsersService usersService=(IUsersService) new XFireProxyFactory().create(service, "http://localhost:8080/xfiredemo/services/UsersService");
                //调用该webservice中定义的getUsers()方法
                List<Users> list=usersService.getUsers();
                //输出list长度
                System.out.println(list.size());
                //遍历list
                for (Users users : list) {
                    System.out.println("id:"+users.getId()+"\tusername:"+users.getUsername()+"\tsex:"+users.getSex()+"\tage:"+users.getAge()+"\tmemo:"+users.getMemo());
                }
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }
      

  4.   

    采用的 是xfire方式调用webservice服务。
      

  5.   

    用axis还是xfire?
    给你一个axis的
    客户端代码如下Call call = (Call) service.createCall(); 
    QName qn = new QName("urn:LININGIMPL","PERSON");
    call.registerTypeMapping(Person.class, qn, new org.apache.axis.encoding.ser.BeanSerializerFactory(Person.class, qn), new org.apache.axis.encoding.ser.BeanSerializerFactory(Person.class, qn));

    call.setTargetEndpointAddress(new java.net.URL(endpoint));  call.setOperationName(new QName(serviceType, serviceFun));
    call.setReturnClass(ArrayList.class);
    call.addParameter("param" , Constants.XSD_STRING,
    ParameterMode.IN);WSDD文件<service name="PSService" provider="java:RPC">
      <parameter name="className" value="li.liningImpl"/>
      <parameter name="allowedMethods" value="*"/>
      <beanMapping qname="myNS:PERSOPN" xmlns:myNS="urn:LININGIMPL" languageSpecificType="li.Person"/>
      </service>大概是这样把,楼主要是闲麻烦可以用eclipse的axis插件直接生成代码。
      

  6.   

    楼上的居然能知道lz用了什么方式来做webservice?楼主用xFire,还是Axis2,我只懂这两个了,但是看不出来lz用了那个,楼上居然有牛人,膜拜
      

  7.   

    楼主说的应该是用jdk中的那个什么misport自动生成的吧