web service服务方法为String videoGeneralSearch(List<T> allCondition, int firstResultIndex,int maxPageRows, int rowsCount, boolean isPaging);在客户端调用这个
web service怎么带这个List<T>进去。。求指教。

解决方案 »

  1.   

    服务器端的方法客户端可以运行?那还分什么客户端和服务器端
    你的意思应该是在客户端的程序中接受这个list<T>吧?public void send(Collection<BIDR> list) throws Exception {
    // TODO Auto-generated method stub
    try {
    /*CClient c=(CClient) new CConfiguration().getClient();*/
    CConfiguration conf=new CConfiguration();
    CClient c=(CClient) conf.getClient();

    Socket socket=new Socket(ip,Integer.parseInt(c.getSock()));//"localhost",9998
    System.out.println("连接成功");


    Kehuduanjihe kjh=new Kehuduanjihe();
    kjh.caidan();
    //发送数据到服务器
    ObjectOutputStream oos=new ObjectOutputStream(socket.getOutputStream());
    oos.writeObject(list);
    oos.flush();
    //关闭流
    oos.close();

    } catch (Exception e) {
    // TODO: handle exception
    e.printStackTrace();
    }
    }
    发送的ObjectInputStream ois=new ObjectInputStream(socket.getInputStream());

    Object object = ois.readObject();
    //System.out.println(object);
    //System.out.println(str);
    //然后对接收到的数据str进行处理
    int num=0;
    String name = null;
    String ip = null;;
    Timestamp time_in = null;
    Timestamp time_out = null;
    String nas_ip = null;
    long time_long = 0;

    List list= (List) object;接受的。应该就是这意思把?
      

  2.   

    如果是Java客户端,List<T>需要写个解析类ArrayOfT 
      

  3.   

    public class DynamicClient {
    public Object[] getWebService(String surl,String saction,Object[] objarr) throws MalformedURLException,Exception
     {
      Client client = new Client(new URL(surl));
      Object[] results = client.invoke(saction, objarr);
      return results;
     }}List<PsvTSearchconditiondetail> list = new ArrayList<PsvTSearchconditiondetail>();
    Object[] rs = client.getWebService("http://127.0.0.1:8000/MyXfile/service/serach.ws?wsdl",
    "videoGeneralSearch", new Object[]{list,1,20,0,true});
    String ret = (String)rs[0];
    System.out.println(ret);
    List<PsvTSearchconditiondetail> list = new ArrayList<PsvTSearchconditiondetail>();
    Object[] rs = client.getWebService("http://127.0.0.1:8000/MyXfile/service/serach.ws?wsdl",
    "videoGeneralSearch", new Object[]{list,1,20,0,true});
    String ret = (String)rs[0];
    System.out.println(ret);
    这是我的代码。调用web service时带的泛型集合进去,报类型错误。这个只可以传基本的数据类型。不允许带复杂的类型。。请各位大哥指点指点,还有没有其他的方法可以带这个泛型进去。(如果直接把web service打成jar包,放到客户端,这样可不可以。)