或其任何超类是已知这样的背景下JAXB
问题描述:
我试着通过发送存根SOAP请求时,得到下面的异常。或其任何超类是已知这样的背景下JAXB
[com.sun.istack.internal.SAXException2: class com.domain.Test nor any of its super class is known to this context.
javax.xml.bind.JAXBException: class com.domain.Test nor any of its super class is known to this context.]
at com.sun.xml.internal.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:408)
at com.sun.xml.internal.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:173)
at com.sun.xml.internal.ws.api.message.MessageWrapper.writeTo(MessageWrapper.java:206)
at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:129)
at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:227)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:210)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:130)
at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:95)
的方式IM执行,这是
NmsRtEvent event = new NmsRtEvent(); // WebServiceClient
RtEventMethodsSoap methodsSoap = event.getRtEventMethodsSoap(); //WebService
Element element = new Element();
element.setAny(new Test());
plId = methodsSoap.pushEvent(token,element);
测试类
@XmlType(namespace = "http://www.test.com/test")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement
public class Test implements Serializable{
private int id;
}
感谢
答
Java doc说,大约@XmlSeeAlso -
指示JAXB在绑定此类时也绑定其他类。
您使用了带有Test.class值的批注@XmlSeeAlso,它不正确。它应该在绑定Test类时需要绑定的其他类。
感谢reply.I从那里删除注释。测试类绑定到生成的类(存根类)的Element类。 – Dilantha