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. ...
随机推荐
- A.01.02—模块的输入—高端输入
高端输入即一个高电平信号输入到模块,模块采样时最典型的是采用下拉电阻采样,当然,还有限流电阻和分压电阻,具体可以参见实际电路. 高端输入在汽车上用得不多,这种类型的输入既可以是开关提供的也可以是模块提 ...
- Git设置彩色输出
彩色输出 git config --global color.status auto git config --global color.diff auto git config --global c ...
- A1105. Spiral Matrix
This time your job is to fill a sequence of N positive integers into a spiral matrix in non-increasi ...
- 美丽的webpack-bundle-analyzer
webpack-bundle-analyzer -- Webpack 插件和 CLI 实用程序,她可以将打包后的内容束展示为方便交互的直观树状图,让我们知道我们所构建包中真正引入的内容: 我们可以借助 ...
- django orm跨表查询废话最少最精简版
在model.py中: class B1(models.Model): u1= models.CharField(max_length=32) #多 class B2(models.Model): f ...
- pytest 8 参数化parametrize
pytest.mark.parametrize装饰器可以实现用例参数化 1.以下是一个实现检查一定的输入和期望输出测试功能的典型例子 import pytest @pytest.mark.parame ...
- jquery+ajax无刷新加载数据,新闻浏览更多
<script type="text/javascript"> $(document).ready(function (){ $(window).scroll(fu ...
- 点赞功能与redis的相遇
https://www.jianshu.com/p/2ab76d5bde71 或者 https://kikoroc.com/2016/06/07/dev-like-function-with-redi ...
- 序列化serialize与反序列化unserialize
有利于存储和传递value(除了resource类型外),却不会丢失其原有类型和结构. serialize序列化时会调用魔术方法__sleep(); unserialize反序列化时会调用魔术方法__ ...
- 关于Tcpdump抓包总结
一.简介 tcpdump是一个用于截取网络分组,并输出分组内容的工具.凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具 tcpdump提供了源代码,公开了接口, ...