wsdl.exe / sharetypes - PullRequest
       19

wsdl.exe / sharetypes

5 голосов
/ 29 января 2009

Я работаю с несколькими сторонними веб-сервисами (от одного поставщика), которые, по-видимому, используют одну и ту же серверную часть структуры объекта. Одна из служб позволяет запрашивать список пользователей по ролям, а другая позволяет запрашивать одного пользователя по идентификатору. Чтобы это работало наилучшим образом, пользователи, которые вернулись из обеих служб, должны быть взаимозаменяемыми.

Введите wsdl.exe. Я знаю, что / sharetypes делает то, что я хочу, однако, когда я генерирую свой прокси-сервер, в конечном итоге остается несколько версий объектов (то есть Person, Person1, ...).

Команда, которую я выполняю, выглядит следующим образом:

wsdl.exe /sharetypes /language:VB http://mbptest2.seniormbp.com:8080/SeniorSystemsWS/UserManagementService.asmx?wsdl http://mbptest2.seniormbp.com:8080/SeniorSystemsWS/DataExportService.asmx?wsdl http://mbptest2.seniormbp.com:8080/SeniorSystemsWS/UserProfileService.asmx?wsdl

Ответы [ 2 ]

2 голосов
/ 22 июля 2009

Схема для DataExportService имеет tns и целевое пространство имен, определенное как http://www.senior-systems.com/. Схема для UserProfileService имеет tns и целевое пространство имен, определенное как http://senior-systems.com/.

Они различаются, даже если они разрешаются на одном веб-сервере при использовании в качестве URL-адреса. Пространства имен XML сравниваются текстуально, а не в соответствии с синтаксисом URL. Например, http://senior-systems.com/ и http://senior-systems.com - это два разных пространства имен (подсказка: в одном отсутствует завершающий слеш).

1 голос
/ 29 января 2009

В соответствии с документацией MSDN , чтобы это работало, пространство имен, имя и проводная подпись должны быть идентичны во всех сервисах. Что-то похоже, что они не совпадают, так что это хорошее место, чтобы начать искать.

...