|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
Добрый день! Я понимаю, что ситуация странная, но есть некий сервис созданный по wsdl-описанию, на который приходит некая информация и согласно документации, он должен на эти данные отправить ответ. Код: c# 1. 2. 3. 4. 5. 6.
Возможно ли в C# заставить этот wcf сервис возвращать ответ (подготовленное soap-сообщение) без изменения wsdl-описания (сервис федеральный и с ними спорить бесполезно, wsdl-описание они не переделают) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
реализация ответа в BeforeSendReply не помогла, клиенту приходит: HTTP/1.1 202 Accepted Content-Length: 0 Очень нужна помощь, т.к. через сокеты работать с wcf особого желания нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2020, 18:20 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
DIM@, Если предполагается, что ответа нет, с чего бы раcсчитывать на вызов BeforeSendReply? :) Какую задачу в конечном счёте-то решить хотите? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2020, 19:24 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
Я это прекрасно понимаю, но федералов хрен переубедишь, я по этому вопросу с их тех.поддержкой с июня месяца бодаюсь, от них ответ, в документации написано, что ответ должен быть, так что предоставьте и им по барабану, что их описание не может этого делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 08:56 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
DIM@, А вы не можете wsdl ручками поправить перед кодогенерацией? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 09:11 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
Пробовал, тогда сервис не стартует ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 09:20 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
Есть какая возможность в BeforeSendReply получить доступ к каналу и записать ответ в него минуя всю обвязку объектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 12:39 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
DIM@ Пробовал, тогда сервис не стартует Что пишет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 17:36 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
Вот wsdl описание по которому, согласно документации, мне надо создать сервис. Создаваемый на его основе референсы, функции получают атрибут IsOneWay = true, а это означает, что сервер при запросе сразу отвечает 202 Accepted, а потом начинает выполнение метода. Если в интерфейсе службы, пометить метод IsOneWay = false, то служба перестаёт принимать запросы, я думаю, что по причине того, что не находит путь до метода. hVostt, если Вы гуру в этих вопросах, посоветуйте, как надо поправить описание или подскажите как перехватить (socket) принятое службой соединение и ответить в канал и не заморачиваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 18:28 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
DIM@, Это же оно? http://portal.egisz.rosminzdrav.ru/files/Методические_материалы_по_подсистеме_ИЭМК_v2.docx&usg=AOvVaw1yQ97VS1vh8p-79Vj9KRuf Согласно документации, ответ приходит асинхронно, методом обратного вызова. Для получения ответов в асинхронном режиме от сервисов ИЭМК (для сообщений в соответствии спрофилями IHE XDS.b) на стороне МИС (РМИС) должен быть реализован и развернут сервис обратного вызова, описание которого представлено в ПРИЛОЖЕНИЕ 20. Пример WSDL веб-сервиса обратного вызова на стороне МИС (РМИС). При получении асинхронного ответа веб-сервису обратного вызова необходимо отправить в ИПС ответ в формате soap об успешном получении асинхронного ответа. Ответ сервиса должен быть подписан с помощью сертификата МИС (РМИС), зарегистрированного в ИПС согласно документу «Методические материалы по подключению к ИПС». Структура и описание атрибутов ответа о получении асинхронного ответа приводится в ПРИЛОЖЕНИЕ 7. Структура и содержание подтверждения асинхронного ответа на извещение «Предоставить и зарегистрировать набор документов», пример ответа представлен в ПРИЛОЖЕНИЕ 8. Подтверждение асинхронного ответа на извещение ITI-41 («Предоставить и зарегистрировать набор документов») Так что ответ 202 вполне корректный и правильный. Если вы будет на запрос отправлять какой-то другой ответ, он не будет обработан. Или я что-то не так понимаю в вашей задаче? Потому что иначе, вам придётся выкинуть wsdl и пилить с нуля сервис, такой как надо вам, со своим wsdl-ем. Могу ошибаться конечно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2020, 23:42 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
авторСогласно документации, ответ приходит асинхронно, методом обратного вызова. Да, это именно это описание ( http://portal.egisz.rosminzdrav.ru/materials/45) и в приложении 8 описан soap, который этот сервис должен вернуть (синхронны ответ на асинхронный ответ сервису обратного вызова) авторПотому что иначе, вам придётся выкинуть wsdl и пилить с нуля сервис, такой как надо вам, со своим wsdl-ем. Спасибо за участие, я запилил сервис без использования библиотеки soap, с использованием socket и ручного разбора пришедшего soap, ну и, само-собой, ответ как они хотят. Ещё раз спасибо за участие. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2020, 10:00 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
DIM@ Да, это именно это описание ( http://portal.egisz.rosminzdrav.ru/materials/45) и в приложении 8 описан soap, который этот сервис должен вернуть (синхронны ответ на асинхронный ответ сервису обратного вызова) Не вернуть, а послать методу обратного вызова. Всё как с укладкой асфальта и других сфер в России. Привезли иностранный микроскоп и сломали, пока забивали им гвозди :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2020, 15:46 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
DIM@ Спасибо за участие, я запилил сервис без использования библиотеки soap, с использованием socket и ручного разбора пришедшего soap, ну и, само-собой, ответ как они хотят. Главное, что решилось ) Но вы им напишите, что они по идее должны свой сервис развернуть, чтобы ответы слать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2020, 15:47 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
Я им уже пытался объяснить, что сервис обратного вызова, который мы должны создать, на основе их wsdl-описания из документации имеет только OneWay методы и не может предоставить ответ на их запрос. Но, им абсолютно наплевать на это, ведь они написали в документации, что может, значит вы хреновые программеры, что не можете этого сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2020, 16:30 |
|
Ответ на OneWay операцию
|
|||
---|---|---|---|
#18+
DIM@ Я им уже пытался объяснить, что сервис обратного вызова, который мы должны создать, на основе их wsdl-описания из документации имеет только OneWay методы и не может предоставить ответ на их запрос. Но, им абсолютно наплевать на это, ведь они написали в документации, что может, значит вы хреновые программеры, что не можете этого сделать. Они игнорируют то, что прямо написано в документации и транслируют вам свои фантазии. Я бы настаивал на спеке. Потом вам всем выйдет боком. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2020, 17:52 |
|
|
start [/forum/topic.php?fid=19&msg=40025817&tid=1396647]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 60ms |
total: | 172ms |
0 / 0 |