Показать сообщение отдельно
Старый 09.02.2017, 15:43   #5  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от AlexeyS Посмотреть сообщение
Как понял, последовательность действий такая:
Создаем свой Custom Inbound AIF Service, адаптер вида HTTP.
Создаем класс контракта и класс сервиса
Нужно переписать класс web-сервиса, чтобы вместо WDSL он отдавал JSON (например так https://community.dynamics.com.nsatc.../f/33/t/126680)
Чтобы сервис принимал JSON нужно переписать класс контракта, чтобы он умел парсить JSON.
все верно, или есть варианты лучше?
Можно и так, но, как мне кажется, проще просто приделать transformation на inbound port. Я делал .NET трансформации, которые конвертировали JSON-сообщения в XML и передавали их дальше в AIF. Там (в inbound pipeline) уже делал XSLT, чтобы привести XML к схеме, которая в AIF используется.

Для конвертации JSON и XML я пользовался Newtonsoft Json.NET (http://www.newtonsoft.com/json). Сначала была идея стандартным дот-нетовским сериалайзером пользоваться, но для него надо все контракты явно прописать. С точки зрения контроля над разработкой так, наверное, правильнее, но решение менее гибким становится. В общем, смотрите сами.

Если есть ещё вопросы, задавайте. Помогу чем смогу
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: AlexeyS (3), Logger (1), alex55 (1).