1. package com.yq.test;
  2.  
  3. /**
  4. * Created by yangqing on 2016/12/6.
  5. */
  6.  
  7. import java.util.Date;
  8. import java.util.UUID;
  9.  
  10. import javax.xml.namespace.QName;
  11.  
  12. import org.apache.axis2.AxisFault;
  13. import org.apache.axis2.addressing.EndpointReference;
  14. import org.apache.axis2.client.Options;
  15. import org.apache.axis2.rpc.client.RPCServiceClient;
  16.  
  17. import com.alibaba.fastjson.JSONObject;
  18. import com.alibaba.fastjson.JSONArray;
  19.  
  20. public class TestWs {
  21.  
  22. public static void main(String args[]) throws AxisFault,
  23. InterruptedException {
  24. yewujiantuisongM();
  25. }
  26.  
  27. public static void yewujiantuisongM() {
  28. try{
  29. // 使用RPC方式调用WebService
  30. RPCServiceClient serviceClient = new RPCServiceClient();
  31. Options options = serviceClient.getOptions();
  32. // 指定调用WebService的URL
  33. EndpointReference targetEPR = new EndpointReference(
  34. "http://127.0.0.1:8090/datai/services/pubWebService");
  35. options.setTo(targetEPR);
  36.  
  37. //String strJson = JSONArray.fromObject(list).toString();
  38.  
  39. //JsonObjecj jsonObject = new JsonObjecj();
  40.  
  41. //JSONArray.
  42.  
  43. JSONObject jsonObj = new JSONObject();
  44.  
  45. jsonObj.put("INCOME_CODE", "0019");
  46. jsonObj.put("INCOME_NAME", "小明_test");
  47. jsonObj.put("IS_STOP", "0");
  48. jsonObj.put("INCOME_PROPERTY", "I");
  49. jsonObj.put("INCOME_TYPE", "2");
  50.  
  51. JSONObject jsonObj2 = new JSONObject();
  52. jsonObj2.put("INCOME_CODE", "0018");
  53. jsonObj2.put("INCOME_NAME", "张三_test");
  54. jsonObj2.put("IS_STOP", "0");
  55. jsonObj2.put("INCOME_PROPERTY", "O");
  56. jsonObj2.put("INCOME_TYPE", "1");
  57.  
  58. JSONArray jsonArray = new JSONArray();
  59. jsonArray.add(jsonObj);
  60. jsonArray.add(jsonObj2);
  61.  
  62. jsonArray.toString();
  63.  
  64. JSONObject jsonObj_row= new JSONObject();
  65. jsonObj_row.put("ROW", jsonArray);
  66.  
  67. JSONObject jsonObj_data= new JSONObject();
  68. jsonObj_data.put("DATA", jsonObj_row);
  69.  
  70. JSONObject jsonObj_root= new JSONObject();
  71. jsonObj_root.put("ROOT", jsonObj_data);
  72.  
  73. //{"ROOT":{"DATA":{"ROW":[{"INCOME_CODE":"XXX","INCOME_NAME":"XXX","IS_STOP":"XXX","INCOME_PROPERTY":"XXX","INCOME_TYPE":"XXX"}]}}}
  74.  
  75. // 对xml进行拼接
  76. StringBuffer sb = new StringBuffer();
  77.  
  78. sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
  79.  
  80. sb.append("<ROOT>");
  81. sb.append("<HEAD>");
  82. sb.append("</HEAD>");
  83.  
  84. sb.append("<DATA>");
  85. sb.append("<ROW>");
  86. sb.append("<INCOME_CODE>1050</INCOME_CODE>");
  87. sb.append("<INCOME_NAME>胡歌</INCOME_NAME>");
  88. sb.append("<IS_STOP>0</IS_STOP>");
  89. sb.append("<INCOME_PROPERTY>30</INCOME_PROPERTY>");
  90. sb.append("<INCOME_TYPE>30</INCOME_TYPE>");
  91. sb.append("</ROW>");
  92.  
  93. sb.append("<ROW>");
  94. sb.append("<INCOME_CODE>1060</INCOME_CODE>");
  95. sb.append("<INCOME_NAME>胡歌1111</INCOME_NAME>");
  96. sb.append("<IS_STOP>0</IS_STOP>");
  97. sb.append("<INCOME_PROPERTY>60</INCOME_PROPERTY>");
  98. sb.append("<INCOME_TYPE>5</INCOME_TYPE>");
  99. sb.append("</ROW>");
  100. sb.append("</DATA>");
  101. sb.append("</ROOT>");
  102. // 设定参数值:xml,访问标识名
  103. Object[] opAddEntryArgs = new Object[] { jsonObj_root.toString(), "ts_int_test" };
  104.  
  105. //System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
  106. //System.out.println(jsonObj_root.toString());
  107.  
  108. //Object[] opAddEntryArgs = new Object[] { sb.toString(), "ts_int_test" };
  109.  
  110. // 指定方法返回值的数据类型的Class对象
  111. Class[] classes = new Class[] { String.class };
  112. // 指定要调用的sayHelloToPerson方法及WSDL文件的命名空间
  113. QName opAddEntry = new QName("http://ws.dc.viewhigh.com",
  114. "dc_ws_command");
  115. // 调用方法并输出该方法的返回值
  116.  
  117. System.out.println("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv-------------------------------->");
  118. System.out.println( serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs,
  119. classes)[0]);
  120. System.out.println("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv222-------------------------------->");
  121.  
  122. /* System.out.println(DateUtil.convertDateToString(new Date(),
  123. "yyyy-MM-dd HH:mm:ss")
  124. + "成功!!!!:"
  125. + serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs,
  126. classes)[0]);*/
  127. }catch(Exception e){
  128.  
  129. e.printStackTrace();
  130. }
  131. }
  132. }

axis2客户端的更多相关文章

  1. webservice axis2客户端设置代理方法(公司网络通过代理访问时)

    webservice axis2客户端设置代理方法(公司网络通过代理访问时)   UploadProcessInServiceStub stub = new UploadProcessInServic ...

  2. Axis2 客户端调用 设置超时时间

    我用的是axis2-1.6.2版本.请看下面的客户端代码: import org.apache.axis2.client.Options; import com.ctis.ta.service.imp ...

  3. 使用AXIS2客户端调用 WEBSERVICE

    问题 在调用WEBSERVICE时,可以使用wsdl2java生成java代码,调用接口,这种方法在接口固定的情况下是一种不错的选择,如果需要动态调用接口,那么这样就行不通了. 解决办法 1.直接构建 ...

  4. axis2客户端的几种调用方式

    (1)使用RPC方式调用WebService // 使用RPC方式调用WebService RPCServiceClient serviceClient = new RPCServiceClient( ...

  5. webservice发布服务:AXIS2及客户端调用

    1.Axis2: 到官网下载axis2的压缩包. 解压后: 1.将lib文件下的jar包复制到项目中 2.在web-inf下创建services->META-INF->services.x ...

  6. 根据wsdl,axis2工具生成客户端代码

    根据wsdl,axis2工具生成客户端代码 步骤: 1,下载axis2版本http://axis.apache.org/axis2/java/core/download.html 2,下载完成后解压, ...

  7. webservice -- cxf客户端调用axis2服务端

    背景: 有个项目, 需要由第三方提供用户信息, 实现用户同步操作, 对方给提供webservice接口(axis2实现)并也使用axis2作主客户端调用我方提供的webservice接口 起初, 由于 ...

  8. Java借助axis2发布WebService

    Webservice: 1.Xml: 2.WSDL: Web service描述语言(WSDL)就是这样一个基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web service及其函数.参 ...

  9. Java创建WebService服务及客户端实现(转)

    简介 WebService是一种服务的提供方式,通过WebService,不同应用间相互间调用变的很方便,网络上有很多常用的WebService服务,如:http://developer.51cto. ...

随机推荐

  1. Python基础教程2上的一处打印缺陷导致的代码不完整#1

    #1对代码的完善的 出现打印代码处缺陷截图: 图片上可以看到,定义的request根本没有定义它就有了.这个是未定义的,会报错的,这本书印刷问题,这个就是个坑,我也是才发现.花了点时间脱坑. 现在发完 ...

  2. 解题:CF622F The Sum of the k-th Powers

    题面 TJOI2018出CF原题弱化版是不是有点太过分了?对,就是 TJOI2018 教科书般的亵渎 然而我这个问题只会那个题的范围的m^3做法 回忆一下1到n求和是二次的,平方求和公式是三次的,立方 ...

  3. win32: WM_PAINT 实现双缓冲缓图

    相关参考资料: GDI下实现双缓冲 - http://jingyan.baidu.com/article/e73e26c0f8df2424acb6a76e.html <Win32_19>用 ...

  4. tomcat发布项目,运行不了

    工作中经常出现项目本来运行得好好的,从SVN上面更新代码后就不行了 这个问题有时候是因为编译不成功,处理步骤如下: 1.clean整个项目,重新编译 2.如果还是不行,则把编译中认为是error的设置 ...

  5. TODO 软件测试68题

    白盒和黑盒的区别,你是怎么运用的?√  都是在debug的时候用的.没有实践过真正的白盒. 你是如何做测试分析?√  主要从功能的实现和性能问题上入手,功能的话以需求和实际使用的流程来分析,性能的话以 ...

  6. 配置ssl

    1.配置 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000&q ...

  7. (二叉树 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 ...

  8. java 打印水仙花数

    package cn.lijun.demo6; public class Test2 { public static void main(String[] args) { for(int i=100; ...

  9. 洛谷P2765魔术球问题 最小路径覆盖

    https://www.luogu.org/problemnew/show/P2765 看到这一题第一眼想到:这不是二分最大流吗,后来发现还有一种更快的方法. 首先如果知道要放多少个球求最少的柱子,很 ...

  10. python3 rrdtool 使用

    源自 python自动化运维:技术与最佳实践 并做略微修改 安装 yum install python-rrdtoolyum install rrdtool-devel #因为采集用了psutil模块 ...