联奕科技工程体系

 找回密码
 立即注册
查看: 159|回复: 0

【数据中心2.0】webservice接口

[复制链接]

35

主题

52

帖子

5338

积分

版主

Rank: 7Rank: 7Rank: 7

积分
5338
发表于 2019-9-9 11:59:09 | 显示全部楼层 |阅读模式
本帖最后由 gaotao 于 2019-12-25 16:12 编辑

环境:Linux
0需要工程文件:
如图有三个工程


1.发布接口需要修改的配置SDC工程:

#linux 系统下远程发布的服务器工作路径
axis.linux.path=/usr/local/tomcat_lysdc/webapps/SDCWSServer/WEB-INF/services/
#远程服务器的url地址
axis.service.url=http://192.168.3.15:8080/SDCWSServer/services/


SDCWSServer工程class下的config.properties:
  1. # DB oracle Connection
  2. oracle.drive=oracle.jdbc.driver.OracleDriver
  3. oracle.url=jdbc:oracle:thin:@192.168.30.45:1521:ORCL
  4. oracle.user=SDCG
  5. oracle.password=SDCG

  6. #远程服务器地址
  7. service.address=http://192.168.3.13:8080/SDCWSServer/services/
复制代码
SDCWSClient工程class下的config.properties:
  1. # Resources for parameter 'com.yourcompany.struts.ApplicationResources'
  2. # Project sdcClient
  3. #WebService 远程地址
  4. sdc.service.url=http://202.192.128.200:8080/SDCWSServer/services/
复制代码

替换文件:
如果发布失败,需要替换如下文件再次尝试:
(1)...tomcat/webapps/SDC2.0/release下所有文件

(1)...tomcat/webapps/SDC2.0/init99.sh文件




2.发布测试:


3.分页默认是20一页,分页控制<currPage>2</currPage>来获取对应数据,传入0,就是取全部数据,不分页
  1. public class TestJk {
  2.            public static String getSearchData() {
  3.                         
  4.                         //服务发布的地址
  5.                         String url = "http://192.168.3.13:8080/SDCWSServer/services/Lycs?wsdl";
  6.                         //接口编号,用于对进口进行权限过滤
  7.                         String jkbh="BH20190903150150139";
  8.                         //用户名
  9.                         String userName="lyadmin";
  10.                         //密码
  11.                         String passWord="111111";
  12.                         
  13.                         //TODO 参数说明:<parame name="XH" seq="0" >"+xh+"</parame>   是查询条件,name="字段对应的数据库字段名称"
  14.                         //<parames><parame name="XH" seq="0" >"+xh+"</parame></parames>
  15.                         String xml="<?xml version="1.0" encoding="UTF-8" ?><directions><interface>"+jkbh+"</interface><userName>"+userName+"</userName><password>"+passWord+"</password><currPage>2</currPage></directions>";
  16.                         String result = "";
  17.                         RPCServiceClient client = null;
  18.                         try {
  19.                                 
  20.                                 System.out.println("服务调用的地址:------------->>>"+url);
  21.                                 // 指定接口的名称空间和接口的方法名称insertAsyn是异步提交
  22.                                 final QName qName = new QName("http://release.ly.com","searchData");
  23.                                 client = new RPCServiceClient();
  24.                                 Options options = new Options();
  25.                                 options.setTo(new EndpointReference(url));
  26.                                 options.setTimeOutInMilliSeconds(6000000L);
  27.                                 options.setAction("searchData");
  28.                                 client.setOptions(options);
  29.                                 options.setManageSession(true);   
  30.                                 options.setProperty(HTTPConstants.REUSE_HTTP_CLIENT,true);   
  31.                                  
  32.                                 long begin = System.currentTimeMillis();
  33.         
  34.                                 Object[] rtnObjs = client.invokeBlocking(qName, new Object[] { xml,
  35.                                                 "", "" }, new Class[] { String.class });
  36.                                 result = rtnObjs[0].toString();
  37.         
  38.                                 long end = System.currentTimeMillis();
  39.                                 System.out.println("接口调用耗时:" + (end - begin) + " 毫秒");
  40.                                 System.out.println("调用结果----->>" + result.toString());
  41.                            
  42.                            
  43.                            
  44.                                 client.cleanupTransport();
  45.                                  
  46.                         } catch (AxisFault e) {
  47.         
  48.                                 e.printStackTrace();
  49.                                 System.err.println("远程服务异常或没启动:"+e.getMessage());
  50.                                  StringBuffer bf = new StringBuffer();
  51.                                  bf.append("<?xml version="1.0" encoding="UTF-8" ?>");
  52.                                  bf.append("<directions>");
  53.                                  bf.append("<result>0</result>");
  54.                                  bf.append("</directions>");
  55.                                  result=bf.toString();
  56.                         }finally
  57.                         {
  58.                                 // 必须释放资源否则出错  ,解决当调用失败是,Timeout waiting for connection 的错
  59.                                 try {
  60.                                         client.cleanupTransport();
  61.                                 } catch (AxisFault e) {
  62.                                         e.printStackTrace();
  63.                                 }
  64.                         }
  65.         
  66.                         return result.toString();
  67.                 }
  68.            
  69.            public static void main(String[] args) {
  70.                            System.out.println(getSearchData());
  71.            }

  72. }
复制代码


4.返回数据格式化查看http://www.bejson.com/otherformat/xml/


5.第三调用接口文档

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|ly-sky.com

GMT+8, 2025-12-17 23:41 , Processed in 0.110040 second(s), 20 queries .

快速回复 返回顶部 返回列表