可以使用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的感觉。