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. ...
随机推荐
- HDU--4486 Task(贪心)
题目链接 4486 Task 按照时间从大到小排序 然后枚举所有的y值 用一个数组存储 符合要求就算上 #include<bits/stdc++.h> using namespace s ...
- 洛谷P1477 假面舞会
坑死了...... 题意:给你个有向图,你需要把点分成k种,满足每条边都是分层的(从i种点连向i + 1种点,从k连向1). 要确保每种点至少有一个. 求k的最大值,最小值. n <= 1e5, ...
- saltstack常用命令
Salt通过公钥加密和认证minions.想要让minion从master端接受命令,minions的密钥需要被master接受 salt-key -L #列出master上的密钥; salt-key ...
- hdu4899 Hero meet devil
题目链接 题意 给出一个长度字符串\(T\),其中只包含四种字符\((A,C,G,T)\),需要找一个字符串\(S\),使得\(S\)的长度为\(m\),问\(S\)和\(T\)的\(lcs\)为\( ...
- Flask flask_script扩展库
flask_script 1.安装:进入到虚拟环境中,pip install flask_script 2.flask_script 作用:可以通过命令行的形式来操作Flask,例如通过命令跑一个开发 ...
- django 前端 js让一段文本中包含的网址可以被访问
这个功能还是挺刚需的,下面说说实现过程,用到了正则表达式. 1.原本的html部分代码: <h4 id="softadd">链接: https://pan.baidu. ...
- 第六篇 - bs4爬取校花网
环境:python3 pycharm 模块:requests bs4 urlretrieve os time 第一步:获取网页源代码 import requests from bs4 imp ...
- 改xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ...
- glob.glob 匹配文件
glob.glob以列表形式返回匹配的文件路径 只有一个参数:文件的匹配规则 e.g. >>>res_home = '/vip_data_center/test_envs/train ...
- 22. Generate Parentheses(ML)
22. Generate Parentheses . Generate Parentheses Given n pairs of parentheses, write a function to ge ...