axis2的qname not fond for the package问题的解决

在一个项目组,需要用到webservice,虽然现有的webservice组件为axis2,比较古老了,不过夜没办法,是个老项目。
不过AXIS2还算好用,就是还是复杂了一些。
在部署webservice的时候,我们可以通过这样的方法来在浏览器中测试
http://aiyooyoo.com/service/getStudentService/listStudent?unit=5
getStudentService为服务名,listStudent为方法名,而unit=5自然就是参数了。
在测试的时候,发现如果是基本类型的话,就能正常运行,但我这次需要的是一个list<student>的集合类型。
在浏览器中报错如下:
qname not fond for the package com.aiyooyoo.com.dbutil
很明显,我的代码里是有这个包的,刚开始怀疑是这种方法有局限性造成的,于是用代码写了个客户端进行测试,问题依然如此。现在就确实确实是返回类型的问题了,如果返回int等基本类型就正常。
查了下资料,发现AXIS2不支持集合,而axis1反倒支持,axis2需要用对象数组的方式来处理,为了已有类的通用性,想到了我可以再服务器端先把集合转换为字符串,再在客户端把字符串转换为集合,不就解决了吗。
于是,主要代码如下:
//集合转字符串
List list<Student>=new arrayList<Student>();
....
return list.toString();
//字符串转集合
JSONArray jsonArray = JSONArray.fromObject(jsonString);
  JSONObject jsonObject;
  Object pojoValue;
  List list = new ArrayList();
  for (int i = 0; i < jsonArray.size(); i++) {
   jsonObject = jsonArray.getJSONObject(i);
   pojoValue = JSONObject.toBean(jsonObject, Student.class);
   list.add(pojoValue);
  }
  return list;

 }

问题解决。记录下,供遇到同类问题的童鞋参考。

转:MySQL 数据库中删除重复记录的方法总结

演示数据


表结构:


mysql> descdemo;

+-------+------------------+------+-----+---------+----------------+

| Field | Type             | Null| Key| Default| Extra          |

+-------+------------------+------+-----+---------+----------------+

| id    | int(11) unsigned | NO  | PRI | NULL   | auto_increment |

| site  | varchar(100)     | NO  | MUL |         |                |

+-------+------------------+------+-----+---------+----------------+

2 rowsinset(0.00 sec)

数据:


1

2

3

4

5

6

7

8

9

10

11
mysql> select* fromdemo orderbyid;

+----+------------------------+

| id | site                   |

+----+------------------------+

|  1 | http://www.CodeBit.cn  |

|  2 | http://YITU.org        |

|  3 | http://www.ShuoWen.org |

|  4 | http://www.CodeBit.cn  |

|  5 | http://www.ShuoWen.org |

+----+------------------------+

5 rowsinset(0.00 sec)

当没有创建表或创建索引权限的时候,可以用下面的方法:


如果你要删除较旧的重复记录,可以使用下面的语句:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
mysql> deletefroma

    -> using demo asa, demo asb

    -> where(a.id > b.id)

    -> and(a.site = b.site);

Query OK, 2 rowsaffected (0.12 sec)

 

mysql> select* fromdemo orderbyid;

+----+------------------------+

| id | site                   |

+----+------------------------+

|  1 | http://www.CodeBit.cn  |

|  2 | http://YITU.org        |

|  3 | http://www.ShuoWen.org |

+----+------------------------+

3 rowsinset(0.00 sec)

如果你要删除较新的重复记录,可以使用下面的语句:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
mysql> deletefroma

    -> using demo asa, demo asb

    -> where(a.id < b.id)

    -> and(a.site = b.site);

Query OK, 2 rowsaffected (0.12 sec)

 

mysql> select* fromdemo orderbyid;

+----+------------------------+

| id | site                   |

+----+------------------------+

|  2 | http://YITU.org        |

|  4 | http://www.CodeBit.cn  |

|  5 | http://www.ShuoWen.org |

+----+------------------------+

3 rowsinset(0.00 sec)

你可以用下面的语句先确认将被删除的重复记录:

阅读剩余部分...

转:Git安装使用手记

这篇主要是记录我在 

先描述一下安装的需求:

· 用户端和服务器端的操作系统都是 

· 用户端要能透过 

· 无论是取出档案还是送交档案,都需要验证身分(输入账号密码)。

底下是安装步骤:

在 msysgit (Git for Windows)

由于我要让用户端可透过 HTTP协定来存取版本库,因此还要把Git安装目录下的bin\libiconv2.dll复制到安装目录下的libexec\git-core\底下。少了这个动作,将来透过HTTP存取版本库时,就会出现HTTP 500 Internal Server Error的讯息。如下图所示:

阅读剩余部分...

吐你一脸狗屎,到底脏了谁?

有一位童鞋,见到自己认为不舒服的人,喜欢时不时对之吐狗屎,当然更多的是在背后吐狗屎。
然此童鞋对此道乐此不疲,且沾沾自喜,到处宣扬,逢人便称,有人被我吐狗屎了。
暂且不论被吐的人是否活该,只是,吐人一脸狗屎,到底脏了谁?
被吐狗屎的人尙可以抖抖衣服,洗净晾干,即使还沾有狗屎味,我想围观者大多一笑了之,每个人都有踩到狗屎的时候嘛。
只是吐狗屎的,却背上了能口吐狗屎的超能力一说,众皆惧之,不测何时狗屎将从其七窍喷涌而出,祸及自身。
呜呼,纵如泼妇骂街,“我吐你一脸狗屎”,可乎?
    Page :
  1. 1
  2. 2