我为我的应用程序编写了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)
<
关于问题的任何帮助/指针都非常感激。