* @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 入参出参相关推荐

  1. Java+Axis WebService接口开发实例

    一.下载Axis的jar包 下载地址:http://ws.Apache.org/axis/ 二.创建两个Web项目 1.WebService项目:负责提供接口,导入Axis的Jar包 (1)创建ser ...

  2. .Net/C# 与 J2EE/Java Web Service 互操作完整实例

    http://www.cnblogs.com/Microshaoft/archive/2005/08/18/217213.html .Net 与 J2EE/Java Web Service 互操作完整 ...

  3. java项目统一打印入参出参等日志

    java项目统一打印入参出参等日志 1.背景 2.设计思路 3.核心代码 3.1 自定义注解 3.2 实现BeanFactoryPostProcessor接口 3.3 实现MethodIntercep ...

  4. aop 获取方法入参出参_ASM字节码编程 | JavaAgent+ASM字节码插桩采集方法名称及入参和出参结果并记录方法耗时...

    作者:小傅哥 博客:bugstack.cn ❝ 沉淀.分享.成长,让自己和他人都能有所收获! ❞ 一.前言 在我们实际的业务开发到上线的过程中,中间都会经过测试.那么怎么来保证测试质量呢?比如:提交了 ...

  5. mysql存储过程出参和入参_数据库mysql存储中的入参出参理解

    在使用语句的时候,不可避免的要考虑参数的问题,而参数又是用来辅助变量的.有些小伙伴看到我们标题中的入参形参不知道是什么意思,其实也不难理解.我们把出参和入参看成输入和输出的意思就可以了.想必这样说大家 ...

  6. 【项目经验】拦截器拦截入参出参

    文章目录 拦截器拦截入参出参 入参 出参 拦截器拦截入参出参 入参 @Overridepublic boolean preHandle(HttpServletRequest request, Http ...

  7. SpringBoot利用Aop打印入参出参日志

    SpringBoot利用Aop打印入参出参日志 前言 以前写代码不会用Aop的时候,记录入参出参的日志打印都是在Controller中完成的,每个Controller的方法开始之前先打印个日志,然后方 ...

  8. python提取xml格式的出参并转成dict

    python提取xml格式的出参并转成dict # python提取xml格式的出参并转成dict xml_data = """<S:Envelopees xmln ...

  9. aop 获取方法入参出参_Spring AOP获取请求URL的入参及返回值(通用方法)

    以下代码为通用的代码,其中json解析使用的是fastJson,可以记录用户访问的ip.url.入参和出参 /** * @author jasonLu * @date 2017/10/26 9:57 ...

最新文章

  1. python-文件基本操作(二)
  2. 【转】Xcode7.1环境下上架iOS App到AppStore 流程 -- 不错!!
  3. Storm累计求和Demo并且在集群上运行
  4. boost::multiprecision模块cpp_dec_float_100相关的测试程序
  5. php遍历删除目录下文件,PHP遍历删除文件夹已经文件内的所有文件
  6. 换光纤猫 ZXA10 F420
  7. cron 12点执行_Linux中得循环调度任务执行
  8. pythonpil库过滤图像contour_一秒钟带你走进P图世界-----(python)PIL库的使用
  9. 在DataGrid和GridView中对表头设定背景图片
  10. Powershell 函数中的CmdletBinding()是怎么回事?
  11. RocketMQ 介绍与安装
  12. jquery楼层效果
  13. src2pkg:slackware下超强打包程式 [转]
  14. HTML颜色代码大全
  15. python数学符号读法大全_数学符号及读法大全
  16. 云计算储存基础(3)
  17. php导出doc文件_php生成word文档并下载
  18. 金融核心业务流程整理
  19. JavaScript深入浅出第2课:函数是一等公民是什么意思呢?
  20. 手把手教你制作 中英文 词云 | python demo

热门文章

  1. oracle实现id自增和设置主键
  2. oracle中with的用法及用处
  3. ping不通Linux系统解决方法
  4. c++输入一个整数判断是否为完全平方数_matlab判断一个整数是完全平方数
  5. 现代控制会用到python嘛_Python 流程控制
  6. oracle asm 删除diskgroup,ASM磁盘组删除DISK操作
  7. lnmp架构搭建—源码编译(nginx、mysql、php)
  8. Linux系统中用户的管理
  9. 聚类分析在用户行为中的实例_用户关注行为数据分析过程详解-描述统计+聚类...
  10. 软件测试项目计划书总结,软件测试项目计划书.doc