我有一個可以在GlassFish上部署Web服務的工作解決方案,當客戶端向Web服務發送XML請求時,我從SOAPBody中提取第一個子項。這適用於在Windows 7,Server 2003和Server 2008 R2上運行的GlassFish 3.1.1和java runtime 1.6.0_06-b02。saaj.soap到xml.soap Glassfish中的castException
我被要求部署在GlassFish 3.1.2解決方案和Java運行時1.7.0_09在Ubuntu 12.10運行
當使用具有在雙方的SoapEnvelope 3.1的XML沒有空格我的測試工具運行.1和3.1.2系統工作正常,但是,如果我使用SoapUI發送包含空白的消息,則Window安裝將正常工作,而Ubuntu版本會引發轉換異常。
當我試圖運行下面的代碼片段(分配給Web服務的消息處理函數):
public boolean handleMessage(SOAPMessageContext messageContext) {
SOAPElement requestElt = (SOAPElement) messageContext.getMessage().getSOAPBody().getFirstChild();
// Do things here
}
當信封包含空格以下異常被拋出:
com.sun.xml.messaging.saaj.soap.impl.TextImpl cannot be cast to javax.xml.soap.SOAPElement
燦任何人都能爲我解釋這個問題嗎?