重新调整JAXB对象时,Rest Web Service抛出错误

时间:2017-10-29 06:52:24

标签: java json jaxb jax-rs jersey-2.0

我为我的应用程序编写了Rest API,用于生成和使用JSON 我的应用程序从后端系统获取xml节点对象,我使用JAXB2 jar解组到对象中。我已经通过打印到日志语句对象检查解组正在发生并且当我调用Rest API时出现运行时错误。

我正在使用Jersey2来实现REST API。

我已经编写了以下代码片段来实现这一点,

JAXBContext jc = JAXBContext.newInstance("com.myapp.testapi.schema");

// create binder
Binder<Node> binder = jc.createBinder();

// get response object from list of responses
Node xmlNode = (Node) responses.get(0);

// unmarshal the xml
JAXBElement<Object> jaxbObject = binder.unmarshal(xmlNode, Object.class);

Object resp= jaxbObject.getValue();

// Final return statement of Rest API
return Response.status(Status.OK).entity(resp).build();

我在调用REST API时遇到异常

           <b>exception</b>
            <pre>javax.servlet.ServletException: javax.json.bind.JsonbException: Invalid count of arguments for setter: public void com.sun.org.apache.xerces.internal.dom.ElementImpl.setIdAttributeNS(java.lang.String,java.lang.String,boolean)
	org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:432)
	org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370)
	org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389)
	org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342)
	org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
<

关于问题的任何帮助/指针都非常感激。

0 个答案:

没有答案