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. ...
随机推荐
- Python基础教程2上的一处打印缺陷导致的代码不完整#1
#1对代码的完善的 出现打印代码处缺陷截图: 图片上可以看到,定义的request根本没有定义它就有了.这个是未定义的,会报错的,这本书印刷问题,这个就是个坑,我也是才发现.花了点时间脱坑. 现在发完 ...
- 解题:CF622F The Sum of the k-th Powers
题面 TJOI2018出CF原题弱化版是不是有点太过分了?对,就是 TJOI2018 教科书般的亵渎 然而我这个问题只会那个题的范围的m^3做法 回忆一下1到n求和是二次的,平方求和公式是三次的,立方 ...
- win32: WM_PAINT 实现双缓冲缓图
相关参考资料: GDI下实现双缓冲 - http://jingyan.baidu.com/article/e73e26c0f8df2424acb6a76e.html <Win32_19>用 ...
- tomcat发布项目,运行不了
工作中经常出现项目本来运行得好好的,从SVN上面更新代码后就不行了 这个问题有时候是因为编译不成功,处理步骤如下: 1.clean整个项目,重新编译 2.如果还是不行,则把编译中认为是error的设置 ...
- TODO 软件测试68题
白盒和黑盒的区别,你是怎么运用的?√ 都是在debug的时候用的.没有实践过真正的白盒. 你是如何做测试分析?√ 主要从功能的实现和性能问题上入手,功能的话以需求和实际使用的流程来分析,性能的话以 ...
- 配置ssl
1.配置 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000&q ...
- (二叉树 bfs) leetcode 199. Binary Tree Right Side View
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...
- java 打印水仙花数
package cn.lijun.demo6; public class Test2 { public static void main(String[] args) { for(int i=100; ...
- 洛谷P2765魔术球问题 最小路径覆盖
https://www.luogu.org/problemnew/show/P2765 看到这一题第一眼想到:这不是二分最大流吗,后来发现还有一种更快的方法. 首先如果知道要放多少个球求最少的柱子,很 ...
- python3 rrdtool 使用
源自 python自动化运维:技术与最佳实践 并做略微修改 安装 yum install python-rrdtoolyum install rrdtool-devel #因为采集用了psutil模块 ...