gpt4 book ai didi

java - 使用 CXF 测试 Web 服务连接

转载 作者:行者123 更新时间:2023-11-30 09:28:03 27 4
gpt4 key购买 nike

我有一个通过 Swing 客户端使用的 CXF 网络服务。首先,我创建了一个 JaxWsProxyFactoryBean,然后我创建了 JAX WS 代理。此时,我想测试一下客户端是否可以正常向web服务发送消息。我知道 HTTP 是一种无状态协议(protocol),因此它在其层不使用任何连接。到目前为止,我一直使用 Web 服务定义的 ping() 方法来让客户端测试连接。

正确的做法是什么?我不认为向 API 添加虚拟方法只是为了允许测试连接性是最好的解决方案。有没有一种 CXF 方法可以通过代理来做到这一点?

谢谢

最佳答案

您有几个选择:

  1. 我假设您的网络服务是 SOAP 网络服务,那么您可以为 WSDL 文档发出 HTTP HEAD 请求。
  2. 在网络服务中实现特殊的“ping”操作 (SOAP)。 (可能你已经有了)

如果您选择第一个选项 - 发出 HTTP HEAD 请求,您可以使用以下代码来实现:

public static boolean exists(String webServiceUrl){
try {
HttpURLConnection.setFollowRedirects(false);
HttpURLConnection connection = (HttpURLConnection) new URL(webServiceUrl).openConnection();
connection.setRequestMethod("HEAD");
return connection.getResponseCode() == HttpURLConnection.HTTP_OK;
} catch (Exception e) {
return false;
}
}

如果您要对您的网络服务执行 HEAD 请求,这意味着该网络服务是可访问的。

关于java - 使用 CXF 测试 Web 服务连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14237799/

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