ASN.1解码错误

时间:2015-06-02 16:24:19

标签: java asn.1 ber

我正在使用Objective System Inc(http://www.obj-sys.com/products/asn1c/index.phpASN.1 Compiler和规范文件(cdr_spec.asn)生成Java源代码。 CDRS基于格式BER(基本编码规则)进行编码

生成Java源代码的命令:

./asn1c cdr_spec.asn -java -ber -reader -print -getset -pkgname com.testpkg

生成源:

ASN1C Compiler, Version 6.4.5
Copyright (c) 1997-2011 Objective Systems, Inc. All Rights Reserved.

Registered to: XXXXXX
Parsing ASN.1 definitions..

Generating Java source files for module XXX-XXX..

当我解码第一个CDR文件时,它仅解析3行,CDR文件应包含100多行,因此它被部分解码。

当我尝试解码另一个CDR文件时,它在解码CDR文件时失败并给了我错误

com.objsys.asn1j.runtime.Asn1MissingRequiredException: ASN.1 decode error @ offset 832:
SEQUENCE or SET is missing a required element.
10:11:30.394 [main] ERROR com.testpkg.Test - ASN.1 decode error @ offset 832:
SEQUENCE or SET is missing a required element.

当我使用工具检查其语法时,我的ASN.1规范文件没有任何语法错误。

知道ASN.1的人能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

  

当我尝试解码另一个CDR文件时,解码CDR文件时失败并给我这样的错误:

*******

根据您的描述,问题似乎与输入数据有关,而与实际规范本身无关。供应商提供的规范与其硬件产生的数据并不完全相符并不罕见。

如果您可以确定缺少哪个元素,您可以随时尝试在规范中标记字段com.objsys.asn1j.runtime.Asn1MissingRequiredException: ASN.1 decode error @ offset 832: SEQUENCE or SET is missing a required element. 10:11:30.394 [main] ERROR com.testpkg.Test - ASN.1 decode error @ offset 832: SEQUENCE or SET is missing a required element. ,重新生成代码,然后重试。

或者,您可以随时联系软件和/或硬件供应商以获取帮助。