Конфигурирование 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://
.