从 JBoss EAP 4.3 调用 Web 服务时出现 504
504 when calling a webservice from JBoss EAP 4.3
背景
我有一个 Web 服务,其中 returns 一个用户列表和每个用户的一些值。
这些值之一是通过 PUT 请求从 Cisco Unified Presence (CUP) 服务器检索的。
我正在使用球衣将 PUT 请求从我的网络服务发送到 CUP 服务器。
问题
当我在 JBoss 中 运行 向 CUP 服务器发送 PUT 请求时,我收到“504 网关超时请求 URL 无法解析”错误。
当我从我的命令行 运行 相同的代码时,它起作用了。
这是我的 JBoss EAP 4.3 配置的问题吗?
如果是,我该如何解决?
一些代码
这是我用来发送 PUT 请求的代码:
final Client client = Client.create();
final ClientResponse clientResponse;
final String requestBody = "<?xml version=\"1.0\"?><session><password>thepassword</password></session>";
final WebResource webResource = client.resource("http://host:8082/presence-service/users/username/session");
final WebResource.Builder webResourceBuilder;
webResourceBuilder = webResource.accept(MediaType.TEXT_XML_VALUE);
webResourceBuilder.type(MediaType.TEXT_XML_VALUE);
clientResponse = webResourceBuilder.put(
ClientResponse.class,
requestBody);
解决方案:我将目标主机添加到 conf/local.properties 文件中的 http.nonProxyHosts 值。
讨论:JBoss 似乎试图用外部 DNS 服务器解析主机名,但我正在测试的主机名仅在内部可见,对 DNS 服务器不可见有问题。
背景
我有一个 Web 服务,其中 returns 一个用户列表和每个用户的一些值。 这些值之一是通过 PUT 请求从 Cisco Unified Presence (CUP) 服务器检索的。 我正在使用球衣将 PUT 请求从我的网络服务发送到 CUP 服务器。
问题
当我在 JBoss 中 运行 向 CUP 服务器发送 PUT 请求时,我收到“504 网关超时请求 URL 无法解析”错误。 当我从我的命令行 运行 相同的代码时,它起作用了。 这是我的 JBoss EAP 4.3 配置的问题吗? 如果是,我该如何解决?
一些代码
这是我用来发送 PUT 请求的代码:
final Client client = Client.create();
final ClientResponse clientResponse;
final String requestBody = "<?xml version=\"1.0\"?><session><password>thepassword</password></session>";
final WebResource webResource = client.resource("http://host:8082/presence-service/users/username/session");
final WebResource.Builder webResourceBuilder;
webResourceBuilder = webResource.accept(MediaType.TEXT_XML_VALUE);
webResourceBuilder.type(MediaType.TEXT_XML_VALUE);
clientResponse = webResourceBuilder.put(
ClientResponse.class,
requestBody);
解决方案:我将目标主机添加到 conf/local.properties 文件中的 http.nonProxyHosts 值。
讨论:JBoss 似乎试图用外部 DNS 服务器解析主机名,但我正在测试的主机名仅在内部可见,对 DNS 服务器不可见有问题。