0

我必须使用远程 SOAP Web 服务,其中一些字段是字符串,在许多情况下包括重音符号 (á é í ó ú),因为它是西班牙语文本。

发生的情况是,当这些字符串有一个带重音符号的字母时,“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 来生成存根……我完全不知道是什么原因造成的。

有任何想法吗?

4

1 回答 1

0

在到达客户端肥皂堆栈之前,使用网络监视器查看两个响应是否相同。

如果您使用 Eclipse,您可以使用它的内置TCP/IP 监视器来查看网络连接上的原始数据流。

如果在那个低级别上的响应不同,请责怪网络服务提供商,并出示您的证据。如果没有,那就太丢脸了。;-)

于 2012-12-06T15:31:23.993 回答