2012-12-06 37 views
0

我必須使用遠程SOAP Web服務,並且它的一些字段是字符串,在許多情況下字符串包含重音符(áéíóú),因爲它是西班牙文本。奇怪的空值附加到SOAP響應

發生什麼事情是,當這些字符串有一個帶重音符的字母時,「null」被追加到字符串的開頭。我得到了與字符串所具有的突出字母一樣多的空值。例如:

<tag_x>nullme gusta esa canción</tag_x> (1 accent - 1 null) 

<tag_y>nullnullnullmás información sobre la posición</tag_y> (3 accents - 3 nulls) 

<tag_z>sin acentos</tag_z> (no accents - no nulls) 

最令我感到困惑的是,我消耗從兩個不同的計算機上的SOAP Web服務的事實,我得到的空值在一種情況下,而不是在其他。

我構建請求,發送它,當我得到響應時,立即打印它。在一個環境中,我得到了空值,在一個環境中我沒有。在這兩種情況下,我們都使用Java 1.6,axis2來生成存根......我完全不知道可能導致這種情況的原因。

任何想法?

回答

0

使用網絡監視器查看兩個響應在到達客戶端soap堆棧之前是否相同。

如果您使用Eclipse,則可以使用它的內置TCP/IP monitor來查看網絡連接上的原始數據流。

如果回答在這個低級別上有所不同,請blaim Web服務提供商,以顯示您的證據。 如果沒有,對你感到羞恥。 ;-)

+0

我們已經使用SOAP UI,並且響應沒有空值。這就是爲什麼我們認爲這是我們的問題,而不是提供者 – Alex

+0

所以你的意思是'在兩臺不同的計算機上使用SOAP Web服務**'而不是'從兩臺不同的計算機使用SOAP Web服務**' –

+0

I對不起,我有一些介詞問題,我坐在計算機A上,我的webapp使用服務:一切正常。我將webapp的war上傳到客戶端的QA服務器,它使用服務:nulls – Alex