Buscar en el Blog

viernes, 22 de mayo de 2015

Cómo invocar a un servicio web SOAP usando curl

En ésta publicación explico el procedimiento para invocar un Servicio Web SOAP usando la herramienta de línea de comandos curl.

Para probarlo voy a invocar un servicio web de WebserviceX.NET para obtener la tasa de conversión de monedas (CurrencyConvertor) entre USD y EUR

1. Crear un archivo XML con el contenido de la petición (Request) que se hará al servicio web. En mi caso lo llamaré request.xml con el siguiente contenido:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:ConversionRate>
         <web:FromCurrency>USD</web:FromCurrency>
         <web:ToCurrency>EUR</web:ToCurrency>
      </web:ConversionRate>
   </soapenv:Body>
</soapenv:Envelope>
2. Para invocar el servicio web usando la petición XML (Request) guardada en el archivo, ejecutar el siguiente comando:
curl -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction:"  -d @request.xml -X POST http://www.webservicex.net/CurrencyConvertor.asmx -o response.xml
Sí se desea almacenar la respuesta (Response) del servicio web en un archivo usar el argumento -o seguido del nombre del archivo (response.xml)

viernes, 5 de septiembre de 2014

Cómo deshabilitar el modo gráfico en un servidor CentOS

En ésta publicación explico el procedimiento para deshabilitar el modo gráfico en una distribución de GNU/Linux: RedHat, CentOS o Fedora.

1) Editar el archivo /etc/inittab
nano /etc/inittab

2) Cambiar el valor del id 5 al valor de 3 como se muestra a continuación
id:3:initdefault:

El archivo deberá tener un contenido similar al siguiente:
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#

id:3:initdefault:

martes, 26 de agosto de 2014

Cómo asociar una instancia de Vagrant pre-existente

En ésta publicación, explico el procedimiento para asociar una instancia de Vagrant preexistente nuevamente.

Estuve realizando unas pruebas y sucedió que mi configuración de Vagrant fue eliminada y al correr

vagrant status

Obtenía el mensaje de que no tenía ninguna máquina de Vagrant configurada, a pesar de que había creado y provisionado la instancia usando los comandos de Vagrant.

Current machine states:


default                   not created (virtualbox)



The environment has not yet been created. Run `vagrant up` to

create the environment. If a machine is not created, only the

default provider will be shown. So if a provider is not listed,

then the machine is not created for that environment.

Para resolver éste error se tiene que realizar lo siguiente:

1) Sí se está usando VirtualBox, ejecutar el siguiente comando para conocer el ID de la máquina Virtual que se desea asociar

VBoxManage list vms

Por ejemplo: se mostrará algo similar a lo siguiente:

"nombreMaquinaVirtual" {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

2) Dentro del directorio dónde se tiene el archivo Vagrantfile, ir al directorio .vagrant/machines/default/virtualbox y crear el archivo id. En el archivo colocar el ID de la máquina virtual

cd .vagrant/machines/default/virtualbox
nano id

NOTA: el archivo id deberá tener como contenido

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

3) Ejecutar vagrant up para iniciar nuevamente la instancia y listo!!!

viernes, 22 de agosto de 2014

Cómo instalar pip y virtualenv para Python en Mac OS X

En ésta publicación explico el procedimiento para instalar pip en el sistema operativo Mac OS X y virtualenv que permite crear ambientes aislados de Python.

Mac OS X trae instalado por defecto Python, pero es importante instalar pip (Python Package Index) que es un gestor de paquetes de Python y virtualenv que permite tener ambientes de Python aislados con diferentes versiones de paquetes.

Instalación de pip.-

1. Abrir un consola de comandos (Terminal)
2. Descargar el archivo get-pip.py del siguiente link https://bootstrap.pypa.io/get-pip.py

wget https://bootstrap.pypa.io/get-pip.py


3. Ejecutar el siguiente comando:

python get-pip.py


Instalación de virtualenv.-

1. Ir al directorio del proyecto dónde se desea crear el ambiente virtual (virtualenv) y en la consola de comandos (Terminal) ejecutar el siguiente comando:

pip install virtualenv

2. Para activar el ambiente virtual (virtualenv)

source venv/bin/activate

3. Para desactivar el ambiente virtual, ejecutar:

deactivate

Instalación de dependencias.-

1. Crear el archivo pip-requires.txt en la raíz del proyecto

Django==1.6

2. Con virtualenv activado, ejecutar el siguiente comando para instalar las dependencias

pip install -r pip-requires.txt

viernes, 11 de abril de 2014

Keystore Explorer Herramienta para Lidiar con Certificate Chain

Después de un montón de prueba y error intentando instalar el chain de certificados intermedios y raíz (root) para una autoridad de certificación (CA) y sin éxito, me encontré con ésta herramienta:

Keystore Explorer
http://keystore-explorer.sourceforge.net/

Me parece excelente y logró ayudarme a realizar lo que buscaba, la recomiendo al 100%