【问题标题】:Strange nulls appended to SOAP response附加到 SOAP 响应的奇怪空值
【发布时间】:2012-12-06 14:36:25
【问题描述】:

我必须使用远程 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 来生成存根……我完全不知道是什么原因造成的。

有什么想法吗?

【问题讨论】:

    标签: java soap axis2


    【解决方案1】:

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

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

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

    【讨论】:

    • 我们使用了 SOAP UI 并且响应没有空值。这就是为什么我们认为这是我们的问题,而不是提供者
    • 所以您的意思是“在两台不同的计算机上使用 SOAP Web 服务”而不是“在两台不同的计算机上使用 SOAP Web 服务”?
    • 对不起。我对介词有一些疑问。我坐在计算机 A 上,我的 webapp 使用该服务:一切正常。我将 webapp 的战争上传到客户端的 QA 服务器,它使用服务:nulls
    • 我也有这种语言的问题。抱歉,如果不深入了解基础架构设置的详细信息,我想我无法在这里为您提供帮助。大致看起来像一个字符集转换问题,虽然我从来没有以这种方式看到它(nulls 开头)。空值指向打印的空对象,就像在 XML 中一样,我将指向 Web 服务提供者。也许他正在打印它,因为您的客户的请求在两个系统上都不同。检查您的字符集转换,也许。然后创建一个新问题,提供有关基础架构的更多详细信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    相关资源
    最近更新 更多