如何将JAXBElement作为SOAP消息的SOAPBody的子节点追加。我想做我的Web服务端点方法里面做的是:如何将JAXBElement作为SOAP消息的子节点附加到SOAP消息
SaajSoapMessage soapRequest = (SaajSoapMessage) messageContext.getRequest();
SOAPBody soapBody=soapRequest.getSaajMessage().getSOAPBody();
ObjectFactory of=new ObjectFactory();
SplsTID tid=new SplsTID();
JAXBElement<SplsTID> element=of.createSplsTID(tid);
element.soapBody.appendChild(element);
然后我得到的java.lang.ClassCastException: javax.xml.bind.JAXBElement cannot be cast to org.w3c.dom.Element
。
我正在使用spring-WS并使用jaxb编组。我们应该怎么做?
哪条线被抛出的异常?向我们展示完整的堆栈跟踪,而不仅仅是一点。 – skaffman 2011-12-27 11:58:37
错误来自'element.soapBody.appendChild(element)'这一行;''元素'属于'JAXBElement'类型。下面是堆栈跟踪:'java.lang.ClassCastException:javax.xml.bind.JAXBElement不能转换为org.w3c.dom.Element \t at com.staples.onas.util.ONASUtil.createPublishLog(ONASUtil.java: 158) \t at com.staples.onas.service.endpoint.OrderNumberServiceEndPoint.processOrderNumberRequest(OrderNumberServiceEndPoint.java:73) \t at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)''。由于大小限制,我无法在此处粘贴完整的堆栈跟踪。让我知道是否需要更多细节。 – 2011-12-30 05:54:55