Извлечь схему объекта из wsdl
У меня есть файл wsdl, который описывает группу объектов, но я хочу извлечь определение только из их подмножества, возможно ли это, и если да, то как лучше всего этого добиться? Моя цель - создать схему XSD для этого подмножества.
Что делать, если вы не используете инструменты генерации WSDL в .NET? Есть ли хороший способ сделать это с помощью других инструментов? Я использую Java, пытаясь взаимодействовать с веб-службой. У меня есть библиотека для работы с xml-документами, для которой требуется xsd. У меня также есть библиотека для простых взаимодействий SOAP, что делает использование Axis излишним. Было бы здорово, если бы я мог легко извлечь XSD из WSDL.
Ответов (2)2
Я предполагаю, что вы говорите о генерации wsdl в ASP.NET
в ASP.NET файл wsdl автоматически создается посредством отражения. Это означает, что каждый веб-метод сборки будет отображен при использовании:
http://mysite/myservices.asmx?wsdl
Обойти это ограничение можно следующим образом:
1. отключить создание документации по умолчанию в web.config
<webServices>
<protocols >
<remove name="Documentation"/>
</protocols>
</webServices>
2. создайте собственный файл wsdl с помощью инструмента .net wsdl.exe и отредактируйте сгенерированный файл wsdl для нужного вам подмножества.
wsdl.exe http://mysite/myservices.asmx?wsdl
3. опубликуйте измененный wsdl:
http://mysite/myservices.wsdl
В качестве последнего совета. Если возможно, переходите на WCF, который обеспечивает более точный контроль над веб-службами.
PD Передай от меня привет Марио ;-)