веб-приложение axis2 за обратным прокси-сервером, создающее неправильные местоположения - PullRequest
3 голосов
/ 30 марта 2012

Конфигурирование SSL в Java / Tomcat является тем, чем оно является, я настроил экземпляр tomcat6 для получения запросов от обратного прокси-сервера nginx, обрабатывающего SSL, и прокси-соединения на localhost: 8080.Добавление заголовков, таких как X-Forwarded-For, гарантирует, что конечные точки будут отображаться с правильным адресом, но не с правильным протоколом.Клиент (в моем случае python-suds) получает WSDL очень хорошо, но находит следующие местоположения для портов SOAP:

<wsdl:service name="WebService">
  <wsdl:port name="WebServiceHttpSoap11Endpoint" binding="ns:WebServiceSoap11Binding">
    <soap:address location="http://10.10.3.96/axis2/services/WebService.WebServiceHttpSoap11Endpoint/"/>
  </wsdl:port>
  <wsdl:port name="WebServiceHttpSoap12Endpoint" binding="ns:WebServiceSoap12Binding">
    <soap12:address location="http://10.10.3.96/axis2/services/WebService.WebServiceHttpSoap12Endpoint/"/>
  </wsdl:port>
  <wsdl:port name="WebServiceHttpEndpoint" binding="ns:WebServiceHttpBinding">
    <http:address location="http://10.10.3.96/axis2/services/WebService.WebServiceHttpEndpoint/"/>
  </wsdl:port>
</wsdl:service>

Я подозреваю, что http://, который его выбрасывает, пытается использоватьэто приводит к ошибке и следующему сообщению в журнале tomcat:

org.apache.axis2.AxisFault: The endpoint reference (EPR) for the Operation not found is /axis2/services/WebService.WebServiceHttpSoap11Endpoint/ and the WSA Action = null. If this EPR was previously reachable, please contact the server administrator.

Есть ли способ (в axis2 или nginx) настроить это, чтобы это работало?Кажется, я не могу найти способ убедить axis2 сгенерировать местоположение его конечной точки для включения https://.

1 Ответ

3 голосов
/ 04 апреля 2012

Что ж, долгие часы поиска в Google, наконец, дали результат: добавление (насколько я вижу) недокументированного параметра конфигурации в глобальный файл конфигурации axis2.xml создает правильные рабочие URL-адреса конечной точки:

<parameter name="httpFrontendHostUrl">https://10.10.3.96/axis2/</parameter>

...