Recientemente se me ha encargado la tarea de hacer que un servidor WMS escrito a medida sea utilizable con clientes y aplicaciones más recientes como QGis.
El servidor original fue escrito hace años por una consultora en C++ que ya no está en activo.
Mi cliente, los propietarios de dicho servidor personalizado en el momento en que se escribió, nunca obtuvo el código fuente del producto, y es una aplicación bastante especializada (se conecta a sistemas de bases de conocimiento personalizadas en todos sus sistemas), por lo que una simple reescritura está fuera de cuestión.
El mayor problema es que en su momento se construyó para utilizar una versión muy, muy temprana de OpenLayers (o similar) y entregar las imágenes del mapa en una interfaz de usuario basada en un navegador bastante simple.
Debido a la naturaleza personalizada de todo, todo lo que los creadores implementaron fue la llamada al servicio "GetMap", y no la llamada "GetCapabilities".
Debido a esto, aplicaciones como QGis y Esri se niegan a hablar con el servidor, y muchos de los kits de herramientas con los que estoy familiarizado como SharpMap y MapWindow tampoco me permiten usarlo como fuente WMS.
He estado buscando en el uso de MapProxy para actuar potencialmente como un ir entre que proporcionará un documento de tapas, pero obtener sus azulejos a través de llamadas normales WMS al servidor personalizado, pero no tengo experiencia con MapProxy así que no sé si eso resolvería mi problema.
En este momento, voy a tener un juego con "MapServer" y ver si yo podría ser capaz de construir un archivo de mapa personalizado para utilizar para pasar a través de, en su defecto estoy pensando que podría tener que construir un servidor independiente que se ve como un servicio WMS regular a las aplicaciones cliente, pero detrás de las escenas proporciona esencialmente un hecho en el lugar caps doc y utiliza peticiones HTTP directas para obtener azulejos para pasar a través.
¿Se puede configurar MapProxy para que utilice WMS como fuente, pero sin un documento de capacidades?
He estado leyendo los documentos de MapProxy, y no hay nada en la sección WMS que aborde esta cuestión.
Actualización
Todas las grandes respuestas hasta el momento, he intentado el enfoque MapProxy, y aunque funcionó, era un poco pesado ir en la máquina virtual que se estaba ejecutando fuera de.
El proxy se implementa como una instancia virtual situada entre el servidor real y los nuevos clientes.
La instalación de aplicaciones Java en el servidor real como he descubierto es un no / no, así que cualquier Java tiene que estar en una máquina virtual, lo que me deja con un Apache2 estándar y ya instalado MapServer binario en el servidor real, por lo que mi enfoque actual es en realidad aprovechar MapServer-cgi para hablar con el servicio personalizado en el mismo cuadro.
De hecho, me preguntaba si podría hacer que mapserver ofreciera las imágenes que ofrecía el servidor personalizado, pero no ha sido así, ya que los desarrolladores originales han codificado los gráficos de alguna forma extraña.
El antiguo servidor era definitivamente un caso de, si quieres hacer algo a esto en el futuro, vas a tener que llamarnos para hacerlo tipo de implementación :-(
Sin embargo, todavía estoy probando diferentes enfoques, por lo que es posible que haya algunas actualizaciones más.
Actualización final
Así que en realidad terminó teniendo que ir la costumbre MapFIle con MapServer ruta, es un poco lento, pero funciona y funciona bien, al menos por el momento, hasta que podamos construir un servidor completley nuevo para reemplazarlo.
Dado que inicialmente hice esta pregunta
" ¿Se puede configurar MapProxy para que utilice WMS como fuente, pero sin un documento de capacidades? "
Voy a marcar la respuesta de @jgrocha como la respuesta a la pregunta, ya que respondió a la Q directamente, y como lo he probado después, y me habría funcionado si me hubieran permitido usar Java, entonces lo más probable es que hubiera ido con esa respuesta.