Извлечь схему объекта из wsdl - PullRequest
2 голосов
/ 25 февраля 2009

У меня есть файл wsdl, который описывает группу объектов, но я хочу извлечь определение только из их подмножества, возможно ли это, и если да, то каков наилучший способ добиться этого? Моя цель - создать схему XSD для этого подмножества.

Что если вы не используете инструменты генерации WSDL в .NET? Есть ли хороший способ сделать это с помощью других инструментов? Я использую Java, пытаюсь взаимодействовать с веб-сервисом. У меня есть библиотека для управления документами XML, которая требует XSD. У меня также есть библиотека для простых взаимодействий SOAP, которая делает использование Axis излишним. Было бы здорово, если бы я мог легко извлечь XSD из WSDL.

Ответы [ 2 ]

1 голос
/ 05 мая 2009

Если вы точно знаете, какие объекты вы хотите извлечь из схемы, вы можете взять файл wsdl, запустите его с преобразованием XSL, чтобы сохранить нужные вам фрагменты (или удалить то, что вы не делаете).

0 голосов
/ 12 марта 2009

Я предполагаю, что вы говорите о генерации wsdl в ASP.NET

в ASP.NET файл wsdl автоматически создается с помощью отражения. Это означает, что каждый веб-метод сборки будет отображаться при использовании:

http://mysite/myservices.asmx?wsdl

Обходной путь для обхода этого ограничения:

1.disable генерация документации по умолчанию в 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, который обеспечит более полный контроль над веб-сервисами.

P.D. Передай от меня привет Марио; -)

...