Несколько файлов WSDL и XSD ... в один WSDL - PullRequest
3 голосов
/ 06 марта 2012

Вероятно, это простой вопрос: знаете ли вы какие-либо инструменты для объединения нескольких файлов wsdl + xsd в один wsdl?

Спасибо.

Edit1: Служба является службой WCF, и я хочу иметь один wsdl для PHP (в качестве клиента).

Edit2: Жаль, что мне нужно использовать .Net 4.0, а не 4.5, где это было бы возможно. Может быть, я мог бы взять тогда один из новых инструментов MS? Ты знаешь какой? Является ли svcutil.exe ответственным инструментом? Если да, каковы его зависимости? Потому что я пока не хочу переходить на .Net 4.5.

Ответы [ 3 ]

1 голос
/ 06 марта 2012

Конечно, я могу порекомендовать инструмент , который может объединить несколько XSD-файлов в минимально возможный набор (я пристрастен здесь, так как написал).Само по себе это может быть трудной задачей, если у вас есть большое количество файлов, много пространств имен или оба.Вещи могут стать сложнее для нескольких WSDL в один, в зависимости от некоторых параметров, которые вы можете настроить;например, логически ли это один WSDL, созданный на трех уровнях, который поддерживает разделение сообщений - portTypes - сервисы или несколько WSDL, точка?Одна вещь, которую вы должны убедиться, это то, что все они используют одну и ту же подсистему типов, нет конфликта для операций и т. Д. Но даже это задача, которую можно было бы выполнить, я мог бы легко добавить дополнение ... Если это рефакторинг XML-схеми WSDL, которые вы часто делаете, дайте мне знать.

0 голосов
/ 20 декабря 2013

Мы хотели, чтобы в одном файле wsdl использовались некоторые инструменты для автоматической генерации soap proxy на стороне PHP.Но мы закончили писать слой DTO вручную.

Если у вас есть служба wcf в .NET 4.5, вы можете легко получить только один файл wsdl (встроенная особенность фреймворка WCF).

0 голосов
/ 06 марта 2012

Вы можете создать небольшое приложение, которое может генерировать плоский wsdl. Мы генерируем плоский wsdl программно в C # для создания совместимых служб WCF. Обратитесь к ссылке о том, как генерировать плоский wsdl.

Надеюсь, увидев код, вы сможете создать инструмент, который сделает это за вас.

В противном случае вы можете сделать это вручную, используя Altova Xml Spy и заменив атрибуты импорта xsd определением схемы xsd.

...