Я запускаю WebApplication в контейнере сервлетов (порт 8080) в среде, к которой можно получить доступ из Интернета (внешнего) и из внутренней (внутри), например,
http://external.foo.bar/MyApplication
http://internal.foo.bar/MyApplication
Внутренние (внешние/внутренние) запросы перенаправляются в контейнер сервлета с использованием http-сервера apache с mod_proxy. Конфигурация выглядит так:
ProxyPass /MyApplication http://localhost:8080/MyApplication retry=1 acquire=3000 timeout=600 Keepalive=On
ProxyPassReverse /MyApplication http://localhost:8080/MyApplication
Теперь я сталкиваюсь с проблемой, что некоторые ответы MyApplication зависят от исходного URL-адреса. Бетон: документ WSDL будет снабжен элементом, который имеет элемент schemaLocation="<RequestUrl>?xsd=MyApplication.xsd"
.
С моей текущей конфигурацией он всегда выглядит как
<xs:import namespace="..." schemaLocation="http://localhost:8080/MyApplication?xsd=MyApplication.xsd"/>
но это должно быть
External Request: <xs:import namespace="..." schemaLocation="http://external.foo.bar/MyApplication?xsd=MyApplication.xsd"/>
Internal Request: <xs:import namespace="..." schemaLocation="http://internal.foo.bar/MyApplication?xsd=MyApplication.xsd"/>
Я предполагаю, что это общее требование. Но поскольку я не являюсь экспертом в настройке http-сервера apache и его модулей, я был бы рад, если бы кто-то мог дать некоторую (подробную) помощь.
Спасибо заранее!