Esto tiene una explicación, OB en la instalación te pide la ip/dominio del servidor donde lo estás montando y en base a este va a montar las url para un montón de cosas por ejemplo para las rutas de las imágenes. El problema viene cuando no hay una coherencia entre lo que pusiste en la instalación y el contexto de la red ip o dominio donde te encuentras y me explico. Si tu pones una ip privada típica de clase C y estás en esa misma red funcionará pero si por ejemplo pusiste localhost que es el valor por defecto OB montará las url en base a localhost (localhost/loquesea/imagen.jpg) si atacas al servidor desde esa misma máquina no hay problema porque se resolverá bien pero cuando lo ataques desde otra máquina esas urls montadas en base a localhost fallarán. Si pusiste una ip privada pero atacas por dominio desde una red pública, pongamos internet esas url se montarán a partir de la red privada (192.168.2.132/loquesea/imagen.jpg) que en contexto de una red pública como internet no tiene sentido y por tanto también fallará.
¿Cuál es la solución?, lo bueno sería atacar siempre por dominio y para resolver ese dominio a la ip privada de tu red tener un servidor dns interno en tu lan que resuleva el dominio a la ip interna. Los dns de tu psi (isp) en redes wan (internet) resolverán ese dominio a la ip de tu servidor con lo que funcionará en todos los escenarios y habremos resuelto el problema.
Si en la instalación pusimos una ip o un dominio y nos damos cuenta que no nos sirve en nuestro contexto y queremos cambiarlo tenemos una solución que a mi me funciona en la 2.34 pero que en la 2.35 después del cambio que han hecho en las tareas ant y demás cosas no me funciona. No me he puesto a depurarlo así que no se todavía porqué, ya lo comentaré cuando sepa algo.
Lo que hay que hacer es editar el archivo Build.xml del raiz de la instalación que en mi caso cae en /opt/OpenbravoERP/AppsOpenbravo y modificar estas dos lineas:
<property name=»web.url» value=»http://ip:puerto/openbravo/web»/ >
<property name=»context.url» value=»http://ip:puerto/openbravo»/>
y donde pone ip:puerto (o el dominio si pusisteis dominio) substituirlo por otra ip:puerto o otro dominio. Luego hay que recompilar la aplicación de forma que al terminar haga el despliegue en el webapps de tomcat. Lo normal es o por lo menos era hasta entonces utilizar esta tarea ant:
ant compile.development -Dtr=no -Dtab=xxx
con lo que compilamos diciendole que no compile las traducciones y que compile todas las ventanas ya que si ponemos cualquier cosa en -Dtab que no concuerde con el nombre de ninguna ventana compilará todas.
Con esto ya hemos modificado la ip o domini con la que montará las urls y podremos solucionar parcialmente el problema en un contexto concreto.
Cheli