OK, estoy desarrollando un programa que se implementará en muchas máquinas (Windows, Linux, AIX, z/Linux, openVMS, etc.). Quiero que esa aplicación contenga un servicio web SOAP, pero no quiero agrupar tomcat o ejecutar un servicio separado para los servicios (los quiero en el mismo proceso que el resto de la aplicación).Servidor de servicio SOAP en proceso para Java
Básicamente lo que estoy buscando es algo en lo que puedo definir una clase (digamos WebServices
). Estoy bien escribiendo WSDL o cualquier otro tipo de descripción de servicio también. El deseo algo como esto:
SOAPServer server = makeMeASoapServer();
//do config on the server
server.add(new WebService(...));
server.listen(port);
Obviamente los nombres y parámetros serán diferentes.
He estado buscando en Axis, y parece que proporciona esto, pero no sé qué clases necesito usar. ¿Estoy loco por querer este tipo de comportamiento? No puedo creer que más personas no estén buscando esto, lo hago todo el tiempo con servicios web integrados dentro de clientes .NET.
¿Por qué querrías hacer esto? La * única * buena razón para SOAP es la comunicación entre aplicaciones: ¿por qué querría que su aplicación se comunicara a través de SOAP? – skaffman
Leo esto programáticamente cargando diferentes servicios en el servidor para que los clientes externos puedan llamar. Aún así lo haría en un archivo de configuración, en lugar de hacerlo así. –
Obviamente no está hablando solo. El comando de escucha debe hacer que escuche en un puerto, el servidor aceptará el HTTP, analizará el XML y reenviará la llamada al método correcto con parámetros y otras cosas. La razón por la que deseo esto es porque el servicio web es una pequeña parte de la aplicación, pero necesita interactuar con el resto de la aplicación. Además, no quiero agregar 2 programas en ejecución cuando puedo agregar 1 (especialmente cuando necesitan comunicarse entre ellos). – tster