AxisWebservice 发送多参数配置
1、在web.xml中配置代码如下
<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>
org.apache.axis.transport.http.AxisServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
2.在service-config.wsdd配置文件,配置如下
<service name="webService" provider="java:RPC"> --配置的webservice的命名空间 web.xml中配置的service/webService (访问路径)
<parameter name="allowedMethods" value="isAlive,save,sendt" /> --配置的时访问的方法名
<parameter name="className" value="com.ai.qw.toptea.className" /> --方法所在的类,要求全限定名
</service>
3、客户端代码如下
package com.ai.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
import com.ai.util.Address;
public class WebServiceTest {
public static void main(String[] args) {
String url = "http://10.12.1.229/itsm3/service/ITSMTicketService";
String method = "saveTicket";
String idCard ="111222";
String ticketInfo = "{}";
Map map = new HashMap<String,String>();
map.put("参数1", "132457");
map.put("参数2", "taskw");
map.put("参数3", "2017-9-2 12:32:21");
map.put("ticketInfo", ticketInfo);
map.put("参数4", "210");
map.put("参数5", "12345648522");
map.put("参数6", "4ae9f34b-e9a8-4f82-b86a-8c51d36ce70a");
map.put("参数7", "-1");
try {
getWebServiceResult(url,method,map);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static String getWebServiceResult( String url, String method, Map map) throws Exception{
String rtnXml = null;
try {
String endpoint = url;
Service service = new Service();
Call call = (Call) service.createCall();
call.addParameter(new QName("参数1"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); --与参数顺序相对应
call.addParameter(new QName("参数2"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); --与参数顺序相对应
call.addParameter(new QName("参数3"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); --与参数顺序相对应
call.addParameter(new QName("参数4"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); --与参数顺序相对应
call.addParameter(new QName("参数5"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); --与参数顺序相对应
call.addParameter(new QName("参数6"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); --与参数顺序相对应
call.addParameter(new QName("参数7"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); --与参数顺序相对应
call.addParameter(new QName("参数8"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); // 接口的参数
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型
call.setUseSOAPAction(true);
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName(method);
// call.setReturnType(new QName("pid"));
rtnXml = (String) call.invoke(new Object[]{
map.get("参数1"),
map.get("参数2"),
map.get("参数3"),
map.get("参数4"),
map.get("参数5"),
map.get("参数6"),
map.get("参数7"),
map.get("参数8")});
} catch (Exception e) {
e.printStackTrace();
}
return rtnXml;
}
}
注意:有一个错误弄了好久 缺少j这个ar包
<!-- https://mvnrepository.com/artifact/javax.activation/activation -->
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.org.apache/jaxp-ri -->
AxisWebservice 发送多参数配置的更多相关文章
- 循序渐进VUE+Element 前端应用开发(33)--- 邮件参数配置和模板邮件发送处理
在系统处理中,有时候需要发送邮件通知用户,如新增用户的邮件确认,密码找回,以及常规订阅消息.通知等内容处理,都可以通过邮件的方式进行处理.本篇随笔介绍结合VUE+Element 前端,实现系统的邮件参 ...
- Production环境中iptables常用参数配置
production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...
- HttpClient 4.3连接池参数配置及源码解读
目前所在公司使用HttpClient 4.3.3版本发送Rest请求,调用接口.最近出现了调用查询接口服务慢的生产问题,在排查整个调用链可能存在的问题时(从客户端发起Http请求->ESB-&g ...
- MySQL 关于性能的参数配置梳理
以下List是我们常见的MySQL参数配置,这个参数对提高实例的性能大有裨益. 其中 建议设置值,仅供参考,需要根据自己的业务场景和硬件资源仔细推敲. 参数 设置说明 建议设置值 lower_case ...
- Tomcat 参数配置相关
Tomcat参数配置相关 by:授客 QQ:1033553122 目的: 对Tomcat配置的点滴学习总结,主要目的在于分析Tomcat与性能相关的一些参数设置,以便性能调优时选择最优配置 环境: ...
- 性能测试 Apache参数配置与性能调优
Apache性能调优 by:授客 QQ:1033553122 环境: Apache 2.4 1.选择合适的MPM(Multi -Processing Modules, 多处理模块) Unix/Linu ...
- mosquitto 参数配置
mosquitto 参数配置 1.retry_interval 当QoS为1或2的消息已经被发送后,mosquitto在一段时间内仍未接收到客户端的反馈消息,将重新发送消息. 默认为20秒 2.sy ...
- 关于自动化测试框架,所需代码技能,Java篇——参数配置与读取.
前言: 说在前边.像我这种假期不出去浪,在这里乖乖写文章研究代码的人,绝壁不是因为爱学习,而是自己不知道去哪玩好,而且也不想玩游戏,看电视剧什么的,结果就无聊到看代码了…… 至于如何解读代码,请把它当 ...
- 5G RRC——为NAS层提供连接管理,消息传递等服务; 对接入网的底层协议实体提供参数配置的功能; 负责UE移动性管理相关的测量、控制等功能
from:http://www.cnblogs.com/kkdd-2013/p/3868676.html 1 RRC协议功能 为NAS层提供连接管理,消息传递等服务: 对接入网的底层协议实体提供参数配 ...
随机推荐
- <tbody>标签的用途
如果一个表格是 分 好几个部分 ,那么每个部分 使用一组<tbody>这样,下载完第一个部分 就可以先显示了,不用等后面的部分是否下载好,这是写给浏览器看的.
- Java的类加载过程
一个Java文件从编码完成到最终执行,一般主要包括两个过程:编译与运行.编译即将Java文件通过Javac命令生成.class文件的过程,运行就是将.class文件交给JVM进行执行. 类加载过程即是 ...
- SpingBoot —— 多线程
Spring 通过任务执行器(TaskExecutor)来实现多线程和并发编程.使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor.而实际开发中任务一般是非 ...
- php+redis实战留言板(todolist)与互粉功能
目的:通过留言板(todolist)与互粉功能,掌握php操作redis的方法 相关数据操作命令 1,keys * 查看数据库所有的key 2,type + key: 如 type uid 查 ...
- 【 js 基础 】【读书笔记】作用域和闭包
一.编译过程 常见编译性语言,在程序代码执行之前会经历三个步骤,称为编译. 步骤一:分词或者词法分析 将由字符组成的字符串分解成有意义的代码块,这些代码块被称为词法单元. 例子: var a = 2 ...
- Code Signal_练习题_chessBoardCellColor
Given two cells on the standard chess board, determine whether they have the same color or not. Exam ...
- apicloud 消息推送与接收
待解决的问题,如下: 在使用apicloud 的时候我们,在开发用户登录的时候可能会遇到这样的问题,当有2个设备a,b同事使用的app的时候并且是同一个人登录,我们需要去做判断,即大家常说的单点登录. ...
- 设计模式(19)--Observer(观察者模式)--行为型
作者QQ:1095737364 QQ群:123300273 欢迎加入! 1.模式定义: 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式.模型-视图( ...
- CSS3实现的几个小loading效果
昨晚上闲的没事突然想做几个小loading效果,下面是昨晚上做的几个小案例,分享给大家 1.水波loading:这个loading是我觉得非常简单,但是看上去的效果却非常不错的一个小loading 这 ...
- es6 export与export default 的区别
相同点: 均可用于导出常量.函数.文件.模块等 不同点: 1.在一个文件中export可以有多个,但export default 只能有一个: export var firstName = 'Mich ...