第一种:返回XML

public void XXX(ActionMapping mapping,

ActionForm actionForm, HttpServletRequest request,

HttpServletResponse response) throws Exception {

String limitStr = URLDecoder.decode(request.getParameter("limit"),"utf-8");

String offsetStr = URLDecoder.decode(request.getParameter("offset"),"utf-8");

String projectNo = URLDecoder.decode(request.getParameter("projectNo"),"utf-8");

if("null".equals(projectNo))

projectNo="";

int limit= Integer.parseInt(limitStr);

int offset =Integer.parseInt(offsetStr);

String start=String.valueOf((limit-1)*offset+1);

String end=String.valueOf(limit*offset);

//int start=(limit-1)*offset+1;

//int end=limit*offset;

// HttpClientUtil httpClientUtil = new HttpClientUtil();

//Map createMap = new HashMap();

//createMap.put("method", "GetAdviceData");

//createMap.put("start", start);

//createMap.put("end", end);

//createMap.put("projectNo", "");

//

//String returnJson = httpClientUtil.doPost(adviceDataUrl, createMap,

//"UTF-8");

//responseJson.writeJsonToResponse(returnJson,response);

String endpoint = ”XXX.asmx“;

String targetNamespace = "http://tempuri.org/";

//所调用接口的方法method

String method = "XXX";

// 创建一个服务(service)调用(call)

Service service = new Service();

Call call = (Call) service.createCall();// 通过service创建call对象

// 设置service所在URL

call.setTargetEndpointAddress(new java.net.URL(endpoint));

call.setOperationName(new QName(targetNamespace, method));

//变量最好只是用String类型,其他类型会报错

call.addParameter(new QName(targetNamespace, "projectNo"),

Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN);

call.addParameter(new QName(targetNamespace, "start"),

Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN);

call.addParameter(new QName(targetNamespace, "end"),

Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN);

call.setUseSOAPAction(true);

//call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型

call.setReturnType( Constants.XSD_STRING);

call.setEncodingStyle(endpoint);

call.setSOAPActionURI(targetNamespace +method);

String jsonString = (String) call.invoke(new Object[] { projectNo,start,end }); //此处为数组,有几个变量传几个变量

JSONObject obj=JSONObject.fromObject(jsonString);

String obj1=obj.getString("Table");

String cnt="0";

if(obj.has("Table1"))

{

String obj2=obj.getString("Table1");

JSONObject objcnt=JSONObject.fromObject(obj2);

cnt=objcnt.getString("number");

}

String json="{\"rows\":"+obj1+","+"\"total\":"+cnt+"}";

responseJson.writeJsonToResponse(json,response);

}

第二种:返回字符串

public static String sendPost(String url, String param) {

PrintWriter out = null;

BufferedReader in = null;

String result = "";

try {

URL realUrl = new URL(url);

// 打开和URL之间的连接

URLConnection conn = realUrl.openConnection();

// 设置通用的请求属性

conn.setRequestProperty("accept", "*/*");

conn.setRequestProperty("connection", "Keep-Alive");

conn.setRequestProperty("user-agent",

"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

// 发送POST请求必须设置如下两行

conn.setDoOutput(true);

conn.setDoInput(true);

// 获取URLConnection对象对应的输出流

// out = new PrintWriter(conn.getOutputStream());

out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(),"UTF-8"));

// 发送请求参数

out.print(param);

// flush输出流的缓冲

out.flush();

// 定义BufferedReader输入流来读取URL的响应

in = new BufferedReader(

new InputStreamReader(conn.getInputStream(),"UTF-8"));//流的编码格式

String line;

while ((line = in.readLine()) != null) {

result += line;

}

} catch (Exception e) {

System.out.println("发送 POST 请求出现异常!"+e);

e.printStackTrace();

}

//使用finally块来关闭输出流、输入流

finally{

try{

if(out!=null){

out.close();

}

if(in!=null){

in.close();

}

}

catch(IOException ex){

ex.printStackTrace();

}

}

return result;

}

// 调用

Stirng url=xxx.asmx/XXX;

string para="";

sendPost(url,para);

webservice 返回对象 java_JAVA 调用webservice不同返回值类型的方法相关推荐

  1. 关于.net中值类型的方法调用

    最近在看关于box和unbox的内存分配问题,发现一旦值类型调用了基类的方法或接口的时候就会发生装箱操作.因为基类型的方法或接口必须通过TypeHandle获得.由此引出了一个问题.若所执行的方法并不 ...

  2. 使用cxf发布webservice接口,以及调用webservice接口

    一.cxf发布webservice接口 添加maven依赖 <dependency><groupId>org.apache.cxf</groupId><art ...

  3. js php调用webservice,js跨域调用WebService的使用方法

    这次给大家带来js跨域调用WebService的使用方法,js跨域调用WebService的注意事项有哪些,下面就是实战案例,一起来看一下. 步骤1. 在web.config中的system.web节 ...

  4. android调用webservice传参数,android调用webservice接口获取信息

    我的有一篇博客上讲了如何基于CXF搭建webservice,service层的接口会被部署到tomcat上,这一篇我就讲一下如何在安卓中调用这些接口传递参数. 1.在lib中放入ksoap2的jar包 ...

  5. HTTP 调用 WebService、CXF 动态调用 WebService

    概述   Web Service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用 ...

  6. python调用webservice接口实例_python调用webservice接口的实现

    使用suds这个第三方模块 from suds.client import Client url = 'http://ip:port/?wsdl' cilent=Client(url) print c ...

  7. android调用相机返回大图,Android调用相机拍照返回原图

    在开始之前,先说下正常调用相机的状况: 正常调用相机,在 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActiv ...

  8. java的方法返回对象为空_java接口返回为空时候如何处理

    java前后端分离以后,后端常常返回给前端以下的内容: 如果遇到某个字段的内容为空的时候会出现这样的情况: 图中红色箭头的情况是一个数组集合,但是该集合为空,所以就返回null,但是我们如果想对于这样 ...

  9. webservice接口等待时间_调用webservice超时问题的解决

    1.web.config配置,里面增加: 2.扩大代理类的超时限制,默认是90秒 YourWebService yws = new YourWebService(); yws.Timeout =   ...

最新文章

  1. 全球99家AI芯片公司,中国占15家!
  2. sqlserver2012不是有效的安装文件夹_SQL Server 2012软件安装说明
  3. 机器人学习--电子指南针定位导航
  4. 【LeetCode】69. Sqrt(x) (2 solutions)
  5. Python 30年,你对它的核心特性了解多少?
  6. mysql一对多_mysql一对多查询合并多的一方的数据。
  7. centos7安装flink集群_《从0到1学习Flink》—— Flink 写入数据到 Kafka
  8. 图灵测试是什么?为什么AlphaGo那么牛却过不了?
  9. java url工具_UrlTool官方版|UrlTool (java Url转换工具)下载v1.1-乐游网软件下载
  10. 光标是停在文本框文字的最后
  11. pagerank数据集_机器学习十大经典算法-PageRank(附实践代码)
  12. linux7配置永久路由,CentOS7添加永久静态路由
  13. Python颜色空间转换(sRGB,AdobeRGB,CIE XYZ,Lab,HSV互转)
  14. HS系列USB数据采集卡,及高速多通道数据分析软件详解
  15. 使用阿里字体彩色图标
  16. 基于Cocos2d-x游戏引擎实战开发超人
  17. ORB_SLAM2编译build_ros.sh时报错([rosbuild] Error from directory check: /opt/ros/kinetic/share)
  18. 低温和大风会增加心梗风险
  19. 运行 c++ 程序出现“Failed to execute ”.exe“ Error 0:操作成功完成
  20. Appium-Get Handles(获取句柄/多)

热门文章

  1. 指针常量 和 指向常量的指针区别
  2. 新增达达设计的8个Skin
  3. java puzzler_Java Puzzler学习笔记
  4. php 获取class id,CSS Class 與 CSS ID
  5. 【学习笔记】JS进阶语法一DOM进阶
  6. 【ABAP】根据Tcode查找后台IMG路径
  7. 【奥运代表团加油】ABAP字符处理杂例
  8. PM——【1】维护功能位置主数据
  9. 既是客户又是供应商清帐配置
  10. OA软件实施中三个不能做的