Я использовал AXIS 1.4 для создания некоторых веб-сервисов.
Эти веб-сервисы будут вызываться клиентами, но их вызовы будут проходить через обратный прокси-сервер (apach с mod_proxy).
Процесс работает нормально, однако в сгенерированном wsdl (при вызове оси http://proxy/services/ServiceName?wsdl) генерируется следующий блок:
<wsdl:service name="MyService">
<wsdl:port binding="impl:MyServicePortSoapBinding" name="MyServicePort">
<wsdlsoap:address location="http://internalserver:8080/myapp/services/ServiceName"/>
</wsdl:port>
</wsdl:service>
Адрес wsdlsoap: по-прежнему указывает на внутренний сервер за брандмауэром, а не на обратный прокси-сервер. Несмотря на то, что на данном этапе это не является проблемой для моих тестовых клиентов, я опасаюсь публиковать такую информацию (имя сервера и т. Д.) В wsdl.
Я попытался добавить тег wsdlFile
в конфигурации <service>
в файле server-config.wsdd
, указывая на обновленный вручную WSDL, но безуспешно (он продолжает отображать предыдущую информацию).