• [技术干货] 安卓调用北向接口
    附上安卓HttpClient调用北向鉴权接口代码示例,详细见附件:        // 服务器端需要验证的客户端证书        KeyStore keyStore = KeyStore.getInstance("PKCS12");// 客户端信任的服务器端证书        KeyStore trustStore = KeyStore.getInstance("BKS");        // 读取证书输入流        InputStream ksIn = getApplicationContext().getAssets().open(Constant.SELFCERTPATH);        InputStream tsIn = getApplicationContext().getAssets().open(Constant.TRUSTCAPATH);try {            keyStore.load(ksIn, Constant.SELFCERTPWD.toCharArray());            trustStore.load(tsIn, Constant.TRUSTCAPWD.toCharArray());        } catch (Exception e) {            e.printStackTrace();        } finally {try {                ksIn.close();            } catch (Exception ignore) {            }try {                tsIn.close();            } catch (Exception ignore) {            }        }        TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());        trustManagerFactory.init(trustStore);        KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("X509");        keyManagerFactory.init(keyStore, Constant.SELFCERTPWD.toCharArray());        SSLSocketFactory ssl = new SSLSocketFactory(keyStore, Constant.SELFCERTPWD, trustStore);        ssl.setHostnameVerifier(new AllowAllHostnameVerifier());httpClient = new DefaultHttpClient();if (ssl != null) {            Scheme sch = new Scheme("https", ssl, 443);httpClient.getConnectionManager().getSchemeRegistry().register(sch);        }        Map// 发起请求,获取回应,自封装接口,详见附录        HttpResponse response = executeHttpRequest(request);注:1、安卓不支持jks格式证书,需使用bks格式证书,步骤如下:a)先使用jks证书生成cer证书,例:keytool -exportcert -alias test -file test.cer -keystore test.jks b)下载bcprov-ext-jdk15on-158.jar,根据本地jdk环境选择对应的jar文件下载,下载地址:http://www.bouncycastle.org/latest_releases.html,若本地已有,可跳过此步骤;c)将jar放在Java\jdk1.8.0_20\jre\lib\ext目录下,若本地已存在,可跳过此步骤;d)使用命令行生成bks格式证书,例:keytool -importcert -trustcacerts -keystore e:\test.bks -file e:\test.cer -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvidere)将p12证书和bks证书放入安卓资源文件夹assets中进行读取。2、SSLSocketFactory在安卓开发版本21中才能调用compileSdkVersion 21buildToolsVersion '21.1.2'IoTGUI.part1.rarIoTGUI.part2.rar
  • [技术干货] 用IKVMC将jar转成dll供c#工程调用【转】
    (转自 https://developer.huawei.com/ict/forum/forum.php?mod=viewthread&tid=24703&highlight  )前言IKVM.NET是一个针对Mono和微软.net框架的java实现,其设计目的是在.NET平台上运行java程序。有些在java程序上可以实现的功能,但在C#中无法实现或者目前不知道怎么实现时(如带有特殊Padding的RSA2048加密,https双向认证等),可以考虑使用IKVM工具把已生成的jar转成dll供C#程序去调用。IKVM官网地址:https://www.nuget.org/packages/IKVM/由于IKVM7最高只支持jdk1.6编译出来的jar转换,建议使用最新版本IKVM8。使用说明前提条件:已通过java实现所需功能,且编译成一个jar,如MyHttpClient.jar。1. 在官网下载ikvm压缩包,这里用的是ikvmbin-8.1.5717.0.zip,解压到一个文件夹中,如C:\tools\ikvm-8.1.5717.0。2. 配置环境变量:在系统环境变量中增加IKVM_HOME:C:\tools\ikvm-8.1.5717.0,同时Path中增加%IKVM_HOME%/bin;3. 把MyHttpClient.jar放到一个工作目录下,如C:\tools\ikvm,在命令行中进入该目录,执行 ikvmc -target:library MyHttpClient.jar,即在当前目录下生产MyHttpClient.dll,这里只需要生成一个dll,如需生产可执行程序,可执行命令 ikvmc -target:exe xxx.jar。4. 在C#工程中引用MyHttpClient.dll以及IKVM相关的dll(C:\tools\ikvm-8.1.5717.0\bin目录下的以IKVM.开头的dll,这里为了方便全部引用了),C#中类的命名空间和java中的类的包名是一致的,如java中import com.huawei.myhttpclient,C#中为using com.huawei.myhttpclient特别注意:由于实际的java实现工程很多情况下都依赖一些第三方jar,比如举例的MyHttpClient工程使用了Apache httpClient相关组件实现的设置客户端,服务端证书,发送消息功能,依赖的jar有:commons-codec-1.9.jar,commons-logging-1.2.jar,httpclient-4.5.2.jar,httpcore-4.4.4.jar,httpmime-4.5.2.jar,在网上查询很多做法是把这些第三方jar依次编译成dll,执行ikvm命令时需要指定指定依赖的dll,比较麻烦,这里的做法是把这些jar用winrar等解压软件打开,然后里面的根目录文件夹org(里面包含了Apache httpClient编译生成的class),拷到MyHttpClient.jar中。补充:最近发现有人使用该方式,执行ikvmc编译命令时,命令行中报错:Class "org.apache.http.impl.client.DefaultHttpClient" not found.可能原因是导出jar时,Options选项中未勾选 Add Directory entries
  • [其他] Flume向Spark Streaming提交作业,提交到集群后报类找不到
    用户问题Flume向Spark Streaming提交作业,提交到集群后报类找不到。问题类型大数据组件操作类问题现象Spark Streaming代码打成jar包提交到集群后报类找不到错误,通过以下两种方式依然不生效。在提交Spark作业的时候使用 --jars 命令引用类所在的jar包。将类所在的jar包引入Spark Streaming的jar包。原因分析执行Spark作业时无法加载部分jar,导致找不到class。处理步骤使用 --jars 加载flume-ng-sdk-{version}.jar依赖包。同时修改spark-default.conf中两个配置项。spark.driver.extraClassPath=$PWD/*:{加上原来配置的值}spark.executor.extraClassPath =$PWD/*作业运行成功。如果还有报错,则需要排查还有哪个jar没有加载,再次执行步骤1和步骤2。
  • redis(一)安装和配置java客户端
    下载地址:http://redis.googlecode.com/files/redis-2.0.4.tar.gz 2.0 目前是最新稳定版可以在linux下运行如下命令进行安装 15083 make完后redis-2.0.4目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli 启动redis服务: 1.默认方式启动命令: $./redis-server 注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动. 2.配置文件方式启动命令: $ ./redis-server redis.conf redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了. 如: 15084 3.java客户端配置: 客户端jar包地址 http://cloud.github.com/downloads/alphazero/jredis/jredis-1.0-rc2.jar 下载后引入jar包到工程,maven项目可以将jar包添加到本地仓库,将jar包添加到maven仓库的命令可自行百度,添加完后在pom文件中引入依赖即可。 java代码示例: package jredisStudy; import org.jredis.*; import org.jredis.ri.alphazero.JRedisClient; public class RedisTest { public static void main(String[] args) { try { JRedis jr = new JRedisClient("192.168.56.55",6379); //redis服务地址和端口号 String key = "mKey"; jr.set(key, "hello,redis!"); String v = new String(jr.get(key)); String k2 = "count"; jr.incr(k2); jr.incr(k2); System.out.println(v); System.out.println(new String(jr.get(k2))); } catch (Exception e) { // TODO: handle exception } } }
  • [问题求助] [Maven]编译Hadoop 3.0.0时找不到aws的依赖的jar包
    [code][ERROR] Failed to execute goal on project hadoop-aws: Could not resolve dependencies for project org.apache.hadoop:hadoop-aws:jar:3.0.0: Could not find artifact com.amazonaws:DynamoDBLocal:jar:1.11.86 in huaweicloud (https://repo.huaweicloud.com/repository/maven/) -[/code] 不使用Mirror时,正常从amazon下载了: [code]Downloading from dynamodb-local-oregon: https://s3-us-west-2.amazonaws.com/dynamodb-local/release/org/apache/servicemix/servicemix-pom/5/servicemix-pom-5.pom [/code]所以,能否添加amazon的mvn仓库。
  • [问题求助] 怎么传数据和jor程序jar包到mapreduce服务的HDFS上?
    本帖最后由 bigdata11 于 2017-12-13 11:28 编辑怎么传数据和jor程序jar包到mapreduce服务的HDFS上? 在快速入门里http://support.huaweicloud.com/mrs_ksrm/index.html,只有怎么上传program和input数据到OBS,没有介绍如何上传到HDFS上。
  • [行业前沿] ServiceComb的jar包依赖混乱
    ServiceComb的jar包依赖如此混乱,,简直不敢想象是个大公司开源出来的成熟产品。 导入的dependency pom里包含了几百个jar包,不同模块依赖的同一个jar包的不同版本,,看看阿里的dubbo,springcloud这些竞品,还差了十万八千里远。。
  • 【开发分享】Jalor3框架资源加载类的BUG
    本帖最后由 HW Developer 于 2017-9-7 09:57 编辑[color=rgb(51,51,51)]这是Jalor3框架提供的一个获取类路径下文件资源的方法,com.huawei.ormapping.common.resources.Resources.getResourceAsFile("config/excel/excel-validation.xml");[color=rgb(51,51,51)]发到测试环境后,老是报异常:java.io.FileNotFoundException: file:\D:\dev\workspace\PSI\201601\zzzTest\libs\config.jar!\config\excel\excel-validation.xml (文件名、目录名或卷**法不正确。)[color=rgb(51,51,51)]最后发现,这个方法是通过将java.net.URL的getFile方法返回的值直接当java.io.File的构造函数参数,如果要获取的文件资源不在jar包中,没有问题,但如果放在jar包中,就会报文件不存在。这时,只能用URL的openStream来获取文件信息。[color=rgb(51,51,51)]{:4_87:}本文来自华为资深应用实施专家日常总结分享
总条数:98 到第
上滑加载中