Tengo que burlarme del servicio web de Java bastante complicado y estoy buscando la solución adecuada. Una forma de hacerlo sería usar la interfaz de usuario de Soap, pero necesito algo que pueda modificar el estado del servidor, es decir. una solicitud afectaría solicitudes futuras.La mejor manera de burlarse del servicio web de Java
En este caso particular, podría hacerse rápidamente guardando los objetos serializados en el disco y generando a veces respuestas asíncronas al servicio web del cliente de origen.
Esos dos requisitos me impiden usar SoapUI; la lógica groovy se volvería bastante complicada y probablemente difícil de mantener.
Mis preguntas:
1) ¿Hay otras ventajas soapUI en este contexto (por ejemplo, una fácil migración a la nueva versión de WSDL) sobre la aplicación java personalizada simulada.?
2) ¿Cuál sería la forma más adecuada de generar el servicio web desde wsdl y aún así ser capaz de conectarlo con alguna funcionalidad personalizada, es decir. adjuntando algunos ganchos que se podrían editar en archivos separados (para facilitar la regeneración del código ws a partir de wsdl actualizado)?
También debería tener en cuenta que el simulacro no es solo para fines de prueba y debe dejar al cliente como está, es decir. tiene que haber una comunicación http regular, solo los cambios en el punto final. Así que supongo que burlarse del marco no funcionará en este caso. – aaimnr
Si está hablando de pruebas de integración, trataría de reflejar su entorno de producción lo más fielmente posible y usaría el servicio web real en una base de datos UAT/QA. Si el servicio web no está bajo su control, entonces considere crear datos de "prueba" que use durante sus pruebas.En mi humilde opinión, la creación de un 'simulacro'/stub del servicio web le da una falsa sensación de seguridad porque su 'simulacro' se basa en sus suposiciones sobre cómo se comportará el servicio web. Esto está bien en las pruebas unitarias, pero para una prueba de integración completa debe usar el real para asegurarse de que funciona. –
No es realmente una prueba de integración, más bien piense en usarla con fines de capacitación. Dado que los servicios web que utiliza el frontend son realmente difíciles de reflejar (muchos datos confidenciales) es más fácil crear un simulacro ligero, pero lo suficientemente inteligente como para mantener el estado y, por lo tanto, proporcionar la posibilidad de escenarios de entrenamiento lógico. – aaimnr