我写了一个xmlrpc远程调用的方法,服务器端,我把对象放在Map里给返回过去。总是报错
org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse server's response: Failed to load class for result object: com.usercenter.model.UserBase
这里是服务端代码 1.public Map<String, Object> userInfo(Integer uid, String username) {
2. Map<String, Object> map = new HashMap<String, Object>();
3. if(this.access()){
4. try{
5. Long id = new Long(uid);
6. UserBase user = null;
7. if(uid != 0) {
8. user = userBaseDao.get(id);
9. }else if(StringUtils.isNotEmpty(username)){
10. user = userBaseDao.findByName(username);
11. }
12. if(user!=null){
13. //将结果存在Map里,返回给客户端
14. map.put(uid.toString(), user);
15. }else{
16. map.put("", Constants.ERROR);//状态标记表示失败
17. return map;
18. }
19. }catch(Exception e){
20. logger.error("获取用户信息出错:", e);
21. map.put("", Constants.ERROR);//状态标记表示失败
22. e.printStackTrace();
23. }
24. map.put("", Constants.SUCCESS);//状态标记表示成功
25. return map;
26. }else{
27. map.put("", Constants.ERROR);//状态标记表示失败
28. return map;
29. }
30. }
客户端代码调用 1.public void getUser() throws Exception {
2. XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
3. config.setEnabledForExtensions(true);
4. config.setServerURL(new URL(
5. "http://localhost:8080/usercenter/xmlrpc_user"));
6. XmlRpcClient client = new XmlRpcClient();
7. client.setConfig(config);
8. Object object = getObjectClass(client.execute("userBaseManager.userInfo",
9. new Object[] { uid, userName }));
10. String name = object.getClass().getName();
11. System.out.println(name);
12. }
难道xmlrpc不能返回对象吗?
各位大哥大姐们,麻烦指点指点下!
org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse server's response: Failed to load class for result object: com.usercenter.model.UserBase
这里是服务端代码 1.public Map<String, Object> userInfo(Integer uid, String username) {
2. Map<String, Object> map = new HashMap<String, Object>();
3. if(this.access()){
4. try{
5. Long id = new Long(uid);
6. UserBase user = null;
7. if(uid != 0) {
8. user = userBaseDao.get(id);
9. }else if(StringUtils.isNotEmpty(username)){
10. user = userBaseDao.findByName(username);
11. }
12. if(user!=null){
13. //将结果存在Map里,返回给客户端
14. map.put(uid.toString(), user);
15. }else{
16. map.put("", Constants.ERROR);//状态标记表示失败
17. return map;
18. }
19. }catch(Exception e){
20. logger.error("获取用户信息出错:", e);
21. map.put("", Constants.ERROR);//状态标记表示失败
22. e.printStackTrace();
23. }
24. map.put("", Constants.SUCCESS);//状态标记表示成功
25. return map;
26. }else{
27. map.put("", Constants.ERROR);//状态标记表示失败
28. return map;
29. }
30. }
客户端代码调用 1.public void getUser() throws Exception {
2. XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
3. config.setEnabledForExtensions(true);
4. config.setServerURL(new URL(
5. "http://localhost:8080/usercenter/xmlrpc_user"));
6. XmlRpcClient client = new XmlRpcClient();
7. client.setConfig(config);
8. Object object = getObjectClass(client.execute("userBaseManager.userInfo",
9. new Object[] { uid, userName }));
10. String name = object.getClass().getName();
11. System.out.println(name);
12. }
难道xmlrpc不能返回对象吗?
各位大哥大姐们,麻烦指点指点下!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货