Pergunta

Atualmente estou desenvolvendo um conjunto de serviços web em Java, para hospedar Eixo2 correndo WebLogic 10.3.0. Esses serviços web receber e retornar mensagens de sabão.

Como eu tenho um agrupado ambiente em WebLogic, Eu gostaria de ter o WebLogico nome do servidor (aquele que eu configurei usando o Console de administração) devolvido no corpo da mensagem de resposta. Existe alguma maneira de fazer isso programaticamente ou por configuração no Console de administração?

Agradecemos antecipadamente por sua ajuda para resolver isso!

Foi útil?

Solução

Você pode obter o nome do servidor via localhost como este:

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

Atualizar

O acima retorna o nome do servidor em que ele é executado, para que ele daria o nome do host do WebService.

Se você precisar do nome do servidor na frente do serviço da web, poderá obter isso da solicitação:

String hostname = request.getRemoteHost();

deve fazer o truque. Cuidado com o nome do host remoto é o que o cliente de soquete usou para configurar a conexão, esse não precisa ser o nome do DNS. Se você precisar do nome do DNS, pode usar:

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

Atualização 2

Se o que você quer dizer não está relacionado ao servidor (solução 1) ou a um proxy de encaminhamento (solução 2), mas um tipo de nome de cluster lógico, você pode defini -lo no seu web.xml como parâmetro de contexto:

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

E leia isso em seu servlet:

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

Se isso também não estiver ajudando, você precisa atualizar sua pergunta e descrever sua configuração de cluster, porque com as informações fornecidas não muito mais podem ser feitas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top