En este breve tutorial, mostraré los pasos necesarios para consumir un web service de una clase personalizada en Salesforce, con la herramiente SOAP UI.
Primero descargaremos el wsdl enterprise (recuerda descargar el WSDL del sandbox requerido), buscando en el menú de configuración lo siguiente:
Código personalizado / API, luego ir a la sección WSDL de compañia y guardarlos como entreprise.wsdl (puede ser otro nombre)
A continuación los pasos para importar el archivo enterprise.wsdl en SOAP UI:
1.- Crear un proyecto (New project SOAP) en SOAP UI
2.- Dar clic en Browse
3.- Seleccionar el archivo enterprise.wsdl
4.- Nombrar el proyecto en SOAP UI, aquí muestro el prefijo que uso:
5.- Así queda la estructura del proyecto del archivo enterprise.wsdl
6.- El método que nos interesa, es login, lo expandimos (símbolo +) damos doble clic sobre Request1, y proporcionamos el usuario de salesforce que se usará para llamar a los métodos que serán expuestos mediante SOAP.
Es importante colocar en la etiqueta urn:password, la contraseña + token del usuario, todo junto sin espacios.
7.- Una vez proporcionado el usuario y la contraseña + token, damos clic en el icono RUN (triangulo verde), y tendremos que ver una respuesta como la siguiente:
La siguiente fase, es descargar el WSDL de nuestra clase que creamos, que contiene los métodos que se van a exponer al cliente, para crear OTRO proyecto SOAP.
1.- Ir a configuración en Salesforce, buscar clases, y descargar el WSDL de la clase que deseamos consumir mediante SOAP, en este caso la clase que creé se llama STA_WS_ExternoToSF
2.- Una vez descargado, repetimos el mismo paso, para crear otro proyecto SOAP, cargando el nuevo archivo WSDL y nombramos al proyecto con el nombre que desees. (De preferencia que tenga un sufijo que indique de que SANDBOX fue descargado dicho archivo)
3.- En el nuevo proyecto SOAP, buscamos el método que queremos consumir, en este caso, el método que cree fue upsertCliente (así nombré el método el cual inserta o actualiza) y con el sessionId obtenido en la respuesta del método login, lo colocamos como en la siguiente imagen.
En la etiqueta <sta:xml> colocamos el xml que recibirá el método, importante que este envuelto en <![CDATA[ xxxxx ] ]>