Услуга вызова BizTalk 2010 в одну сторону (активировал и забыл) и подтверждение

Контекст: BizTalk 2010 пытается вызвать одностороннюю (запустить и забыть) службу PeopleSoft, которая не возвращает ответ. Я убедился, что BizTalk 2010 не поддерживает односторонние службы по замыслу. Односторонний вызов Peoplesoft сервис с WCF-адаптером от BizTalk 2010

Команда PeopleSoft показала мне, что их асинхронная служба возвращает следующие статус и заголовки Http.

HTTP/1.1 200 OK
Date: Thu, 20 Jan 2011 15:31:37 GMT
Content-Length: 0
Content-Type: text/xml; charset=UTF-8
TransactionID: <some GUID>
X-Powered-By: Servlet/2.5 JSP/2.1

Однако, когда я смотрю на xml, возвращенный службой One Way WCF, опубликованной BizTalk 2010, я вижу следующее:

HTTP/1.1 200 OK
Content-Length: 86
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.0
X-Powered-By: ASP.NET
Date: Thu, 20 Jan 2011 15:34:32 GMT

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body/></s:Envelope>

Обратите внимание на пустое сообщение SOAP.

Следовательно, для вызова службы BizTalk 2010 должен иметь ответ NON-NULL. Служба PeopleSoft, отправляющая указанный выше код состояния HTTP, НЕ ЯВЛЯЕТСЯ подтверждением со стороны BizTalk.

Это верно?

Спасибо.


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


Ответы (3)


Если веб-служба не возвращает ответ, ей необходимо вернуть HTTP 204 - Нет содержимого. Я еще не пробовал это в WCF, но HTTP соблюдает код возврата без содержимого. Что касается службы BizTalk WCF ... не знаю, почему она не использует 204. Но поскольку она использует 200, ей нужно что-то отправить.

person Christian Loris    schedule 20.01.2011

Похоже, BizTalk 2010 действительно должен иметь ответ NON-NULL, чтобы иметь возможность вызвать службу. Спасибо Бену за подтверждение.

Подробную информацию см. здесь.

person Alper    schedule 21.01.2011

Каков характер сообщения, которое вы отправляете? Теоретически вы можете отправить одностороннее сообщение HTTP и сопоставить его с отдельным портом ответа HTTP.

person yieldvs    schedule 21.01.2011