我正在使用 Objective System Inc(http://www.obj-sys.com/products/asn1c/index.php) ASN.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 的人都可以帮我解决这个问题吗?