我有一個奇怪的問題。在下面的代碼中,我創建了一個簡單的元素數組x,以及一個簡單的變量y。在數組的情況下,我將第一個元素的值設置爲某些文本,就像我對變量所做的那樣。當我嘗試使用logger.info輸出文本時,出現一個錯誤,我沒有得到這個變量。我正在使用歡樂連接3.3.1.7856。歡樂連接錯誤:「...不是xml對象」當試圖從數組輸出文本
代碼如下。請注意,這是整個通道中的唯一代碼,全部在單個源變換器步驟中。
var x = [];
x[0] = 'abc';
var y = 'xyz';
logger.info('y: ' + y.toString());
logger.info('attachmentLength: ' + x.length);
logger.info.(x[0].toString());
前兩個「logger.info」命令工作得很好。但是,在嘗試執行最後一個時,會記錄下面的錯誤。
源代碼如下:
170: var x = [];
171: x[0] = 'abc';
172: var y = 'xyz';
173: logger.info('y: ' + y.toString());
174: logger.info('attachmentLength: ' + x.length);
175: logger.info.(x[0].toString());
176: if ('xml' === typeof msg) {
177: if (msg.hasSimpleContent()) {
178: msg = msg.toXMLString();
179: }
LINE NUMBER: 175
DETAILS: TypeError: function info() {/*
void info(java.lang.Object,java.lang.Throwable)
void info(java.lang.Object)
*/}
is not an xml object.
通知書線176-179不是我的腳本的一部分。這是歡樂加入的東西。
幾個星期前,我有另一個問題,其中一個變量被視爲一個Java變量而不是一個Javascript變量。解決方案是對變量做一些事情,使其成爲Javascript而不是Java變量。不幸的是,我不記得有關該問題或解決方案再次找到它,或者甚至在我的代碼中找到我所做的更改。也許這是我可以在這裏嘗試的。
難道數組被視爲Java數組而不是Javascript數組?如果是這樣,我可以「強制」它是一個JavaScript數組,不知何故?
還有一點要注意 - 所有數據類型(包括源連接器數據類型)都設置爲「原始」,這意味着任何應用程序都不需要任何源數據以任何特定格式(包括XML)。
我完全喪失瞭如何解決這個問題。任何援助將不勝感激。
感謝,
MMall
哇!好的。我現在感到很傻。就是這樣。謝謝。 –
幾乎不可能看到你自己的錯字:) – LeeCambl