|
[Search] Поиск   [Recent Topics] Последние темы   [Hottest Topics] Горячие темы   [Members]  Список участников   [Groups] На главную страницу 
[Register] Регистрация / 
[Login] Вход 
Ветис API c# "APLM0002"  XML
Индекс форума » Компонент МЕРКУРИЙ
Автор Сообщение
Machinima


Зарегистрирован: 26/06/2018 09:07:53
Сообщений: 9
Оффлайн

Доброго дня

Пишу интеграцию на .NET
Подключил WSDL к проекту, добавил пространство имен, создал объекты.
При запросе справочников - проблем нет: создаю экземпляр ServicePortTypeClient, вызываю нужный метод, в него передаю экземпляр запроса:
Получаю ответ в responce, вытаскиваю что нужно.

При запросе в ApplicationManagement - Подсистему обработки заявок получаю ошибку "Unsupported application data format" "APLM0002" на любой запрос и статус заявки REJECTED
Меня смущает, что внутрь объекта ApplicationDataWrapper мне приходится вкладывать не просто любой объект, а XmlElement, то есть ручками сериализованный объект запроса, точнее его тело.
В ответ мне вернется ID запроса, по нему запрашиваю ответ
В итоге получаю ошибку "Unsupported application data format" "APLM0002" на любой запрос и статус заявки REJECTED
В Дебаге объект выходит правильный: Аппликейшн, в него вложена Дата, а в Дате лежит готовый XML запроса.
Я бы с радостью приложил XML и посмотрел его сам, но пока не нашел способ просматривать исходящий пакет, если посылать запрос через описание WSDL, буду благодарен, если подкинете идей.
loki


Зарегистрирован: 23/11/2017 08:43:39
Сообщений: 85
Оффлайн

это у них что-то с сервисами напутано.
методом тыка:
/platform/services/2.0/ApplicationManagementService
или
/platform/services/ApplicationManagementService

если на первом выходит ошибка - попробуйте отправить на второй.
и наоборот...
Machinima


Зарегистрирован: 26/06/2018 09:07:53
Сообщений: 9
Оффлайн

loki wrote:если на первом выходит ошибка - попробуйте отправить на второй.
и наоборот...

Видел тему, пробовал - не помогло. Позже, конечно, потыкаю еще, может временно и действительно сработает.
Но почему-то кажется что объект неправильно заполнил.
Владимир Игнатов


Зарегистрирован: 02/08/2017 09:19:30
Сообщений: 581
Оффлайн

Machinima wrote:
loki wrote:если на первом выходит ошибка - попробуйте отправить на второй.
и наоборот...

Видел тему, пробовал - не помогло. Позже, конечно, потыкаю еще, может временно и действительно сработает.
Но почему-то кажется что объект неправильно заполнил.

См. отсюда http://vetrf.ru/vetrf-forum/posts/list/7130.page#44785
oleg-x


Зарегистрирован: 20/11/2017 11:24:40
Сообщений: 2047
Онлайн

Machinima wrote:
loki wrote:если на первом выходит ошибка - попробуйте отправить на второй.
и наоборот...

Видел тему, пробовал - не помогло. Позже, конечно, потыкаю еще, может временно и действительно сработает.
Но почему-то кажется что объект неправильно заполнил.

Посмотри что у тебя:
serviceId = "mercury-g2b.service",

А обращаешься к версии 2.0.
То есть тебе надо указывать
serviceId = "mercury-g2b.service:2.0",

Может еще какие ошибки есть, но это не корректно.
mercury-g2b.service - версия 1.4
mercury-g2b.service:2.0 - версия 2.0
mercury-g2b.service:2.1 - версия 2.1

И потом появятся mercury-g2b.service:3.0

Это сообщение было редактировано 1 раз. Последнее обновление произошло в 26/06/2018 14:45:52

https://vk.com/mercuriy_rf
Machinima


Зарегистрирован: 26/06/2018 09:07:53
Сообщений: 9
Оффлайн

В общем смена целевого сервиса на 2.0 толку не принесла.

Скачал Fiddler смотреть трафик - пакеты в порядке, структура у них верная, даже у того, что вызывал сомнения при сериализации, пробовал их целенаправленно портить - возвращает другие ошибки. Смущает что пространства имен самостоятельно не добавились. Подскажите, если не указывать пространства имен - какие ошибки возвращает?
Как можно заметить - системно созданный пакет не указывает пространства имен, они указаны только в моем куске. НО опять же это запрос - на него я не получаю ошибок, я получаю ответ:
Кстати в этом пакете не указан сервис :2.0, есть подозрение что он не важен
Теперь я беру аппликейшнАйди и отправляю запрос ответа:
На что получаю:
Мне хотелось бы сделать вывод, что структура пакета верная, но блин я не уверен, ибо ни единого успешного запроса у меня не проходит в ApplicationService
oleg-x


Зарегистрирован: 20/11/2017 11:24:40
Сообщений: 2047
Онлайн

Кстати в этом пакете не указан сервис :2.0, есть подозрение что он не важен

Важен. я когда только начал делать интеграцию, не мог понять, почему не работает запрос, хотя все вроде было правильно. Оказалось не указано версия (добрые люди подсказали).
Попробуй загнать запрос в SOUPUI и уже в этой программе ручками поправить запрос сравнив с примером запроса из справки.
https://vk.com/mercuriy_rf
Machinima


Зарегистрирован: 26/06/2018 09:07:53
Сообщений: 9
Оффлайн

oleg-x wrote:
Важен. я когда только начал делать интеграцию, не мог понять, почему не работает запрос, хотя все вроде было правильно. Оказалось не указано версия (добрые люди подсказали).
Попробуй загнать запрос в SOUPUI и уже в этой программе ручками поправить запрос сравнив с примером запроса из справки.

Сделал идентичные копии запросов из справки:
И соответсвующий запрос ответа:
На результат это не повлияло. Ответ на первый запрос я также получаю, ответ на 2 запрос - такая же ошибка.
Уже самые элементарные операции без GUID чего-либо, просто логин пользователя с доступом к API. Написал им письмо, может по applicationId подскажут что не так...
oleg-x


Зарегистрирован: 20/11/2017 11:24:40
Сообщений: 2047
Онлайн

Machinima wrote:
oleg-x wrote:
Важен. я когда только начал делать интеграцию, не мог понять, почему не работает запрос, хотя все вроде было правильно. Оказалось не указано версия (добрые люди подсказали).
Попробуй загнать запрос в SOUPUI и уже в этой программе ручками поправить запрос сравнив с примером запроса из справки.

Сделал идентичные копии запросов из справки:
И соответсвующий запрос ответа:
На результат это не повлияло. Ответ на первый запрос я также получаю, ответ на 2 запрос - такая же ошибка.
Уже самые элементарные операции без GUID чего-либо, просто логин пользователя с доступом к API. Написал им письмо, может по applicationId подскажут что не так...

Беру твой запрос, загоняю в SOUPUI, подставляю в свои данные и оп, все работает. У тебя конечно одно лишнее пространство имен, но и с ним работает. Вы проверяли запросы через SOUPUI, а не через интеграцию?
Это я кто му, что можно долго искать, почему не работает запрос, а на самом деле, запрос работает и что то другое его ломает.
https://vk.com/mercuriy_rf
 
Индекс форума » Компонент МЕРКУРИЙ
Перейти:   

Powered by JForum 2.1.8 © JForum Team