EDI для BizTalk 2006 R2

У меня есть рабочая оркестровка для обработки сообщений X12. Теперь мне нужно представить оркестровку как веб-сервис (ASMX), который принимает ввод текста (сообщение X12) и возвращает текстовый ответ (ответ X12). Если я попытаюсь использовать мастер, сгенерированный веб-сервис предоставит внутреннее XML-представление запроса X12, а не его исходное текстовое представление.

Короче говоря, я хочу иметь возможность подключиться к веб-сервису (ASMX, а не WCF-сервис), отправить запрос X12 (простой текст) и получить соответствующий ответ (также простой текст).

Я видел примеры этого с использованием WCF, но ни одного с простым веб-сервисом. Можете ли вы помочь мне с этим?

Спасибо!


person Community    schedule 30.03.2009    source источник


Ответы (3)


Одно из возможных решений - создать обработчик SOAP для преобразования простого текста в представление xml (чтобы BizTalk мог его прочитать) и обратно. Хотя я сам не пробовал, это может сработать. Вам нужно будет создать обработчик для запроса и один для ответа, чтобы перехватить строку и преобразовать ее в схему xml и обратно. Вы также можете использовать общий XML-документ вместо строки, это может быть проще всего. Посмотрите этот пост:

http://blogs.msdn.com/richardbpi/archive/2006/11/10/exposing-biztalk-web-services-that-accept-generic-content.aspx

-Брайан

person Bryan Corazza    schedule 31.03.2009

Хотя я не пробовал, у меня есть чувство, что вы не сможете сделать это без некоторой степени настраиваемого кодирования в конвейере.

Когда вы публикуете веб-службу с помощью мастера, BizTalk принимает задействованные схемы и использует их в качестве типов для веб-службы, что имеет смысл почти во всех случаях, но не в вашем.

Однако, насколько мне известно, нет хорошего способа принимать сообщения EDI через SOAP; вы можете создать свою веб-службу для приема строкового сообщения и «знать» клиента, что это должен быть X12, но нет способа описать это в WSDL.

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

person Yossi Dahan    schedule 31.03.2009

Я бы также перевел свой файл x12 260 на SOAP Webservice. Каков наилучший способ ... я конвертирую в XML и отправляю в SOAP ... но здесь проблема в том, что я получаю только 3 XML, в которых есть только детали транзакции внутри этого файла .... куда пропали мои заголовки и трейлеры :(

Кто-нибудь сталкивался с такой проблемой

person Community    schedule 21.08.2009