axis2 webservice调用问题

wudiisss 2013-04-17 09:15:51
list是一个bean对象的集合,目的就是将从数据库中取得的数据转换成json数据后返回给调用者。现在的问题是
如果加上JSONArray json = JSONArray.fromObject(list);的情况下,调用时返回的就是
<soapenv:Text xml:lang="en-US">net/sf/json/JSONArray</soapenv:Text>,并不是return中返回的字符串,如果去掉JSONArray json = JSONArray.fromObject(list);这部分,返回的就是qwqwq这个字符串。加上有什么影响吗,为什么加上了就返回的就不是qwqwq?
(声明:我是在eclipse下单独开发的一个类,然后再部署到另外一个web项目中,其中引入了net.sf.json.JSONArray;)


JSONArray json = JSONArray.fromObject(list);
return "qwqwq";
...全文
244 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_25705907 2015-05-07
  • 打赏
  • 举报
回复
你好,我也遇到了这个问题,请问你解决这个问题了吗能分享一下吗
zjx1980 2013-05-01
  • 打赏
  • 举报
回复
这个问题是怎么解决的啊?
  • 打赏
  • 举报
回复
调用这个方法,不返回qwqwq?
wudiisss 2013-04-17
  • 打赏
  • 举报
回复
引用 7 楼 fangmingshijie 的回复:
完整的代码看看
这是完整代码
package com.lerx.services;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import net.sf.json.JSONArray;
public class GetInfoByJdbc {
/*	public static void main(String[] args) {
		getInfo("sd", "sd");
	}*/

	public  String getInfo() {
		List<OrderBean> list = new ArrayList<OrderBean>();

		try {
			Class.forName("com.mysql.jdbc.Driver");
			Connection connectMySQL = DriverManager.getConnection(
					"jdbc:mysql://10.66.0.237:3306/lerx","root", "");
			Statement statament = connectMySQL.createStatement();
			ResultSet resultSet = statament.executeQuery("select * from sale_order");
			// ResultSet resultSet = statament.executeQuery("order" );
			while (resultSet.next()) { // 判断是否还有下一个数据
				// 根据字段名获取相应的值
				OrderBean bean = new OrderBean();
				bean.setId(resultSet.getString("id"));
				bean.setOrder_id(resultSet.getString("order_id"));
				bean.setAmount(resultSet.getString("amout"));
				list.add(bean);
			}
			try {
				if (connectMySQL != null)
					connectMySQL.close();
			} catch (Exception ex) {
				ex.printStackTrace();
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		JSONArray json = JSONArray.fromObject(list);
		String str = json.toString();
		

		return "qwqwq";
	}
}
  • 打赏
  • 举报
回复
完整的代码看看
wudiisss 2013-04-17
  • 打赏
  • 举报
回复
引用 5 楼 fangmingshijie 的回复:
这明显是返回值类型。和json有啥关系
但是最后都有 return "qwqwq"; 为什么加上JSONArray json = JSONArray.fromObject(list);返回的就不是qwqwq了呢?
  • 打赏
  • 举报
回复
这明显是返回值类型。和json有啥关系
wudiisss 2013-04-17
  • 打赏
  • 举报
回复
引用 3 楼 fangmingshijie 的回复:
json不需要配置,直接使用
JSONArray json = JSONArray.fromObject(list); return "qwqwq"; 这样写调用的返回结果是 <soapenv:Reason xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Text xml:lang="en-US">net/sf/json/JSONArray</soapenv:Text> </soapenv:Reason> 去掉JSONArray json = JSONArray.fromObject(list);这段 返回就是 <ns:getInfoResponse xmlns:ns="http://services.lerx.com"> <ns:return>qwqwq</ns:return> </ns:getInfoResponse> 为什么会出现这样的结果?
  • 打赏
  • 举报
回复
json不需要配置,直接使用
wudiisss 2013-04-17
  • 打赏
  • 举报
回复
引用 1 楼 fangmingshijie 的回复:
没有看明白。
换一种问法吧 我单独开发了一个axis2 webservice类 以及成功的部署到了一个web项目中,在这个项目中我引入了net.sf.json.JSONArray;这个类,那么部署的时候这个类需要在别的地方配置吗?还是直接调用就行?
  • 打赏
  • 举报
回复
没有看明白。
wudiisss 2013-04-17
  • 打赏
  • 举报
回复
引用 9 楼 fangmingshijie 的回复:
调用这个方法,不返回qwqwq?
JSONArray json = JSONArray.fromObject(list); return "qwqwq"; 这样写调用的返回结果是 <soapenv:Reason xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Text xml:lang="en-US">net/sf/json/JSONArray</soapenv:Text> </soapenv:Reason> 去掉JSONArray json = JSONArray.fromObject(list);这段 返回就是 <ns:getInfoResponse xmlns:ns="http://services.lerx.com"> <ns:return>qwqwq</ns:return> </ns:getInfoResponse>

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧