您的位置:首页 > 编程语言 > Java开发

java(xfire)调用java编写的webservice

2010-07-12 17:36 405 查看
webservice服务端基于xfire,至于如何创建基于xfire的服务端,网上有很多文章就不再阐述。

服务端

pojo:

public class GroupInfo implements Serializable{

private static final long serialVersionUID = 7646885719123155790L;

private int groupId; //组id

private String groupName; //组名称

private int parentGroupId; //上级组id

}

方法:

public List<GroupInfo> getAllGroupInfo(String username, String
password) {

IQueryDao queryDao = new QueryDaoImpl();

int policyid = queryDao.getDefaultPolicyID(username, password);

if (policyid==0)

return new ArrayList<GroupInfo>();

else

return queryDao.getAllGroupInfo(policyid);

}

说明:传入用户名密码,返回一个list,里面的对象是类GroupInfo的实例。

.

.

客户端

new-->other-->XFire-->Code generation from WSDL document,填写WSDL
URL or path
:http://192.168.1.174:8080/reservices/services/res_query?wsdl,点击完成,将自动生成webservice客户端代码。

注意:

如果解析wsdl报错,有可能是命名空间不能正确解析的问题,可以手工在<xsd:schema的下一行加上<xsd:import,来导入命令空间。如下所示:

<xsd:import namespace="http://po.resource.dv.com">

</xsd:import>,如果有多个命令空间,一一加上即可。

调用示例代码:

res_queryClient client = new res_queryClient();

res_queryPortType impl = client.getres_queryHttpPort();

ArrayOfGroupInfo arr = impl.getAllGroupInfo("admin", "123456");

List<GroupInfo> list = arr.getGroupInfo();

for (GroupInfo o : list) System.out.println(o.getGroupName().getValue());

本例在MyEclipse6.5下测试通过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: