Ошибка BizTalk: отчет о сбое при маршрутизации для "Отчет о сбое при маршрутизации"<имя недоступно>

Я пытаюсь отправить сообщение HL7 в BizTalk и получаю код ошибки 0xC0C01B4e (отчет о сбое маршрутизации) с сообщением:

Отчет о сбое при маршрутизации для <Имя не доступно>

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

Мой сценарий:

1 Request/Response Recieve Port named HL7Test.In
1 Receive Location for the Receive Port called HL7Test.In.MLLP
   Type is MLLP
   Receive pipeline is BTAHL72XRecievePipeline
   Send pipeline is BTAHL72XSendPipeline
1 Send Port
   Type is file
   Send pipeline is Passthrough
   Filter is BTS.ReceivePortName == HL7Test.In
1 Party configuration called "REG", with the following BTAHL7 configuration:
   Acknowledgemnt type: OriginalMode
   Validate body segments: Enabled
   Validate custom datat types: Enabled
   Alow trailing delimiters: Enabled
   Schema namespace: http://microsoft.com/HealthCare/HL7/2X
I've deployed the BTAHL7V2XCommon, BTAHL7V21Common and ADT message schemas

Я отправляю сообщение HL7 с использованием MLLP из стороннего приложения. Подтверждение не возвращено. Файл не записан. 1 генерируется не возобновляемая ошибка, как описано выше.

Я отправляю сообщение:

MSH | ^ ~ \ & | REG | FAC ||| 201207271419 || ADT ^ A04 | 504111 | D | 2,1 ||| AL | AL |
EVN | A04 | 201207271419 || 02 PID | 1 || M11 || REGRIHSOT ^ xyz ^ 2 ^ 3 ^ 5 ^ 6
NK1 | 1 | Regrihsot ^ Жена ^3^4^5^6|W|1^2^ город ^ BC ^ V1S 0A7 ^ 6 ^ 7 ^ 8 |
PV1 | 1 | E | KAMRIHED ||||| MITD4 |||||| HO |||| ED || BC ||||||||||||||||||| FAC || REG ||| 201207271417 |
ZAD | MAIL ^ 1 ^^ город ^BC^V1S 0A7|PHYS^1^^ Камлупс ^ BC ^ V1S 0A7 | ZTZ | PT |
ZGC | ^^ |

И все это прекрасно работало час назад.

2 ответа

Казалось бы, мне также нужен порт отправки, который потребляет ACK. У меня было это раньше, поэтому я добавил его с помощью фильтра:

BTS.MessageType == http://microsoft.com/HealthCare/HL7/2X

Чего я не понимаю, так это почему мне нужно использовать это сообщение.

У меня нет особого опыта работы с адаптером MLLP, но в целом любое сообщение, которое публикуется в вашей среде BizTalk, должно иметь подписчика. Если никто не ожидает сообщения, то BizTalk рассматривает его как ошибку и выдает ошибку маршрутизации исключения. Это имеет смысл, поскольку, если BizTalk не рассматривает незапрошенные сообщения как исключения, со временем ваша среда будет раздуваться от всех этих незапрошенных сообщений.

Я ожидал, что ваш адаптер запроса / ответа MLLP должен был получить ACK и замкнуть петлю. Не уверен, почему вам нужно создать отдельный порт отправки, чтобы получить ACK. Возможно, стоит исследовать это направление.

Другие вопросы по тегам