我目前正在开发Java中的一个组的 Web服务的的,主办的的Axis2 的跑过来的的WebLogic 的10.3.0。这些 web服务接收和返回的SOAP消息。

正如我上有一个聚集环境的的WebLogic ,我想具有的WebLogic 的服务器名(I使用配置的一个在管理控制台)在响应消息体返回。有没有什么办法可以做到这一点编程方式或通过对配置的管理控制台的?

在此先感谢您的帮助解决了这一点!

有帮助吗?

解决方案

您可以通过类似这样的本地主机获取服务器的名称:

String hostname = InetAddress.getLocalHost().getHostName();

<强>更新

上面的返回它运行在,所以它会给web服务主机的名称服务器的名称。

如果您需要在Web服务的前端服务器的名称,你可以得到从请求:

String hostname = request.getRemoteHost();

应达到目的。要注意的是远程主机名是什么套接字客户端用来建立连接,这不需要DNS名称。如果您需要DNS名称,你可以使用:

String hostname = InetAddress.getByName(request.getRemoteAddr()).getHostName();

<强>更新2

如果你的意思是不相关的服务器(溶液1)是转发代理(溶液2),而是一种逻辑群集名称,你可以定义在web.xml作为上下文参数:

<context-param>
    <param-name>clustername</param-name>
    <param-value>OurPrettyCluster</param-value>
</context-param>

和读取在servlet:

ServletContext context = getServletContext();
String clustername = context.getInitParameter("clustername");

如果这也没有帮助,你需要更新你的问题,并描述您的群集配置,因为与给定的没有多少可以做更多的信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top