#visual-studio #web-services
#visual-studio #веб-службы
Вопрос:
У меня есть новый проект, тогда как мне нужно использовать веб-сервис со следующего адреса:http://opensearch.addi.dk/1.1 Сервис является библиотечной службой для запросов к книгам и т.д. Когда я передаю в свою Visual Studio wsdl (показан внизу страницы), я не могу его использовать или вызвать. Разве это не должно быть так просто, или я что-то упускаю. Мне бы не хотелось быть вынужденным самому писать весь soap XML и анализировать запрос.
Кто-нибудь знает, если я чего-то не хватает?
РЕДАКТИРОВАТЬ Кажется, VS не может разрешить этот xsd
<xs:redefine schemaLocation="dcterms.xsd">
<xs:group name="elementsAndRefinementsGroup">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="elementsAndRefinementsGroup"/>
<xs:element ref="anyElements"/>
</xs:choice>
</xs:sequence>
</xs:group>
</xs:redefine>
потому что у него есть самоссылка внутри группы. Это законно в соответствии со спецификацией xsd, но VS, похоже, не согласен…
Комментарии:
1. Не могли бы вы пояснить, что вы подразумеваете под «загрузкой моей Visual Studio wsdl»? Вы используете его для добавления ссылки на службу? Добавление файла, содержащего WSDL, в ваш проект VS? Что-то еще? Также, вероятно, помогло бы, если бы вы указали, какую версию Visual Studio вы используете.
2. Используя vs2010, просто используя ADD service reference, cmi King advanced, затем ДОБАВЬТЕ веб-ссылку
3. Почему вы используете «Добавить веб-ссылку»?
4. Пожалуйста, смотрите мой ответ Майклу Кеннеди ниже
5. Я получаю циклическую ссылку, когда VS пытается разрешить xsd, показанный в моей ПРАВКЕ
Ответ №1:
Просто запустите wsdl.exe
и передайте файл и конечный URL, пространство имен и т.д. В командной строке.
Обязательно используйте «Командную строку Visual Studio», а не обычную.
Комментарии:
1. Я пытался это сделать, но это не удается, с ошибкой: «Привязка «osSearchServiceSoapBinding» не может быть импортирована из пространства имен » oss.dbc.dk/ns/opensearch_wsdl . Действие «поиск» не может быть импортировано. Группа «elementAndRefinementsGroup» из targetNamespace=» purl.org/dc/terms «имеет недопустимое определение: циклическая ссылка. Грубо переведено с моего датского сообщения об ошибке
2. Возможно, это расширенная привязка WCF, а не прямое SOAP 1.1? Вы можете попробовать аналогичную команду с SvcUtil.exe .