可以使用RTE验证Digital Persona One Touch中的Java API吗?

问题描述:

此代码是否需要数字人单触RTE(运行环境)的工作?:可以使用RTE验证Digital Persona One Touch中的Java API吗?

DPFPVerification verifier = DPFPGlobal.getVerificationFactory().createVerification(); 

如果是这样,有另一种方式来验证数字人SampleFeatures(连载)针对数字人模板(连载)只使用dpfp JAR?

原因:我们计划在TIBCO提供的Web服务上安装我们的DPFP验证程序。

任何帮助,非常感谢!

我得到一个Java JNI异常与此样本的测试主要代码:

import com.digitalpersona.onetouch.DPFPFeatureSet; 
import com.digitalpersona.onetouch.DPFPFeatureSetFactory; 
import com.digitalpersona.onetouch.DPFPGlobal; 
import com.digitalpersona.onetouch.DPFPTemplate; 
import com.digitalpersona.onetouch.DPFPTemplateFactory; 
import com.digitalpersona.onetouch.verification.DPFPVerification; 
import com.digitalpersona.onetouch.verification.DPFPVerificationResult; 


public class Main { 

    /** 
    * fingerScanTemplate is from WC DB 
    * sample is from the WS input parameters 
    */ 
    public boolean performVerification(byte[] fingerScanTemplate, byte[] sampleFeatures) { 
      DPFPTemplateFactory templateFactory   = DPFPGlobal.getTemplateFactory(); 
      DPFPFeatureSetFactory featureSetFactory  = DPFPGlobal.getFeatureSetFactory(); 
      DPFPVerification  verifier       = DPFPGlobal.getVerificationFactory().createVerification(); 

      // Deserialize template & sampleFeature 
      DPFPTemplate deserializedTemplate = templateFactory.createTemplate(fingerScanTemplate); 
      DPFPFeatureSet features = featureSetFactory.createFeatureSet(sampleFeatures); 

      //Compare the feature set with the template, based on which finger was captured 
      DPFPVerificationResult result = null; 
      result = verifier.verify(features, deserializedTemplate); 

      return result != null && result.isVerified(); 
     } 



    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     new Main().performVerification(null, null); 
    } 

} 

不,你不应该需要某种RTE的。我知道我必须安装One Touch SDK,因为它运行的是称为生物扫描或类似的Windows服务。我与你的代码中看到的主要问题是:

DPFPVerificationResult result = null; 

result = verifier.verify(features, deserializedTemplate); 

需要是:

DPFP.Verification.Verification.Result result = new DPFP.Verification.Verification.Result(); 

verifier.verify(features, template, ref result); 

至少,这是什么让我的代码开始正确验证。我也有在创造它必须这样做了的FeatureSet修复程序员的错误:

DPFP.FeatureSet features = ExtractFeatures(Sample, DPFP.Processing.DataPurpose.Verification); 

我比我,但也许这将帮助一些您使用的是较旧的SDK的感觉。