Arquivo

Archive for maio \03\UTC 2011

Mostrar Log do Weblogic no Browser

05/03/2011 5 comentários

Em ambientes de grandes empresas os servidores de desenvolvimento/ homologação/ produção sempre temos problemas para o desenvolvedor ter acesso aos arquivos de logs do Application Server e da aplicação, na maioria das vezes estão em um local em disco no qual o desenvolvedor não tem acesso de Administrador na console do weblogic para ver logs. Em uma necessidade dessas de urgência precisei de uma solução rápida e fiz uma aplicação web para resolver isso.

  1. A primeira coisa a fazer foi mapear um diretório virtual no weblogic (a mesma forma utilizada para arquivos estáticos) para onde estava os arquivos de log
    No weblogic.xml coloquei a seguinte tag:
  2. 
    <weblogic-web-app> 
        <virtual-directory-mapping> 
            <local-path>/var/logs/weblogic/Server1/logs</local-path> 
            <url-pattern>*.log</url-pattern> 
        </virtual-directory-mapping> 
    </weblogic-web-app>
    </ol>
    

    1. Depois fiz um aplicação web bem simples, apenas com uma servelt chamada LocalizarDiretorio para ler os arquivos do diretório mapeado e listar em uma página web, e mais um index.jsp fazendo um redirect para a servlet. Veja o Código da servlet:
    2. 	protected void doGet(HttpServletRequest request,
      			HttpServletResponse response) throws ServletException, IOException {
      
      		PrintWriter out = response.getWriter();
      
      		// Caminho onde esta os arquivos.
      		File f = new File("/var/logs/weblogic/Server1/logs");
      
      		// Monta o cabecario
      		out.print("<table border=\"0\" width=\"100%\" BGCOLOR=\"#EDF5FC\"> ");
      		out.print("<td><h2>Log View </h2></td>");
      		out.print("</table></br></br></br>");
      
      		// verifica se e diretorio
      		if (f.isDirectory()) {
      			String[] files = f.list();
      			
      			Arrays.sort(files); 
      
      			for (int g = 0; g < files.length; g++) {
      				// Monta a Url com o nome do arquivo de log
      				out.println("<a href=logs/" + files[g] + ">" + files[g]+ "</a> </br>");
      			}
      
      		} else {
      			out.print("Caminho configurado em disco nao foi localizado ");
      		}
      	}
      
    1. Essa aplicação foi colocada no mesmo servidor com contexto /logs Sempre que for necessário verificar o log, basta chamar a aplicação no browser Ex: http://localhost:7001/logs mostra a tela.
    1. Clicando em algum dos logs ele vai abrir diretamente no browser mostrando o conteúdo do log.
    Anúncios
Categorias:weblogic

Testar Web Service com cliente do Weblogic

Várias vezes precisamos testar um WebService mas nem sempre temos um cliente ou precisamos criar um para fazer isso. No Weblogic existe excelente cliente para um teste rápido.

  1. A instalação do weblogic sempre pergunta se você quer instalar uma versão de Desenvolvimento ou uma versão de Produção.
  2. Desenvolvimento : O servidor já tem por padrão o cliente instalado, basta chamar na seguinte URL :

    http://localhost:7001/wls_utc

    Produção : Não está instalado, e preciso pegar o pacote war que está no instalador do weblogic em: /ORACLE_HOME/WL_HOME/server/lib/wlstestclient.ear fazer o deploy da aplicação, depois do pacote instalado e rodando basta chamar na mesma URL da versão de Desenvolvimento Ex:

    http://localhost:7001/wls_utc


    Veja a Tela:

  3. Web Service : Agora vou mostrar um código de um simples web service. Não vou entrar no mérito de fazer o web service(não é o foco deste post), apenas para demostrar o consumo do weblogic.
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    
    @WebService()
    public class validaCPF {
    
        @WebMethod(operationName = "validar")
        public String validar(@WebParam(name = "cpf") String cpf) {
            
            if(cpf != null && cpf.length() == 11){
                return "Cpf Válido";
             }else{
                return "Cpf Inválido";
             }
        }    
    }
    

    O web service validaCPF que tem apenas um método valida recebendo uma String com os números do CPF, ele apenas valida se o valor não é nulo ou tem 11 caracteres, retornando uma String se é Válido ou Não . Gera o pacote, faz deploy no weblogic e pronto vamos testar.

  4. Teste :Vamos copiar o WSDL do web service para testar no cliente: No campo Enter WSDL URL:
    http://localhost:7001/cpfWS/validaCPF?wsdl 

    Clique no botão Teste e veja que o web service foi carregado. Em Operations mostra o nome do método: validar e abaixo um campo para a entrada do parâmetro do cpf

  5. Resultado: A tela seguinte mostra o resultado do consumo do web service no Service Request: Mostra o Cpf que foi passado.Service Response mostra a string com o valor retornado pelo web service.

Categorias:weblogic