Использование EclipseLink MOXy с Java 1.5 - PullRequest
2 голосов
/ 05 октября 2010

Кто-нибудь получил EclipseLink MOXy (я использую eclipselink 2.1.0) для работы с Java 5?Всякий раз, когда я пытаюсь демаршировать, я получаю исключение пустого указателя в org.eclipse.persistence.oxm.record.UnmarshalRecord, в методе startCDATA () (xPathNode имеет значение null).Точно такой же код и XML прекрасно работают в Java6.

1 Ответ

1 голос
/ 05 октября 2010

Я технический лидер для МОКСИ. Можете ли вы предоставить трассировку стека и более подробную информацию о вашем случае использования?

Для получения дополнительной информации о MOXy проверить:

Ваше обновление:

Я не смог воспроизвести это с моей стороны. Я использую следующие env. У вас есть тестовый пример, который вы можете отправить (blaise.doughan@gmail.com) или указать, что я делаю по-другому?

  • JDK: 1.5.0_22
  • EclipseLink 2.1.0

Следующая модель:

package cdata;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Customer {

    private String firstName;
    private String lastName;

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

}

Демо-код:

package cdata;

import java.io.File;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;

public class Demo {

    public static void main(String[] args) throws Exception {
        JAXBContext jc = JAXBContext.newInstance(Customer.class);

        Unmarshaller unmarshaller = jc.createUnmarshaller();
        Customer customer = (Customer) unmarshaller.unmarshal(new File("src/cdata/input.xml"));

        Marshaller marshaller = jc.createMarshaller();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        marshaller.marshal(customer, System.out);
    }
}

и XML:

<?xml version="1.0" encoding="UTF-8"?>
<customer>
    <firstName>Jane</firstName>
    <middleName><![CDATA[<?xml version="1.0"?>]]></middleName>
    <lastName>Doe</lastName>
</customer>
...