Aug 31

In this article I discuss and illustrate a “SOA-less” solution in which the Oracle SOA Suite 11g R2 B2B receives a stream of different HL7 v2 delimited messages types (A01 and A03) using a single inbound adapter. The messages are converted into their “equivalent” HL7 v2 XML messages. I say “SOA-less” because all the work is done entirely within the B2B part of the SOA Suite – no OSB or SOA Composites are involved.

This article demonstrates one way in which different message types can be accepted through one inbound adapter.

The complete text of the article is availabloe at https://blogs.czapski.id.au/wp-content/uploads/2010/08/07_Oracle_SOA_Suite_B2B_Receiving_Stream_of_Multiple_HL7_v2_Message_Types_v1.0.2.pdf.

2 Responses to “Oracle SOA Suite 11g R2 B2B – Receiving a Stream of Multiple HL7 v2 Message Types”

  1. Manuel says:

    Hello,

    thank you for the tutorial but unfortunately I am not able to get it working on my installation. I did everything that was written serverel times but I always get the same error. Here is what happend all the time:

    The ADT_A01 hl7-message is sent and receaved. I get an ack-message and I can see the entries in the wired-message tab of the b2b-console. The hl7-message I sent is in state processing (I have not idea why?).The ack-message has state complete. There are no other message entries in the b2b-console (even no errors). If I look in the log of my soa-infra in the em-console I can find this error occuring at the same time when I sent the hl7-message. I have no idea what to do in order to get it working. I hope you can help me.

    Regards, Manuel

    Message Level 1
    dcid 6036393aeefc4818:66f2657a:12b456bd334:-7ffd-00000000000025cb
    Relationship ID 0
    Component soa_server1
    Module oracle.soa.b2b.engine

    Host workstation
    Host IP Address 192.168.178.15
    User
    Thread ID weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@19d5504
    ECID 0000IhFMDb49xWYjLpYROA1CbGYC000Q1g

    Message java.lang.UnsatisfiedLinkError: com.edifecs.xengine.xeobjects.XEHelper.createSourceFromStreamNative(Ljava/lang/String;Ljava/io/InputStream;)Lcom/edifecs/xengine/xeobjects/XESource;
    Supplemental Detail at com.edifecs.xengine.xeobjects.XEHelper.createSourceFromStreamNative(Native Method)
    at com.edifecs.xengine.xeobjects.XEHelper.createSourceFromStream(Unknown Source)
    at com.edifecs.xengine.xeobjects.XEHelper.createSourceFromBLOB(Unknown Source)
    at oracle.tip.b2b.document.edi.EDIDocumentPlugin.identifyIncomingDocument(EDIDocumentPlugin.java:501)
    at oracle.tip.b2b.engine.Engine.identifyDocument(Engine.java:4459)
    at oracle.tip.b2b.engine.Engine.processIncomingMessageImpl(Engine.java:2026)
    at oracle.tip.b2b.engine.Engine.processIncomingMessage(Engine.java:1533)
    at oracle.tip.b2b.engine.Engine.incomingContinueProcess(Engine.java:3494)
    at oracle.tip.b2b.engine.Engine.handleMessageEvent(Engine.java:3202)
    at oracle.tip.b2b.engine.Engine.processEvents(Engine.java:2948)
    at oracle.tip.b2b.engine.ThreadWorkExecutor.processEvent(ThreadWorkExecutor.java:575)
    at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:214)
    at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:105)
    at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
    at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
    java.lang.UnsatisfiedLinkError: com.edifecs.xengine.xeobjects.XEHelper.createSourceFromStreamNative(Ljava/lang/String;Ljava/io/InputStream;)Lcom/edifecs/xengine/xeobjects/XESource;
    at com.edifecs.xengine.xeobjects.XEHelper.createSourceFromStreamNative(Native Method)
    at com.edifecs.xengine.xeobjects.XEHelper.createSourceFromStream(Unknown Source)
    at com.edifecs.xengine.xeobjects.XEHelper.createSourceFromBLOB(Unknown Source)
    at oracle.tip.b2b.document.edi.EDIDocumentPlugin.identifyIncomingDocument(EDIDocumentPlugin.java:501)
    at oracle.tip.b2b.engine.Engine.identifyDocument(Engine.java:4459)
    at oracle.tip.b2b.engine.Engine.processIncomingMessageImpl(Engine.java:2026)
    at oracle.tip.b2b.engine.Engine.processIncomingMessage(Engine.java:1533)
    at oracle.tip.b2b.engine.Engine.incomingContinueProcess(Engine.java:3494)
    at oracle.tip.b2b.engine.Engine.handleMessageEvent(Engine.java:3202)
    at oracle.tip.b2b.engine.Engine.processEvents(Engine.java:2948)
    at oracle.tip.b2b.engine.ThreadWorkExecutor.processEvent(ThreadWorkExecutor.java:575)
    at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:214)
    at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:105)
    at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
    at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)

Leave a Reply to Manuel

preload preload preload