Невозможно вызвать одностороннюю службу Peoplesoft с помощью WCF-адаптера из BizTalk 2010

Мы пытаемся вызвать одностороннюю службу PeopleSoft, которая не возвращает никакого ответа от BizTalk 2010 с привязкой WCF-BasicHttp и односторонним портом отправки.

Мы получаем следующую ошибку.

System.ServiceModel.CommunicationException: сервер не предоставил значимого ответа; это может быть вызвано несоответствием контракта, преждевременным завершением сеанса или внутренней ошибкой сервера.

Я прочитал несколько статей по этому поводу. В нем говорится, что из-за надежной функции доставки односторонние сообщения не поддерживаются BizTalk.

social.msdn.microsoft.com/Forums/en-US/biztalkgeneral/thread/3a55a044-0a07-416c-9931-1dd6bdeb717a

В нем говорится, что мне нужно создать прокси-сервер WCF, который будет вызывать одностороннюю веб-службу и возвращать пустое сообщение в BizTalk, чтобы процесс обмена сообщениями не терял время ожидания ответа. (По возможности я бы хотел этого избежать)

www.pvle.be/2008/12/calling-one-way-wcf-service-with-biztalk-wcf-adapter-part-2/

В конце этой беседы Раджеш говорит, что они использовали адаптер SOAP для решения той же проблемы. (Адаптер SOAP устарел)

http://social.msdn.microsoft.com/Forums/en/biztalkgeneral/thread/3b58e83a-3b69-40a2-941c-ff2d9a77ccc6.

В другой беседе Раджеш говорит

Как упоминал Стиф ранее, строгий односторонний порт отправки WCF не поддерживается в BizTalk. Таким образом, вы можете попробовать изменить порт односторонней отправки на порт двусторонней отправки, а затем вы можете игнорировать ответное сообщение в своей оркестровке, если оно вам не нужно.

Я попытался изменить порт односторонней отправки на порт двусторонней отправки. Я все еще получаю ту же ошибку.

Итак, мой вопрос:

Можно ли вызвать службу, которая не возвращает никакого ответа от BizTalk 2010, без написания дополнительных прокси WCF? Если да, то можете ли вы привести пошаговый пример?

Спасибо за терпение при написании моего длинного сообщения.

Альпер


person Alper    schedule 14.01.2011    source источник


Ответы (1)


В этой ситуации я считаю, что вам придется написать для этого прокси. BizTalk - это все о запросах и ответах, и, как выяснили люди, односторонний подход на самом деле не является односторонним. Взгляните на эту статью здесь, поскольку он проливает свет на аналогичную тему.

person Bryan Corazza    schedule 15.01.2011
comment
Мы изучаем возможность того, что служба PeopleSoft сразу же вернет подтверждение (это должно удовлетворить BizTalk), а затем приступить к работе над запросом (сохранить асинхронный характер выполнения) - person Alper; 19.01.2011
comment
Да, это должно сработать. BizTalk потребуется какой-то ответ, даже если он не содержит содержимого. - person Bryan Corazza; 21.01.2011