Ответ 1
Не зная, что возвращают эти ссылки, мы можем только догадываться, но вот некоторые подробности, которые могут вам помочь....
Суффикс конечной точки веб-службы с помощью ?wsdl
получит файл WSDL. WSDL может быть сгенерирован каркасом во время выполнения на основе кода скелета веб-сервиса или может быть фактическим физическим файлом, который сервер просто отправляет обратно, когда указан параметр URL.
WSDL содержит XML-схему, которая может быть указана либо внутри самого WSDL, либо как отдельные файлы, которые импортируются WSDL. И теперь возникает проблема...
Некоторые генераторы-заглушки веб-сервисов могут обрабатывать только полный WSDL, внутри которого находится схема. Если WSDL импортирует другие файлы, инструменты не могут разрешить импорт и не удаются. Это затрудняло использование веб-сервисов, поскольку у клиентов возникли проблемы с созданием заглушек для взаимодействия с веб-сервисом. Настолько, что поставщики услуг либо использовали фактический WSDL для ответа на запрос ?wsdl
, либо начали писать всевозможные хаки и плагины, чтобы веб-служба генерировала полный WSDL.
Но некоторые провайдеры даже не беспокоились, поэтому клиентам приходилось писать хаки для разбора WSDL или им приходилось загружать все файлы, собирать их вручную в один файл и использовать их вместо этого.
С течением времени люди признавали это как проблему и рамки, адаптированные для предоставления полного WSDL, а не для импорта. Но это породило еще одну проблему. Изменение того, что возвратил URL-адрес ?wsdl
, может повредить все созданные хаки, чтобы исправить проблему импорта. По этой причине было выбрано другое соглашение, чтобы вернуть полный WSDL: ?singleWsdl
.
Итак, существуют фреймворки, которые генерируют полный WSDL, некоторые из которых генерируют его с импортом, некоторые из них позволяют указать фактический физический файл, некоторые из которых поддерживают соглашение ?singleWsdl
, а некоторые - нет. Не относящийся к этому вопросу, но только для завершения, существует также соглашение ?wsdl2
, которое дает вам определение WSDL 2.0 (?wsdl
получает WSDL 1.1). Некоторые фреймворки поддерживают ?wsdl2
, некоторые - нет.
Я предполагаю, что проблемы, вызванные импортом Schema, но без самих WSDL, я не могу сказать. Надеюсь, что эти детали помогут вам лучше идентифицировать проблему.