gpt4 book ai didi

java - 带有字符 ^ 的 SOAP MalformedURLException

转载 作者:行者123 更新时间:2023-12-01 12:52:28 25 4
gpt4 key购买 nike

我必须使用 SOAP 调用 Web 服务,而 URL 中恰好有 ^。 URL 具有以下结构

String url = "http://sampleurl.com?type=entry&version=1.0&Sender.Service=SenderService&Interface=sampleurl/ABC^ServiceRequest";

这给了我以下异常:

com.sun.xml.messaging.saaj.util.JaxmURI$MalformedURIException: Query string contains invalid character:^
11:47:10,670 ERROR [STDERR] at com.sun.xml.messaging.saaj.util.JaxmURI.initializePath(JaxmURI.java:690)
11:47:10,670 ERROR [STDERR] at com.sun.xml.messaging.saaj.util.JaxmURI.initialize(JaxmURI.java:407)
11:47:10,670 ERROR [STDERR] at com.sun.xml.messaging.saaj.util.JaxmURI.<init>(JaxmURI.java:194)
11:47:10,670 ERROR [STDERR] at com.sun.xml.messaging.saaj.util.JaxmURI.<init>(JaxmURI.java:178)
11:47:10,670 ERROR [STDERR] at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSOAPConnection.java:254)

令我困惑的是,即使我将 ^ 放入 URL 中,使用 SOAP UI 调用 Web 服务也会给我一个正确的答案。

如果我在应用程序或 SOAP UI 中将插入符转义为 %5e,则 Web 服务会响应 “消息不完整。找不到发件人”,因此看起来^ 必须存在。

知道如何将 ^ 放入 URL 中而不引发异常吗?

最佳答案

URL 中不允许使用 ^ 字符,可能 SOAPUI 正在为您编码 URL。我认为大小写表示对于 URL 转义字符很重要,请尝试使用大写 %5E 而不是小写 %5e

编辑:

我只是尝试在本地主机上配置 TCP 监视器,并从 SOAPUI 向 http://localhost:8091?type=entry&version=1.0&Sender.Service=SenderService&Interface=sampleurl/ABC^ServiceRequest 发出 SOAP 请求。在 TCP 监视器中,我看到 %5E 而不是 ^,因此 SOAPUI 似乎正确编码了 URL,您可以在下图中看到这一点:

enter image description here

希望这有帮助,

关于java - 带有字符 ^ 的 SOAP MalformedURLException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24117897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com