 Tutoriales
El API Apache SOAP v2.2
Escribir Servicios RPC
Servicios RPC
Escribir un servicio SOAP basado en RPC es muy trivial y realmente sólo implica los dos siguientes pasos:
- Crear un código de artefacto que sea soportado por uno de los proveedores de Apache SOAP;
una clase estandard Java (incluyendo Java Beans,) un EJB, o un BSF que soporte scripts. El código del artefacto no tiene porque saber nada sobre Apache SOAP, mientras que simplemente expongamos un método o una función script que exista dentro del artefacto. Por ejemplo, si creamos una clase Java que tenga un método llamado add(), podriamos exponer este método como un servicio SOAP. Se pueden exponer varios metodos para un sólo servicio, como se describe en la siguiente sección.
Observa que los parámetros de nuestro método/función deben ser serializados por SOAP, y también deben existir dentro del registro de mapeo SOAP. Para ver información sobre la creacción de mapeos de tipos, mira aquí.
- Crear un descriptor de despliegue Apache SOAP para nuestro servicio.
El descriptor de despliege proporciona a la implementación la información necesaria para manejar las solicitudes para un servicio ofrecido. Para una implementación de servicio Java, esto incluye información como el nombre de la clase que proporciona la implementación, así como el nombre de los métodos que van a ser expuestos. Puedes encontrar más información sobre los descriptores de despliegue aquí.
En una implementación de servicio basado en Java, podríamos lanzar una SOAPException para indicar que ha ocurido algún error cuando se procesó la solicitud. Lanzar una SOAPException(FAULT_CODE_CLIENT, ...) permitirá a nuestra implementación de servicio indicar que el fallo fué debido a un error de cliente, mientras que lanzar una SOAPException(FAULT_CODE_SERVER, ...) indicará que nuestra implementación de servicio fue el causante deñ fallo (Si lanzamos cualquier otro tipo de excepción, el servidor la capturará, y la pasará a un SOAPException(FAULT_CODE_SERVER, ...)). Ver la especificación SOAP v1.1 para más información sobre fallos SOAP.
|
|
|