2013-07-01 21 views
1

我正在使用XML-INTO操作碼解析Web服務請求。時不時地,我在日誌中XML解析器檢測到錯誤代碼302

(RNX0351 - "The XML parser detected error code 302"). 

爲302的幫助

302 The parser does not support the requested CCSID value or 
the first character of the XML document was not '<' 

據我所知得到錯誤,第一個字符是「<」,並從生成請求以前的Web服務調用,所以如果CCSID發生了變化,我會非常驚訝。

錯誤是可重複的,對於特定的查詢,所以它幾乎肯定與數據有關,我只是不確定如何去確定違規項目。

有關如何確定問題的更多信息,或者更好的解決方法?

歡呼

+0

我建議傾銷你正在處理的XML字符串 - 這樣你可以確認第一個字符是一個「<」而不是NULL,BOM或其他東西。 –

+0

該請求在處理開始時寫入IFS,並且從肥皂信封的起始處開始是「<」,無論是空白,空白還是二進制文件,據我所知。該請求是一個更新,源是緊接在同一服務器之前發生的「get」,在不同的記錄上執行類似的更新,並且它工作愉快,因此我相信它是與數據相關的。 – NZM

+0

IFS中文件的CCSID是什麼? –

回答

2

CCSID是AS400/i系列/電力系統屬性,並將其應用到整個IFS。
這就像是文件內部的聲明,換句話說,它的內部編碼是「應該是」。

假定文件中的數據內容編碼和文件1(信封)匹配,並且該框使用該屬性來顯示和處理相應的字符。

聽起來像你在一種編碼下接收數據,但是CCSID文件不匹配。

嘗試更改文件上的CCSID(僅限信封)。 E.G .: 37(美國),500(拉丁-1),819(utf-8),850(dos),1252(獲勝),並且之後顯示文件。

您可以先在QSH或QP2TERM或EDTF中使用ls -Sla yourfile進行檢查。 CHGATTR允許您更改CCSID以及QSH中的setccsid(再次)。

這種方式幫助我找到相關問題。請記住,儘管數據可能在四百個中可見,但它們可能無法通過Win中的共享文件夾查看。這意味着CCSID文件,內容編碼不匹配。

希望它有幫助。