Я использую Objective System Inc (http://www.obj-sys.com/products/asn1c/index.php) ASN.1 Compiler
и файл спецификации (cdr_spec.asn), сгенерированный исходный код Java. В ЗОРЕ enecoded основан на формате BER (Basic Encoding Rule)ASN.1 Ошибка декодирования
команды для генерации 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, помочь мне в этом?
спасибо за ваш ответ. Наконец, я понял, что оператор предоставил неверный файл спецификации, он потерял несколько переменных ... как это могло быть ... спасибо снова – haifzhan
Это происходит, когда все производители времени выпускают несколько версий своих спецификаций и не всегда сохраняют их правильно обновлено. Очень часто найти такие ошибки в «диком». Многие производители также настраивают свой вывод, чтобы сделать его более трудным для чтения стандартизованными инструментами (например, добавлением заголовков пользовательской длины). – Ethan