NPE, брошенный, упорядочивая объект в JAX-RS

У меня есть веб-сервис JAX-RS, который использует классы объекта JPA. У меня есть класс ресурса как это:

@Path("/entity")
public class MyEntityResource
{
    @GET
    @Produces(MediaType.APPLICATION_XML)
    @Path("/{entity}")
    public MyEntity getMyEntity(@PathParam("entity") String entity)
    {
        log.debug("Entering getMyEntity with param: " + entity);
        MyEntity entityObject = genericService.find(MyEntity.class, entity);

        if (entityObject == null)
        {
            log.debug("Entity not found.");
            throw new WebApplicationException(Response.Status.NOT_FOUND);
        }

        log.debug("Exiting getMyEntity");

        return entityObject;
    }
}

Когда я выполняю сервис и делаю получить запрос к объекту, я получаю эту ошибку:

SEVERE: The response of the WebApplicationException cannot be utilized as the response is already committed. Re-throwing to the HTTP container
javax.ws.rs.WebApplicationException: javax.xml.bind.MarshalException
 - with linked exception:
[Exception [EclipseLink-25003] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred marshalling the object
Internal Exception: java.lang.NullPointerException]
    at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.writeTo(AbstractRootElementProvider.java:151)
... 
<snip>
... 
Caused by: javax.xml.bind.MarshalException
 - with linked exception:
[Exception [EclipseLink-25003] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred marshalling the object
Internal Exception: java.lang.NullPointerException]
    at org.eclipse.persistence.jaxb.JAXBMarshaller.marshal(JAXBMarshaller.java:271)
    at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.writeTo(AbstractRootElementProvider.java:171)
    at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.writeTo(AbstractRootElementProvider.java:149)
    ... 32 more
Caused by: Exception [EclipseLink-25003] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred marshalling the object
Internal Exception: java.lang.NullPointerException
    at org.eclipse.persistence.exceptions.XMLMarshalException.marshalException(XMLMarshalException.java:76)
    at org.eclipse.persistence.oxm.XMLMarshaller.marshal(XMLMarshaller.java:502)
    at org.eclipse.persistence.jaxb.JAXBMarshaller.marshal(JAXBMarshaller.java:269)
    ... 34 more
Caused by: java.lang.NullPointerException
    at org.eclipse.persistence.exceptions.ConversionException.couldNotBeConverted(ConversionException.java:69)
... 
<snip>
... 
    at org.eclipse.persistence.oxm.XMLMarshaller.marshal(XMLMarshaller.java:916)
    at org.eclipse.persistence.oxm.XMLMarshaller.marshal(XMLMarshaller.java:468)
    ... 35 more

Нигде в любом из отслеживаний стека не ни один из моих классов, на которые ссылаются. Кроме того, "Exiting getMyEntity" оператор зарегистрирован перед исключением.

Я понятия не имею, что бросает NPE или как отладить это.

Перед этой ошибкой я получал a [com.sun.istack.SAXException2: A cycle is detected in the object graph. This will cause infinitely deep XML: от моего JPA (EclipseLink) классы объекта и я добавил аннотацию MOXy @XmlInverseReference к своему дочернему классу на родительском методе получателя.

Какие-либо мысли о том, что могло выдавать это исключение?

5
задан bdoughan 28 September 2010 в 20:25
поделиться