Я пытаюсь написать модуль для приложения Java, которое обращается к WSDL-описанному веб-сервису.Исходный WSDL был загружен прямо из того, что я считаю веб-сервисом ASP.NET;URL-адрес службы заканчивается расширением .asmx, а при просмотре URL-адреса службы в браузере отображается ссылка, которую можно использовать для загрузки WSDL.
Для меня ключевым требованием является возможность отключения службыURL без перекомпиляции.Указанный мне URL-адрес, очевидно, является тестовым сервером, и я знаю, что в производственной среде мне дадут рабочий URL-адрес для использования.Я также хотел бы иметь возможность самостоятельно создать фиктивный сервер для тестирования и сохранить возможность указать новый URL-адрес в будущем без перекомпиляции, если служба перемещена.На самом деле, я бы хотел, чтобы установка нашего приложения позволяла создавать экземпляры нескольких экземпляров веб-сервиса по разным URL-адресам.
Но моя концепция, похоже, не соответствует тому, чтоинструмент wsimport делает для меня.После ответа f1sh здесь я сгенерировал код Java из загруженного WSDL с помощью этой команды:
wsimport -Xnocompile -keep -b binding.xml wsdlFile.wsdl
Я обнаружил, что сгенерированный код имеет жестко запрограммированную ссылку на мой загруженный файл wsdlFile.wsdl, который содержит URL службы.Наше приложение не будет работать таким образом, чтобы его можно было настроить путем редактирования файла WSDL во время выполнения.Мне нужно иметь код, который компилируется в мое приложение во время сборки и может иметь URL службы, установленный во время создания экземпляра.
Я не совсем уверен, почему WSDL даже нужно анализировать во время выполнения;Насколько я понимаю, WSDL предоставляет достаточно информации для генерации кода, который может получить доступ к веб-сервису, поэтому я не уверен, что он предоставляет сгенерированному коду, кроме URL-адреса службы, и я не уверен, почему URL-адрес службы не предоставляется вконструктор или настраивается с помощью метода в сгенерированном классе веб-сервиса.Я, должно быть, что-то упускаю.
Какова общая практика для этого сценария?Создает ли большинство людей код для каждого отдельного URL, который они собираются использовать?Код генерируется во время выполнения?Есть ли другой инструмент WSDL, который я могу использовать для создания клиентского кода с настраиваемым URL-адресом?