2013-12-05 4 views
6

Я ищу библиотеку Java, которая делает Java для EDI преобразования - более конкретно формат 835 в EDI используется в здравоохранении. Хотя многие библиотеки обещают Преобразование Java в EDI, нет документов или образцов кода, доступных для них на их сайтах. Вот список библиотек, которые я пробовал до сих пор, не повезло:

1. EdiReader (EdiWriter является коммерческим и не имеет пробной загрузки).
2. Smooks (Никакая пробная загрузка и документация не упоминают преобразование Java в EDI).
3. Open Business Objects - OBOE от americancoders.com (имеет пробную загрузку, но Java для EDI не упоминается).
4. Oakland data transformer (Это даже не позволяет мне скачать библиотеку и документы).

Java библиотека для Java для преобразования ЭОДА

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

Спасибо!

ответ

0

Пробная загрузка для smooks ?! Вам не нужна лицензия. Theres также хорошая документация. Проверьте это: http://www.smooks.org/

IMHO Я бы пошел с smooks, если вы не хотите коммерческого решения.

+0

Я попытался Smooks но документация и примеры кода, не говоря уже о Java для преобразования ЭОД в любом месте. То же самое касается и других библиотек, о которых я упоминал в вопросе. – kailash

+0

Его упоминаемое здесь: https://issues.jboss.org/secure/attachment/12329888/Smooks_User_Guide.pdf и, как вы могли бы прочитать, вы также можете применить свою собственную логику к smooks для трансформации. :) – Ben

+2

Я единственный, кто не знает, что означает «преобразование Java в EDI»? Какие данные будут преобразованы !? – Gimby

0

Существует не так много API Java EDI с открытым исходным кодом. Но тем не менее, есть некоторые, как вы предоставили.

Я также искал многих.

Smook нуждается в некоторой конфигурации XML для чтения конкретного файла EDI.

Затем я попробовал EDI Reader. На самом деле EDI-ридер доступен для загрузки из Интернета.

Для меня это был единственный, который помог мне преобразовать один файл EDI в XML. Даже сгенерированный XML был несколько сложным. Но вы можете использовать любой другой API для анализа XML. Вот ссылка для загрузки для EDI Reader.

Read about EDI Reader, and for example programs, downloads.

Это ZIP-файл содержит JAR-файлы и некоторые примеры JAVA коды

+0

Спасибо Shiju! Но мне нужно ** преобразование Java в EDI **, а не ** EDI в Java ** или ** EDI в XML **. Большинство библиотек позволяют легко конвертировать EDI в XML **, и я попробовал несколько из них. Но моя проблема заключается в преобразовании ** Java в EDI **. – kailash

+0

Я не уверен, делает ли EDI Reader JAVA для EDI. Пожалуйста, проверьте примеры java-классов в zip-файле, если вы скачали –

+0

Я уже сделал :) Я прошел через каждый пример, но, к сожалению, пакет только читает документы EDI и преобразует их в XML или другие форматы, а не наоборот. – kailash

5

Если вы открыты для коммерческого решения, вы можете захотеть взглянуть на MapForce Altova в. Он имеет карту перетаскивания, которую вы можете создать, и затем генерирует код для подключения к вашему приложению. MapForce

«Java to EDI», по-видимому, является популярным ошибочным. В вашем случае вы создаете стандартизованный текстовый документ (в данном случае документ EDI 835) из исходных данных (RDBMS, XML, плоский файл, iDoc и т. Д.). Java - это трубопровод.Вы в основном пытаетесь изобрести колесо 30+ лет назад, написав собственный переводчик/парсер, и это обычно делается без преимуществ проверки синтаксиса EDI/согласования FA/надежных партнерских инструментов. Если бы я хотел остановить такое безумие, я бы посмотрел Liaison и их инструменты, в частности, ECS и Delta. Эти инструменты основаны на Windows, поэтому это может быть не вариант, но для недорогого коммерческого инструмента, который легко интегрируется с вашей архитектурой, ваш ROI будет быстро проявляться.

+0

Спасибо за ответ! Извините, у меня нет репутации, чтобы проголосовать за ваш ответ :( – kailash

+0

это ваш вопрос. Если вы считаете, что это тот ответ, который вы хотите, вы должны иметь возможность отметить его как таковой. – Andrew

0

Если вы думаете, чтобы реализовать решение с Smooks, я просто сослаться некоторую полезную информацию от Smooks' Документация:

Java в текст (XML, CSV, EDI и т.д.)

As изложенные в других частях этого руководства, основная среда исполнения Smooks работает , обрабатывая поток событий SAX, создаваемых входным источником определенного типа (XML, EDI, Java и т. д.) и используя эти события для запуска Визитная логика. В случае источника Java (см. Предыдущий раздел на странице «Java to Java»), Smooks использует XStream для создания этого потока событий SAX .

Иногда, однако, вы просто хотите применить шаблон (например, шаблон FreeMarker) к объектной модели Java Source и производить XML, CSV, EDI и т.д. Вы не хотите брать на себя впустую накладных расходов генерируя поток событий SAX, которые вы не собираетесь использовать. Чтобы сделать это , вам нужно сказать, что среда ядра Smooks не генерирует поток событий . Это можно сделать одним из двух способов.

Позвонив setEventStreamRequired (ложь) на экземпляре JavaSource подается в Smooks.filterSource:

JavaSource javaSource = new JavaSource(orderBean); 

// Turn streaming off via the JavaSource... 
javaSource.setEventStreamRequired(false); 

smooks.filterSource(javaSource, result); 

Или путем выключения "http://www.smooks.org/sax/features/generate-java-event-stream" функцию в конфигурации Smooks:

<reader> 
    <features> 
     <setOff feature="http://www.smooks.org/sax/features/generate-java-event-stream" /> 
    </features> 
</reader> 

<!-- Other Smooks configurations e.g. a FreeMarker template... --> 

При применении шаблона Freemarker, название шаблонного контекста бобов (т.е. имена, используемые в шаблоне), зависит от типа объекта в JavaSource:

Если объект является карта, то этот экземпляр карты становится шаблонный контекст и поэтому вы можете просто использовать клавиши ввода карты в качестве компонента имена в вашем шаблоне. Для объектов, не относящихся к карте, класс JavaSource принимает Object Class SimpleName и создает из него имя свойства JavaBean. Это имя контекстного компонента, используемого для шаблонов. Итак, если имя класса bean - com.acme.Order, то имя контекстного компонента, для целью шаблонов будет «порядок».

Источник: http://www.smooks.org/guide

Смежные вопросы