以下是方案 - 我們使用Java從Cisco ips(SDEE服務器)提取數據。它是一個正常的Web請求,我們正在使用HttpsURLConnection。響應採用XML形式。避免XML響應中的名稱空間(標籤)
我們有一個UI(web應用程序),可以觸發作業來提取數據;我們還有一個獨立的實用程序,也可以觸發作業來提取數據。因此,兩種情況下從sdee服務器檢索數據的代碼都是相同的。使用Quartz來安排工作,儘管這裏的信息並不重要。
現在的問題 - 當用戶界面觸發作業時,我們得到預期的XML,沒有問題。但是,當使用該實用程序觸發作業時,我們會得到相同的xml,但其標籤中包含名稱空間。
< [ 'http://example.org/2003/08/sdee ']:SD:evIdsAlert EVENTID =' 123' 供應商='思科嚴重性= '低'> < [' http://example.org/2003/08/sdee ']:SD:始發>
[' http://example.org/2003/08/sdee「] - 這是我們正在得到的額外的東西。我們不希望這在XML中。
任何有助於確定此根目錄將不勝感激。由於代碼相同,我懷疑可能是一些環境設置正在影響響應,不知道是什麼?
請讓我知道,如果我需要任何額外的信息。
代碼的某些部分(即我們使用),只爲參比
// get the connection
connection = (HttpsURLConnection) url.openConnection();
// get the reader
new BufferedReader(new InputStreamReader(connection.getInputStream()));
// read response line by line and dump it to the file
的代碼非常簡單 - 一個標準拉使用HTTP(S)數據。