Я использую 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, помочь мне в этом?