Сообщество
Логин
Пароль
Забыли пароль?     Регистрация
Ещё проектики
Рабочее время
Минималистичный счётчик рабочего времени онлайн

Wsdl сервиса

Ахмед
23 ноября 2015 13:09
Здравствуйте.

Создал для теста консольное приложение на c# (fw 4.5).
Попробовал для теста дернуть метод getBalance. Падает с ошибкой при десериализации ответа: "Указанный тип не был распознан: имя="Map", пространство имен="http://xml.apache.org/xml-soap", в <getBalanceReturn xmlns=''>."

Пробовал добавлять сервис по ссылке и генерировать код клиента через svcutil. Падает во всех случаях. Код генерится так, что все ваши методы возвращают object. Может я что-то не так делаю?

И когда начнет работать урл http://www.drebedengi.ru/soap/? Сейчас пишет "технические работы". Не могу поэтому попробовать сделать "svcutil /t:metadata http://www.drebedengi.ru/soap/".
Admin
 
23 ноября 2015 13:34
Добрый день.
Это происходит потому, что приложение создаёт не корректный результирующий xml. В soap есть различия между объектом и массивом и задаются они каким-то из атрибутов.

Сравните xml запрос, который генерирует рабочий пример на php (см. __getLastRequest) и который получается у вас. Отталкивайтесь от примера на php.

Урл http://www.drebedengi.ru/soap/ работает, но к нему нельзя обращаться "с пустыми руками", должен передаваться какой-то soap запрос.
Ахмед
23 ноября 2015 13:58
svcutil не генерирует xml, он делает клиент для вызова. Сам вызов идет нормально, например, если задать неверный пароль для демо-пользователя (кстати, вот здесь http://www.drebedengi.ru/?module=soap не указано, что пароль демо-пользователя "demo"), то вызов отваливается с ошибкой авторизации.
У меня проблемы с ответом от вашего сервиса. Возможно, все дело в настройках экспорта wsdl вашей Zend Studio? Вот тут: http://files.zend.com/help/Zend-Studio/content/options%20dialog.png.
Admin
 
23 ноября 2015 14:35
Да, извините, невнимательность.
Если с ответом проблемы, то тут сложно что-то сказать. С soap сейчас работают мобильные приложения под три разные платформы, включая wp, а так же php пример + есть реализация на VBA.

Проблем нет, менять настройки генерации wsdl в этой ситуации - не верный путь.
Николай
11 августа 2018 22:43
не понял, сервис так и не работает ? Пишет технические работы.
Admin
 
12 августа 2018 17:07
Всё работает штатно.
Чтобы отвечать на сообщения - зарегистрируйтесь и войдите в личный кабинет.