Servlet spring-servlet no está disponible (Spring + BlazeDS Integration)
-
05-07-2019 - |
Pregunta
Estoy tratando de configurar un proyecto de Flex utilizando la integración de Spring + BlazeDS trabajando a través de la refcard publicada amablemente por James Ward en refcards.dzone.com.
Algunos problemas / desafíos están sobresaliendo. La implementación de Tomcat va bien, todos los archivos están en el servidor y puedo invocar main.swf a través del navegador.
Obtengo la siguiente excepción de ActionScript cuando intento realizar la solicitud de AMF a Spring / BlazeDS:
RPC Fault faultString = " Falló el envío " faultCode = " Client.Error.MessageSend " faultDetail = " Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Error: url: ' http: // localhost: 8080 / blazeds / spring / messagebroker / amf ' " ;
Al colocar el " Error: url: " URL directamente en el navegador, Tomcat muestra el siguiente mensaje de error:
Estado HTTP 404 - Servlet Spring MVC Displeter Servlet no está disponible
He configurado todos los archivos como James Ward instruido en su refcard, application-config.xml, web.xml y services-config.xml que están en orden hasta donde puedo ver.
¿Alguna idea sobre lo que estoy arruinando?
PS: Estoy notando pequeños cambios en términos de la refcard de James y el lanzamiento estable de la integración. ¿Hay algo que cambió después de la versión M2 que podría morderme por detrás?
Solución 3
Voy a responder mi propia pregunta, todo se reduce a que yo sea el tonto. Allí donde se encuentran algunos .jars que no incluí en mi carpeta WEB-INF / lib. ¡Los copié de la unidad de prueba de integración de blazeds + spring y eso solucionó mi problema!
Otros consejos
Tengo el mismo problema y lo solucioné agregando backport-util-concurrent.jar y cfgatewayadapter.jar de prueba-unidad-muestra de integración flex-spring, gracias josamoto por tu publicación, finalmente la integración funciona bien.
saludos
Si sigue la tarjeta de referencia, su URL será http: // localhost: 8080 / dzone-server / spring / messagebroker / amf . La raíz de contexto en la tarjeta de referencia es dzone-server.
El paso clave es asegurarse de que la URL anterior coincida con la url del punto final definida en services-config.xml. Entonces, el punto final coincidente para la URL anterior sería:
<endpoint url="http://{server.name}:{server.port}/{context.root}/spring/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
Nota: este es casi el valor predeterminado que se agrega al crear un nuevo proyecto flex en Flex Builder, excepto que se ha agregado spring a la URL del punto final.