【发布时间】:2015-06-02 16:24:19
【问题描述】:
我正在使用 Objective System Inc(http://www.obj-sys.com/products/asn1c/index.php) ASN.1 Compiler 和规范文件 (cdr_spec.asn) 生成的 Java 源代码。 CDRS 是根据格式 BER(Basic Encoding Rule) 编码的
生成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 的人都可以帮助我解决这个问题吗?
【问题讨论】: