如何將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