Вы нарезаете два разных набора индексов.
В первом случае 1+1:4
вы создаете вектор, который идет от 1 до 4, добавляется 1:4
, а затем 1, следовательно, 2,3,4,5
. В вашем векторе 5-й позиции не существует, поэтому вы получаете NA
.
Во втором векторе вы срезаете, занимая позиции (1+1):4
, что соответствует 2,3,4
. Это все элементы, которые существуют в вашем начальном векторе, и поэтому у вас есть соответствующие значения
При вызове веб-сервиса с WSDL JAXB является абсолютно наилучшим вариантом. Смотрите на wsimport, и Вы быть в порядке за 10 минут.
Я не думаю, что JAXB 2.0 будет возможен на Java 1.4. Вы, возможно, должны использовать Ось вместо этого:
java -cp axis-1.4.jar;commons-logging-1.1.jar;commons-discovery-0.2.jar;jaxrpc-1.1.jar;saaj-1.1.jar;wsdl4j-1.4.jar;activation-1.1.jar;mail-1.4.jar org.apache.axis.wsdl.WSDL2Java http://someurl?WSDL
Это генерирует подобные тупики к JAXB.
Если у Вас нет WSDL или XSD, можно всегда генерировать тот.
Существует XStream. Я, кажется, помню, что использовал это давным-давно, и это было прекрасно. Не может сказать, что у меня есть достаточно опыта рекомендовать это за или против, но это стоит проверить так же, как альтернатива.
JIBX - известен производительностью
JAXB2 - Простота использования
Castor - Простота использования
другие - XMLBean, Xstream
JAXB - лучший выбор:
EclipseLink JAXB (MOXy) - лучшая реализация:
MOXy - реализация JAXB с расширениями
MOXy имеет внешний файл конфигурации (основанный на аннотациях JAXB с расширениями):
Имеет отображение на основе XPath, для глубокого отображения:
Предназначен для работы с объектами, отображенными в ORM, включая поддержку двунаправленных отношений: