Java,AXIS,webService 调用 完整实例 xml 入参出参
* @param model* @return*/@ResponseBody@RequestMapping(value = "getDbPatientInfo" )public String listForGds(String message) {message = "<?xml version=\"1.0\" encoding=\"UTF-8\"?standalone=\"yes\"?>"+ "<data>"+ "<funname>inspect_list</funname>"+ "<schedule_time_start>2016-08-01</schedule_time_start>"+ "<schedule_time_end>2017-08-01</schedule_time_end>"+ "</data>"+ "";try {String url = "http://localhost:7008/Service.svc?wsdl";//设置要调用的接口地址String nameSpace = "http://tempuri.org/";//命名空间 targetNamespace String funName = "funMain";//设置函数名 //创建服务Service service = new Service();Call call = (Call) service.createCall(); call.setTargetEndpointAddress(url);call.setUseSOAPAction(true); //返回参数类型call.setReturnType(XMLType.XSD_STRING);call.setEncodingStyle("UTF-8");call.setReturnType(new QName("http://www.w3.org/2001/XMLSchema","string"));//设置返回参数 xmlns:s="http://www.w3.org/2001/XMLSchema"//设置要调用的接口方法call.setOperationName(new QName(nameSpace,funName));//设置函数名 call.setSOAPActionURI("http://tempuri.org/IService/funMain");//设置URI//Map<String, String> roleMap = new HashMap<String, String>();//roleMap.put("Password", "123456");//1把 从当前命名空间的 nameSpace 元素名是 MySoapHeader 的元素 添加到//SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement(nameSpace,soapHeader);/*<s:element name="MySoapHeader" type="tns:MySoapHeader"/><s:complexType name="MySoapHeader"><s:sequence><s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string"/></s:sequence><s:anyAttribute/></s:complexType>*///2 更改接口部分内容/* for (Map.Entry<String, String> entry : roleMap.entrySet()){soapHeaderElement.addChildElement(entry.getKey()).setValue(entry.getValue());soapHeaderElement.addChildElement(entry.getKey()).setValue(entry.getValue());}soapHeaderElement.setNamespaceURI(nameSpace);call.addHeader(soapHeaderElement);*//*** 第一种 添加参数*/// 设置参数名:(message) 第二个参数表示String类型,第三个参数表示入参/*call.addParameter(new QName(nameSpace,"message"), XMLType.XSD_STRING, ParameterMode.IN);//返回参数类型call.setReturnType(XMLType.XSD_STRING);call.setEncodingStyle("UTF-8");String retVal = (String) call.invoke(new Object[]{message});logger.info(retVal); *//*** 第二种 添加参数*/List<Object> list = new ArrayList<Object>();Map<String,Object> map=new HashMap<String, Object>();map.put("message",message);//输入参数值for (Map.Entry<String, Object> entry : map.entrySet()) {if (entry.getValue() instanceof String) {call.addParameter(new QName(nameSpace, entry.getKey()),XMLType.XSD_STRING, ParameterMode.IN);} else if (entry.getValue() instanceof Long) {call.addParameter(new QName(nameSpace, entry.getKey()),XMLType.XSD_LONG, ParameterMode.IN);} else if (entry.getValue() instanceof Double) {call.addParameter(new QName(nameSpace, entry.getKey()),XMLType.XSD_DOUBLE, ParameterMode.IN);} else if (entry.getValue() instanceof Float) {call.addParameter(new QName(nameSpace, entry.getKey()),XMLType.XSD_FLOAT, ParameterMode.IN);} else if (entry.getValue() instanceof Integer) {call.addParameter(new QName(nameSpace, entry.getKey()),XMLType.XSD_INTEGER, ParameterMode.IN);} else if (entry.getValue() instanceof Date) {call.addParameter(new QName(nameSpace, entry.getKey()),XMLType.XSD_DATETIME, ParameterMode.IN);} else if (entry.getValue() instanceof Boolean) {call.addParameter(new QName(nameSpace, entry.getKey()),XMLType.XSD_BOOLEAN, ParameterMode.IN);}list.add(entry.getValue());logger.info(entry.getKey() + "=======" + entry.getValue());}//返回参数类型call.setReturnType(XMLType.XSD_STRING);call.setEncodingStyle("UTF-8");//开始调用String result = (String) call.invoke(list.toArray());logger.info(result);} catch (Exception e) {e.printStackTrace();}return "";}
Java,AXIS,webService 调用 完整实例 xml 入参出参相关推荐
- Java+Axis WebService接口开发实例
一.下载Axis的jar包 下载地址:http://ws.Apache.org/axis/ 二.创建两个Web项目 1.WebService项目:负责提供接口,导入Axis的Jar包 (1)创建ser ...
- .Net/C# 与 J2EE/Java Web Service 互操作完整实例
http://www.cnblogs.com/Microshaoft/archive/2005/08/18/217213.html .Net 与 J2EE/Java Web Service 互操作完整 ...
- java项目统一打印入参出参等日志
java项目统一打印入参出参等日志 1.背景 2.设计思路 3.核心代码 3.1 自定义注解 3.2 实现BeanFactoryPostProcessor接口 3.3 实现MethodIntercep ...
- aop 获取方法入参出参_ASM字节码编程 | JavaAgent+ASM字节码插桩采集方法名称及入参和出参结果并记录方法耗时...
作者:小傅哥 博客:bugstack.cn ❝ 沉淀.分享.成长,让自己和他人都能有所收获! ❞ 一.前言 在我们实际的业务开发到上线的过程中,中间都会经过测试.那么怎么来保证测试质量呢?比如:提交了 ...
- mysql存储过程出参和入参_数据库mysql存储中的入参出参理解
在使用语句的时候,不可避免的要考虑参数的问题,而参数又是用来辅助变量的.有些小伙伴看到我们标题中的入参形参不知道是什么意思,其实也不难理解.我们把出参和入参看成输入和输出的意思就可以了.想必这样说大家 ...
- 【项目经验】拦截器拦截入参出参
文章目录 拦截器拦截入参出参 入参 出参 拦截器拦截入参出参 入参 @Overridepublic boolean preHandle(HttpServletRequest request, Http ...
- SpringBoot利用Aop打印入参出参日志
SpringBoot利用Aop打印入参出参日志 前言 以前写代码不会用Aop的时候,记录入参出参的日志打印都是在Controller中完成的,每个Controller的方法开始之前先打印个日志,然后方 ...
- python提取xml格式的出参并转成dict
python提取xml格式的出参并转成dict # python提取xml格式的出参并转成dict xml_data = """<S:Envelopees xmln ...
- aop 获取方法入参出参_Spring AOP获取请求URL的入参及返回值(通用方法)
以下代码为通用的代码,其中json解析使用的是fastJson,可以记录用户访问的ip.url.入参和出参 /** * @author jasonLu * @date 2017/10/26 9:57 ...
最新文章
- python-文件基本操作(二)
- 【转】Xcode7.1环境下上架iOS App到AppStore 流程 -- 不错!!
- Storm累计求和Demo并且在集群上运行
- boost::multiprecision模块cpp_dec_float_100相关的测试程序
- php遍历删除目录下文件,PHP遍历删除文件夹已经文件内的所有文件
- 换光纤猫 ZXA10 F420
- cron 12点执行_Linux中得循环调度任务执行
- pythonpil库过滤图像contour_一秒钟带你走进P图世界-----(python)PIL库的使用
- 在DataGrid和GridView中对表头设定背景图片
- Powershell 函数中的CmdletBinding()是怎么回事?
- RocketMQ 介绍与安装
- jquery楼层效果
- src2pkg:slackware下超强打包程式 [转]
- HTML颜色代码大全
- python数学符号读法大全_数学符号及读法大全
- 云计算储存基础(3)
- php导出doc文件_php生成word文档并下载
- 金融核心业务流程整理
- JavaScript深入浅出第2课:函数是一等公民是什么意思呢?
- 手把手教你制作 中英文 词云 | python demo
热门文章
- oracle实现id自增和设置主键
- oracle中with的用法及用处
- ping不通Linux系统解决方法
- c++输入一个整数判断是否为完全平方数_matlab判断一个整数是完全平方数
- 现代控制会用到python嘛_Python 流程控制
- oracle asm 删除diskgroup,ASM磁盘组删除DISK操作
- lnmp架构搭建—源码编译(nginx、mysql、php)
- Linux系统中用户的管理
- 聚类分析在用户行为中的实例_用户关注行为数据分析过程详解-描述统计+聚类...
- 软件测试项目计划书总结,软件测试项目计划书.doc