axis2客户端
package com.yq.test; /**
* Created by yangqing on 2016/12/6.
*/ import java.util.Date;
import java.util.UUID; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONArray; public class TestWs { public static void main(String args[]) throws AxisFault,
InterruptedException {
yewujiantuisongM();
} public static void yewujiantuisongM() {
try{
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference(
"http://127.0.0.1:8090/datai/services/pubWebService");
options.setTo(targetEPR); //String strJson = JSONArray.fromObject(list).toString(); //JsonObjecj jsonObject = new JsonObjecj(); //JSONArray. JSONObject jsonObj = new JSONObject(); jsonObj.put("INCOME_CODE", "0019");
jsonObj.put("INCOME_NAME", "小明_test");
jsonObj.put("IS_STOP", "0");
jsonObj.put("INCOME_PROPERTY", "I");
jsonObj.put("INCOME_TYPE", "2"); JSONObject jsonObj2 = new JSONObject();
jsonObj2.put("INCOME_CODE", "0018");
jsonObj2.put("INCOME_NAME", "张三_test");
jsonObj2.put("IS_STOP", "0");
jsonObj2.put("INCOME_PROPERTY", "O");
jsonObj2.put("INCOME_TYPE", "1"); JSONArray jsonArray = new JSONArray();
jsonArray.add(jsonObj);
jsonArray.add(jsonObj2); jsonArray.toString(); JSONObject jsonObj_row= new JSONObject();
jsonObj_row.put("ROW", jsonArray); JSONObject jsonObj_data= new JSONObject();
jsonObj_data.put("DATA", jsonObj_row); JSONObject jsonObj_root= new JSONObject();
jsonObj_root.put("ROOT", jsonObj_data); //{"ROOT":{"DATA":{"ROW":[{"INCOME_CODE":"XXX","INCOME_NAME":"XXX","IS_STOP":"XXX","INCOME_PROPERTY":"XXX","INCOME_TYPE":"XXX"}]}}} // 对xml进行拼接
StringBuffer sb = new StringBuffer(); sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); sb.append("<ROOT>");
sb.append("<HEAD>");
sb.append("</HEAD>"); sb.append("<DATA>");
sb.append("<ROW>");
sb.append("<INCOME_CODE>1050</INCOME_CODE>");
sb.append("<INCOME_NAME>胡歌</INCOME_NAME>");
sb.append("<IS_STOP>0</IS_STOP>");
sb.append("<INCOME_PROPERTY>30</INCOME_PROPERTY>");
sb.append("<INCOME_TYPE>30</INCOME_TYPE>");
sb.append("</ROW>"); sb.append("<ROW>");
sb.append("<INCOME_CODE>1060</INCOME_CODE>");
sb.append("<INCOME_NAME>胡歌1111</INCOME_NAME>");
sb.append("<IS_STOP>0</IS_STOP>");
sb.append("<INCOME_PROPERTY>60</INCOME_PROPERTY>");
sb.append("<INCOME_TYPE>5</INCOME_TYPE>");
sb.append("</ROW>");
sb.append("</DATA>");
sb.append("</ROOT>");
// 设定参数值:xml,访问标识名
Object[] opAddEntryArgs = new Object[] { jsonObj_root.toString(), "ts_int_test" }; //System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
//System.out.println(jsonObj_root.toString()); //Object[] opAddEntryArgs = new Object[] { sb.toString(), "ts_int_test" }; // 指定方法返回值的数据类型的Class对象
Class[] classes = new Class[] { String.class };
// 指定要调用的sayHelloToPerson方法及WSDL文件的命名空间
QName opAddEntry = new QName("http://ws.dc.viewhigh.com",
"dc_ws_command");
// 调用方法并输出该方法的返回值 System.out.println("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv-------------------------------->");
System.out.println( serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs,
classes)[0]);
System.out.println("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv222-------------------------------->"); /* System.out.println(DateUtil.convertDateToString(new Date(),
"yyyy-MM-dd HH:mm:ss")
+ "成功!!!!:"
+ serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs,
classes)[0]);*/
}catch(Exception e){ e.printStackTrace();
}
}
}
axis2客户端的更多相关文章
- webservice axis2客户端设置代理方法(公司网络通过代理访问时)
webservice axis2客户端设置代理方法(公司网络通过代理访问时) UploadProcessInServiceStub stub = new UploadProcessInServic ...
- Axis2 客户端调用 设置超时时间
我用的是axis2-1.6.2版本.请看下面的客户端代码: import org.apache.axis2.client.Options; import com.ctis.ta.service.imp ...
- 使用AXIS2客户端调用 WEBSERVICE
问题 在调用WEBSERVICE时,可以使用wsdl2java生成java代码,调用接口,这种方法在接口固定的情况下是一种不错的选择,如果需要动态调用接口,那么这样就行不通了. 解决办法 1.直接构建 ...
- axis2客户端的几种调用方式
(1)使用RPC方式调用WebService // 使用RPC方式调用WebService RPCServiceClient serviceClient = new RPCServiceClient( ...
- webservice发布服务:AXIS2及客户端调用
1.Axis2: 到官网下载axis2的压缩包. 解压后: 1.将lib文件下的jar包复制到项目中 2.在web-inf下创建services->META-INF->services.x ...
- 根据wsdl,axis2工具生成客户端代码
根据wsdl,axis2工具生成客户端代码 步骤: 1,下载axis2版本http://axis.apache.org/axis2/java/core/download.html 2,下载完成后解压, ...
- webservice -- cxf客户端调用axis2服务端
背景: 有个项目, 需要由第三方提供用户信息, 实现用户同步操作, 对方给提供webservice接口(axis2实现)并也使用axis2作主客户端调用我方提供的webservice接口 起初, 由于 ...
- Java借助axis2发布WebService
Webservice: 1.Xml: 2.WSDL: Web service描述语言(WSDL)就是这样一个基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web service及其函数.参 ...
- Java创建WebService服务及客户端实现(转)
简介 WebService是一种服务的提供方式,通过WebService,不同应用间相互间调用变的很方便,网络上有很多常用的WebService服务,如:http://developer.51cto. ...
随机推荐
- luogu3278/bzoj3323 多项式的运算 (splay)
mulx的操作,其实就是给r+1的系数+=r的系数,然后删掉r,把l~r-1向右移一位,再插一个0到原来的位置 splay维护区间加和区间乘就好了 (一定要注意做事的顺序,一件事都做完了再去做别的,否 ...
- [POI2005]DWU-Double-row
有2n个士兵站成两排,他们需要被重新排列,以保证每一排里没有同样高的士兵——这样我们就说,士兵们被合理地安排了位置. 每次操作可以交换两个在同一位置(但不在同一排)的士兵.你的任务是用最少的操作来确保 ...
- 【linux】硬盘原理简介和分区
硬盘是计算机重要的一个部件,计算机中的数据都是保存在硬盘中,比如mysql的数据,linux系统日志及其他的应用日志,还有很多视频,音频,图片等文件都是保存在硬盘中,所以硬盘是计算机不可或缺的一个部件 ...
- docker命令篇
基础命令: 镜像: 获取镜像 $ docker pull centos:7 下拉自己仓库镜像,在后面仓库部分会讲到. 列出镜像: $ docker image ls 删除镜像: $ docker im ...
- C语言学习记录之一
1. while语句 2. 循环嵌套 3. 数组 4. 排序 1. while 由于上节课时间有限,介绍完for循环后没有来得及讲while语句.简单来讲,while也是一种循环结构,先看一个例子: ...
- VSCode设置Tab键为4个空格
升级之后莫名蛋疼,Tab键变成了8个,每次缩进之后都要格式化一下,比较麻烦,所以来一篇设置: GIF演示整个过程 分步骤走: 设置一下 设置为4个空格 最后多一句嘴,Python3开始官方不建议使用制 ...
- JS截取文件后缀名
let fileName = this.file.name.lastIndexOf(".");//取到文件名开始到最后一个点的长度 let fileNameLength = thi ...
- A1110. Complete Binary Tree
Given a tree, you are supposed to tell if it is a complete binary tree. Input Specification: Each in ...
- [bzoj1717][Milk Patterns 产奶的模式]
题目链接 思路 先求出后缀数组,并且求出LCP.二分一下长度len.check的时候就是看有没有连续的k个后缀的LCP大于len.也就是判断是不是有连续的k-1个height大于len. 代码 #in ...
- ASP.NET MVC计划任务实现方法(定时执行某个功能)
系统中定时执行某个任务是比较常用的功能,如一个部门定期向上级部门上报数据是一个典型的例子,下面就简单说说在.net mvc中如何实现定时执行某个功能的方法. 1.首先修改Glocal.asax文件,在 ...