您的位置 :首页 > 接口服务 > 物流EHR公司、组织查询

物流EHR公司、组织查询

     发布时间:2020-08-27 11:40:32.716

 

平台 名称:

《物流主数据系统平台 》

版本号:

V1. 0

发布时间:

2020/08/26

文档状态

完善文档

 

版本控制

日 期

修改内容

描 述

修改类型

修 改 人

版 本

2020-08-26

ALL

 

A

张帆

V1.0

 

接口描述

接口描述

物流EHR公司、组织查询

访问地址

正式地址:

REST: http://eal.ceair.com/e-mdp/services/realExtractData/postQuery/

在访问接口地址后面加上: access_token=此处为授权码

SOAP: http://eal.ceair.com/e-mdp/ws/realExtractData-WService-soap/?wsdl

下面1.1 和 1.2 节任选其一,推荐1.1restful风格

1.1 postQuery 方法(此为restful风格代码,相对精简易用,推荐使用)

接口 协议

Restful

访问方式

POST (type =" application/json " )

方法描述

根据查询条件,返回记录信息

参数 方式

  {"query":"{\"alias\":\"L_EHRN_CORP\",\"code\":\"EAL02\"}","pageSize":100,"pageNum":1}

JSON 数据格式 , 见参考参数描述

参考代码:

import org.apache.cxf.jaxrs.client.WebClient;

 

String URL = "http://eal.ceair.com/e-mdp/services/realExtractData/postQuery/?access_token="+ACCESS_TOKEN;

WebClient client = WebClient.create(URL);

client.accept(MediaType.APPLICATION_JSON).type(MediaType.APPLICATION_JSON);

Map<String,String> param = new HashMap<String,String>();

param.put("query","{\"alias\":\"L_EHRN_CORP\",\"code\":\"EAL02\"}");

String jsondata = JSONObject.fromObject(param).toString();

System.out.println(jsondata);

String jsonResponse = client.post(jsondata,String.class); System.out.println(jsonResponse);

 

 

1.2 queryData 方法(此为wsdl风格,代码相对restful多一些。除非项目本身基本应用wsdl,否则推荐restful风格)

方法定义

List<V> queryData (String xmLParam)

接口 协议

Soap 协议

访问方式

POST

方法描述

根据查询条件,返回记录信息

参数

enquire (XML、JSON格式查询条件 )

参数 方式

<queryParam><alias> L_EHRN_CORP </alias>< code> EAL02</ code></queryParam>

参考代码:

1.2.1、applicationContext-ws-client-test.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:jaxws="

http://cxf.apache.org/jaxws" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" xmlns:util="http://www.springframework.org/schema/util" xmlns:jaxrs="http://cxf.apache.org/jaxrs"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd

http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd  

http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd

http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd

http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">

 

 

     <jaxws:client id="realExtractData-client"

address="http://eal.ceair.com/e-mdp/ws/realExtractData-WService-soap/?access_token=***********************************"  

serviceClass="com.ceair.service.provider.RealExtractDataService">

</jaxws:client>

</beans>

 

1.2.2、RealExtractDataService

 

@WebService

public interface RealExtractDataService{

@WebMethod(operationName="queryData")

@WebResult(name = "result")

@ResponseWrapper(localName ="queryDataResponse")

public String queryData(@WebParam(name="enquire") String queryParam) ;

 

@WebMethod(operationName="queryDataByPage")

@WebResult(name = "result")

@ResponseWrapper(localName ="pageDataResponse")

public String queryData(@WebParam(name="enquire")String queryParam,@WebParam(name="pageNum") Integer pageNum,@WebParam(name="pageSize")Integer pageSize) ;

}

 

1.2.3、测试类

public class TestWebserviceWithSoap {

private static ApplicationContext application = null;

public static void main(String []args){

application = new ClassPathXmlApplicationContext(new String[]{"classpath:/com/test/webservice/applicationContext-ws-client-test.xml"});

try {

testAgentSoap(application);

} catch (Exception e) {

// TODO

}

}

 

public static void testAgentSoap(ApplicationContext application) throws Exception {

String xmLParam = "<queryParam><alias>L_EHRN_CORP</alias><code>EAL02</code></queryParam>";

RealExtractDataService realExtractDataService = (RealExtractDataService)application.getBean("realExtractData-client");

String strRet = realExtractDataService.queryData(xmLParam);

System.out.println(strRet);

}

}


参考类型

2. 查询条件 字段描述

参数名称

数据类型

描述 信息

能空否 

code

String

公司编码

Y

name

String

公司名称

Y

pkOrg

String

公司主键

Y

pkFatherorg

String

上级公司主键

Y

enablestate

Integer

状态

Y

alias

String

功能代码,必写,此功能固定为: L_EHRN_CORP

N

QUERY_PARAM_RESOLVED

String

分页条件。若需分页但未给出除了alias外任何条件,则必须指定此值。逻辑只是校验此值有无,值可以任意非空字符串。

Y

pageSize

int

分页,每页获取数据条目数。

Y

pageNum

int

分页,第几页。

Y


返回结果 字段描述

参数名称

数据类型

描述 信息

code

String

公司编码

name

String

公司名称

pkOrg

String

公司主键

pkFatherorg

String

上级公司主键

enablestate

Integer

状态

 

PS: 附上主数据上游系统对于公司、组织部分数据的解释。

公司视图 v_corp 举例说明
公司编码 code EAL05
公司名称 name 中国货运航空有限公司
公司主键 pkOrg 0001A110000000000AN6
上级公司主键 pkFatherorg 0001A110000000000AMQ,如果没有上级显示为"~"
状态 enablestate 2=已启用,3=已停用,

 

另外:拟通过加入参数 needLikeSupport控制模糊查询。当入参中含有needLikeSupport,且需要模糊查询的字段形如"%模糊查询内容%"(同oracle like查询一致)时,处理的方式为模糊查询。

形如:{"query":"{\"alias\":\"L_EHRN_CORP\",\"name\":\"%南%\",\"needLikeSupport\":\"1\"}","pageSize":100,"pageNum":1}

模糊查询功能预计10月中旬上线。