| 
 
	积分5363贡献 精华在线时间 小时注册时间2012-2-16最后登录1970-1-1 
 | 
 
| 
本帖最后由 scmeiqy 于 2020-4-4 23:24 编辑
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  
 CIMISS接口之Java8+:支持Java8+版本。低于Java8,请使用官方1.6版。
 
 疫情期间,为了完成上级交待的工作:关于CIMISS数据获取方法,给同事们作个培训。
 在研究python接口期间,通过读ZeroC ICE官方文档,发现:
 利用java8的新特性,其接口使用起来,更加符合人们的思维习惯,比如:以前的
 xxxPrx类,必须用xxxHelp类来checkcast,而现在不需要了,interface的Help类,都直接消失了!!!
 当然,对异步调用的支持更友好了!
 
 直接上干货:
 接口库其实很简单,很简单,很简单……重要的事说三遍:
 1、库需要两个文件(全在cimiss_java8_lib.7z中):
 ice373.jar  来自官方,可以使用sha1/md5/sha256校验。使用了JAVA8新特性,所以,运行环境需要JAVA8;
 cimiss373j8.jar Cimiss接口库,基于JAVA8新特性,所以,运行环境需要JAVA8。
 2、程序运行,需要配置文件:client.config
 库中不包含(不是我故意不包含,而是基于其jar包的结构特点,不应该包含),在cimiss_java8_demo.7z压缩包中。
 如果你下载了python的库包文件,这两个文件是一样的!!原接口库1.6包中的配置文件少了许多项,已不适用于ICE高版本!
 3、说明一点:现在的库,我改变了接口包装文件的位置(改变的理由:我把cimiss的python接口,也使用ICE3.6+、python3.6/3.7/3.8环境,全部重新实现了,也改变了接口包装文件的位置,两者统一了):
 原位置:cma.cimiss.client.DataQueryClient
 新位置:sc.mqy.client.DataQueryClient
 
 下面是demo代码:
 import cma.cimiss.RequestInfo;
 import sc.mqy.client.DataQueryClient;
 import java.util.HashMap;
 public class SaveFilesAPI_CLIB_callAPI_to_storeFile {
 public SaveFilesAPI_CLIB_callAPI_to_storeFile() {
 }
 public static void main(String[] args) {
 DataQueryClient client = new DataQueryClient();
 String userId = "user_nordb";
 String pwd = "user_nordb_pwd1";
 String interfaceId = "";
 interfaceId = "saveFiles";
 HashMap<String, String> params = new HashMap();
 params.put("DataCode", "SEVP_CIPAS_TEM_ANOM");
 params.put("Elements", "Datetime,PUBLISH_TIME,FILE_NAME,DATA_CONTENT,DATA_ID,FORMAT,AREA,PRODUCER,DATA_SOURCE,V_FILE_SIZE");
 String[][] inArray2D = new String[][]{{"20151110000000", "20151114060000", "MOP_CHCC_NCEPRA_WMFS_TMP_NH_0_PM_20151110_0000.png", "-", "TEM", "PNG", "NHE", "NCC", "CIPAS", "1222"}, {"20151111000000", "20151114060000", "MOP_CHCC_NCEPRA_WMFS_TMP_NH_0_PM_20151111_0000.png", "-", "TEM", "PNG", "NHE", "NCC", "CIPAS", "1222"}};
 int num = inArray2D.length;
 String[] write_filenames = new String[num];
 String path = "./CIPAS产品";
 for(int i = 0; i < num; ++i) {
 write_filenames = path + "/" + inArray2D[2];
 }
 try {
 client.initResources();
 RequestInfo r = client.callAPI_to_storeFile(userId, pwd, interfaceId, params, inArray2D, write_filenames);
 if (r != null) {
 System.out.println("return code=" + r.errorCode);
 System.out.println("return message=" + r.errorMessage);
 }
 } catch (Exception var14) {
 var14.printStackTrace();
 System.out.println(var14.getMessage());
 } finally {
 client.destroyResources();
 }
 }
 }
 
 这个示例代码,能编译通过,但不能运行成功的,因为你没有那个测试环境!!
 
 如果你还在用java6、java7,请停止下载!!!
 这个包对于那些气象类开发公司,应该是有用处的————异步、稳定、效率、高可配!!!
 
 
  cimiss_java8_lib.7z
(820.55 KB, 下载次数: 6) | 
 |