我是XMLBeans的新手,一直試圖用它來創建一個XML文檔作爲axis2 web服務的一部分。當我運行我的代碼作爲一個標準的Java應用程序或作爲一個標準的servlet中,XML正確生成:XMLBeans - 使用Axis2和Tomcat剝離xsi:類型?
<?xml version="1.0" encoding="UTF-8"?>
<c:BroadsoftDocument protocol="OCI" xmlns:c="C">
<sessionId>000000001</sessionId>
<command xsi:type="AuthenticationRequest" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<userId>admin</userId></command>
</c:BroadsoftDocument>
然而,當完全相同的代碼在一個servlet下的Axis2 & Tomcat的運行我得到:
<?xml version="1.0" encoding="UTF-8"?>
<c:BroadsoftDocument protocol="OCI" xmlns:c="C">
<sessionId>000000001</sessionId>
<command>
<userId>admin</userId></command>
</c:BroadsoftDocument>
這當然是無效的 - 當代碼在Tomcat下運行時,「command」元素的xsi:類型被剝離。
有沒有人有什麼我可以做錯的建議,只有在Axis2下運行時纔會導致此類問題?起初我以爲這是一個Tomcat問題,但是在創建通用servlet並運行完全相同的代碼之後,我沒有任何問題。我嘗試過使用XMLBeans的XMLOptions,但似乎無法解決問題。我目前使用的選項有: