JMS adapter with complex messages

Each of our MQ Series messages contain several transactions.  Our standard format is:
<Message>
<RecordSet(1..n)>
HeaderRecord
Item Record(1..n)
</RecordSet>
</Message>
Does anyone have an example for how this would be done in XI 3.0?  I have seen how this can be done with the file adapter, but with the JMS adapter do I need to use BPM? 
Thanks,
Andrew

Each of our MQ Series messages contain several transactions.  Our standard format is:
<Message>
<RecordSet(1..n)>
HeaderRecord
Item Record(1..n)
</RecordSet>
</Message>
Does anyone have an example for how this would be done in XI 3.0?  I have seen how this can be done with the file adapter, but with the JMS adapter do I need to use BPM? 
Thanks,
Andrew

Similar Messages

  • Problem with Send using JMS Adapter with Websphere MQ

    Hi,
    We have two scenarios using JMS Adapter with MQ:
    1. File->PI->MQ
    This works fine and drop the file in MQ correctly.
    2. MQ->PI->File
    This gives an error reading from the queue: (see highlighted in the log below). It correctly connects to the queue name. But it fails with the message "Could not begin a AF transaction".
    Our PI version is 7.0 SP 13
    Websphere MQ Version 6.0.
    Any idea what could be wrong?
      Cluster Node  Administration Information  Availability Times
    Cluster Node Details for Channel CC_JMS_MQ_Sender
    Short Log 
    In the Last 4 Hours Server 0 15_92786
    _Sucessfully connected to destination 'queue:///MMPP.PLM.FGH41? CCSID=37&targetClient=1'_
       Line 1 / 1
    Processing Details for Cluster Node Server 0 15_92786
    Type 
    Time Stamp 
    Message ID 
    Explanation 
    9/2/08 2:27:28 PM 2e6206f0-7925-11dd-bc02-0003bae50b4d Error while processing message '2e6206f0-7925-11dd-bc02-0003bae50b4d';  _detailed error description: com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Could not begin a AF transaction: TxManagerException: Unable to open transaction: com.sap.engine.services.ts.exceptions.BaseSystemException at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:103) ..._  
    9/2/08 2:27:28 PM 2e6206f0-7925-11dd-bc02-0003bae50b4d XI message ID corresponding to JMS message with ID 'ID:414d512071736431202020202020202047d9462024028b02' will be created as a new GUID with value '2e6206f0-7925-11dd-bc02-0003bae50b4d'
    Amith Dharmasiri

    Checked the drivers installed in :
    /usr/sap/<SID>/DVEBMGS<SYSNO>
    /j2ee/cluster/server0/bin/ext/com.sap
    .aii.af.jmsproviderlib
    They are available and properly added to aii_af_jmsproviderlib.sda.
    The drivers are:
    CL3Export.jar
    CL3Nonexport.jar
    com.ibm.mq.jar
    com.ibm.mqjms.jar
    connector.jar
    dhbcore.jar
    rmm.jar
    These were installed per OSS note 747601.
    Any other suggestions, why retrieving from MQ doesn't work?

  • Problem in JMS-Adapter with CharacterSet Websphere MQ

    Hi,
    we have the following scenario:
    JMS -> PI -> File
    We have a local Websphere MQ Queue Manager and the follwoing configuration in our sender adapter:
    Transport-Protocol: WebSphere MQ (non JMS)
    Message-Protocol: JMS 1.x
    ConnectionFactory: com.ibm.mq.jms.MQQueueConnectionFactory
    Java-class Queue: com.ibm.mq.jms.MQQueue
    CCSID: 819
    Transport: TCP/IP
    JMS-conform: WebSphere MQ (non JMS)
    In the local queue manager the messages (XML-Messages with header <?xml version="1.0" encoding="ISO-8859-1"?>) have characterSet 819 (ISO-8859-1). That's correct. You can open the files with XMLSpy and it works.
    When we receive the messages by our JMS Sender Adapter all the character seems to be in UTF-8 and I don't know why. All the special characters are wrong cause the header of the XML-message shows ISO-8859-1 but all the signs are decoded in UTF-8.
    In the other direction (JMS Receiver adapter, File -> PI - JMS) we have the same problem.
    We create a ISO-8859-1 message in mapping (and it is really ISO-8859-1) and send it via JMS Receiver Adapter to the local message queue. But there the message arrives in UTF-8 encoding. I don't understand this.
    Does anybody know what could be the cause for this?
    Does the JMS adapter convert the messages from ISO-8859-1 into UTF-8?
    Are there any parameters we have to set?
    I hope anybody has an idea what's wrong.
    Regards
    Thorsten
    Edited by: Thorsten Hautz on Oct 12, 2010 5:42 PM

    Hi,
    thanks a lot for your replies.
    our driver settings are correct (as I can see).
    I removed value 819 from CCSID, but we have the same effect.
    The messages in the local queue manager are TextMessages in XML.
    Does anybody know, if we need the standard modules (ConvertJMSMessageToBinary and ConvertBinaryToXMBMessage) in this case?
    Is it possible to set the CCSID for the message payload anywhere in the configuration?
    The CCSID in the Source tab doesn't have any influence to the encoding of the payload message, only to the header data.
    Regards
    Thorsten

  • JMS Adapter Supports below message

    Hi Frnds,
    I am working on one scenario i have to read and write RFH2 Message from MQ,we decided to use jms adapter.
    JMS Adapter supports below Message to put in MQ,
    <Data>
         <MQRFH2>
              <usr>
                   <TransactionType>GL_Update</TransactionType>
                   <Environment>LIVE</Environment>
                   <SourceScheme>EANCM</SourceScheme>
                   <SourceApplicationId>5051150003606</SourceApplicationId>
                   <DestScheme>EANCM</DestScheme>
                   <DestinationRouting>5051150003330</DestinationRouting>
                   <OriginalRouting/>
                   <MessageRecordCount>1</MessageRecordCount>
                   <BusinessTransactionId>20090405193001</BusinessTransactionId>
                   <ParentBusTID/>
                   <ParentBusId/>
                   <EECode>Y</EECode>
              </usr>
              <mcd>
                   <Msd>xml</Msd>
              </mcd>
         </MQRFH2>
         <Message>
              <GL_Update>
                   <header>
                        <SourceEAN>5051150003606</SourceEAN>
                        <DestinationEAN>5051150003330</DestinationEAN>
                   </header>
                   <detail>
                        <AuthorisedUser/>
                        <HeaderText/>
                        <HeaderReference/>
                        <PostingItem>
                             <ProfitCentre>7027101000</ProfitCentre>
                             <CostCentre/>
                             <AccountCode>0001413150</AccountCode>
                             <GlobalBusinessIdentifier>AU10</GlobalBusinessIdentifier>
                             <MonetaryAmount>0000000100.00</MonetaryAmount>
                             <GlobalCurrencyCode>AUD</GlobalCurrencyCode>
                             <RunDate>20080725</RunDate>
                             <Description>IV006270M000000000000000000001</Description>
                             <WorkBreakdownStructureElement/>
                             <BudgetRequest/>
                             <TransactionType/>
                             <TransactionNumber/>
                             <PostingKey>50</PostingKey>
                             <SalesTax>
                                  <SalesTaxCode/>
                                  <SalesTaxAmount/>
                             </SalesTax>
                             <PersonnelNumber/>
                             <Assignment/>
                             <CalculateTaxBase/>
                             <BaselineDate/>
                             <PaymentTerms/>
                             <MedicalReference/>
                        </PostingItem>
                        <PostingItem>
                             <ProfitCentre/>
                             <CostCentre/>
                             <SalesTax>
                                  <SalesTaxCode>P3</SalesTaxCode>
                             </SalesTax>
                        </PostingItem>
                        <PostingItem>
                             <ProfitCentre>7022001001</ProfitCentre>
                             <CostCentre/>
                             <AccountCode>0001701001</AccountCode>
                        </PostingItem>
                   </detail>
                   <trailer>
                        <thisDocumentGenerationDateTime>20090405T072928Z</thisDocumentGenerationDateTime>
                        <thisDocumentIdentifier>20090405T072928Z</thisDocumentIdentifier>
                   </trailer>
              </GL_Update>
         </Message>
    </Data>
    please help me on this
    it possible to achieve using JMS adapter or not?? what is the alternative solution ??
    Regards,
    raj

    Hi RSR,
    JMS is the better way to connect sonic MQ.below iam attaching you few points while using JMS.
    1.for the JMS adapter an external driver is needed (java archive)
    2.this archive is provided by the respective provider of the queuing system
    3.the driver has to be deployed via SDM , see XI configuration guide for details
    4.Routing rules and sender has to be specified as for any other channel in the directory
        object model
    5.the message header information is determined from the appropriate sender
       agreement for the communication channel
    6.the communication channel defined must be used in exactly one sender agreement
    7.at least the interface name and the sender service must be qualified in the
        sender agreement ,other fields are optional 
    Depending on the transport protocol selected, specify the following :
    8.For Sonic MQ JMS Provider :
    ·        Java class QueueConnectionFactory
    ·        Java class queue
    ·        IP address or server name
    ·        Server port
    ·        JMS queue
    9.JNDI JMS Provider Lookup
    ·        JNDI name of QueueConnectionFactory
    ·        JNDI name of JMS queue
    ·        Name of JNDI Initial Context Factory
    ·        Address of JNDI server
    ·        JNDI users
    ·        JNDI password with confirmation
    10.
    For WebSphereMQ (MQ Series) JMS Provider
    ·        Java class QueueConnectionFactory
    ·        Java class queue
    ·        IP address or server name
    ·        Queue manager name
    ·        Channel name
    ·        JMS queue
    ·        Character set for non-ASCll names
    ·        Transport/network protocol
    ·        Target client
    11.
    JMS Provider Administered Objects via File
       File name of serialized object QueueConnectionFactory
       File name of serialized object Queue
    With Rgds,
    MF.Haq

  • Debugging JMS adapter with Module Configuration

    Hi.
    I have a problem debugging my JMS adapter with module configuration.
    All I get from the Message Monitor is a status "System Error", and no error category or error message.
    I know there's an error in my Module configuration design, since it works fine without.
    My configuration looks like this:
    PROCESSING SEQUENCE:
    1     localejbs/AF_Modules/MessageTransformBean     Local Enterprise Bean     XML2Plain
    2     localejbs/SAP XI JMS Adapter/ConvertMessageToBinary     Local Enterprise Bean     convert_XI2Bin
    3     localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService     Local Enterprise Bean     exit
    MODULE CONFIGURATION:
    XML2Plain     Transform.Class     com.sap.aii.messaging.adapter.Conversion
    XML2Plain     Transform.ContentType     text/plain;charset=utf-8
    XML2Plain     xml.conversionType     StructXML2Plain
    XML2Plain     xml.addHeaderLine     0
    XML2Plain     xml.recordsetStructure     STARTRECORD,DATARECORD,SERVICEYDELSERRECORD,SLUTRECORD
    XML2Plain     xml.STARTRECORD.fieldFixedLengths     2,8,6,7,10,7,3,3
    XML2Plain     xml.DATARECORD.fieldFixedLengths     2,8,6,4,35,17,7,7,7,5,5,5,18,18,18,18,18,18,18,18,18,9
    XML2Plain     xml.SERVICEYDELSERRECORD.fieldFixedLengths     2,8,6,4,3,20,18,18,18
    XML2Plain     xml.SLUTRECORD.fieldFixedLengths     2,8,6,7,10,7
    XML2Plain     xml.STARTRECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.DATARECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.SERVICEYDELSERRECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.SLUTRECORD.fixedLengthTooShortHandling     Cut
    The structure of the message looks like this:
    <STARTRECORD> (occurence = 1)
    <DATARECORD> (occurence = 1..unbounded)
    --- <SERVICEYDELSERRECORD> (occurence = 0..unbounded)
    <SLUTRECORD> (occurence = 1)
    I've crosschecked every field, and it length and all looks like it should!
    The worst part is the one not getting the reason why it fails. Any way I can get this information?
    I've tried to look in the Adapter Framework log, but I have no clue where to look for anything usefull.
    Help
    Regards Peter

    Hello,
    Below is the module configuration in my JMS sender channel:
    Check Message          Local Enterprise Bean          key
    ConvertJMSMessageToBinary      Local Enterprise Bean      convert_JMS2Bin
    ConvertBinaryToXMBMessage     Local Enterprise Bean      convert_Bin2XI
    CallSapAdapter                Local Enterprise Bean          call_AF_MS
    CheckMessage is a custom module which does some check on the incoming message.
    Now what I want to know is at which position should I include the DynamicConfiguration Bean? Should it be included at position 1 or at position 2 or someother position?
    ~Thanks.

  • Inbound JMS adapter with MapMessage

    I'm sharing the following problem and solution with using the OEP inbound message adapter because it may be
    a common situation occurring to other users.
    Recently was using the inbound JMS adapter with its default (OEP internal) converter from JMS MapMessage
    messages to OEP events. The inbound adapter was receiving MapMessage messages but it was not assigning
    values to the corresponding attributes in the specified input event instance.
    The problem was that I was not properly creating the MapMessage messages in the JMS producer client.
    I was using method setStringProperty() instead of method setString(), which is what is needed to set name/value
    pairs of type String, and similarly with other primitive Java data types. Here's a code snippet for building and sending
    a MapMessage on the client side:
          try {
          mapm = qsess.createMapMessage();
          mapm.setString("valueType1", "value1");
          mapm.setString("valueType2", "value2");
          mapm.setInt("valueType3", 5);
          producer.send(mapm);
         } catch (JMSException jmse) {
         jmse.printStackTrace(System.err);
         System.exit(0);
    Regards,
    Mauricio

    OSB JMS config:
    <queue name="RequestQ">
    <sub-deployment-name>wlsbJMSServer</sub-deployment-name>
    <jndi-name>RequestQ</jndi-name>
    </queue>
    <queue name="ResponseQ">
    <sub-deployment-name>wlsbJMSServer</sub-deployment-name>
    <jndi-name>ResponseQ</jndi-name>
    </queue>
    Business service in OSB from where message is sent to the "ResponseQ" which is consumed by CEP.
    Jms Inbound CEP Config:
    <jms-adapter>
    <name>jmsAdapterInbound</name>
    <jndi-provider-url>t3://10.227.145.164:7005</jndi-provider-url>
    <connection-jndi-name>weblogic.jms.XAConnectionFactory</connection-jndi-name>          
    <destination-jndi-name>ResponseQ</destination-jndi-name>
    <user>weblogic</user>
    <password>weblogic123</password>
    <work-manager>JettyWorkManager</work-manager>
    <concurrent-consumers>1</concurrent-consumers>
    <session-transacted>false</session-transacted>
    </jms-adapter>

  • Sender JMS Adapter with EOIO Quality of Service

    Hi,
    I have a sender JMS adapter with a quality of service as EOIO. In the SAP help it says that I need to specify the "Processing J2EE Cluster Server (Cluster ID)". Just wondering how I get this value? Does anyone have an example?
    Thanks,
    Krishneel

    Hi,
    Please go through the bleow Wiki:
    http://wiki.sdn.sap.com/wiki/display/XI/FAQ+J2EEJMS+Adapter
    http://help.sap.com/saphelp_nwpi71/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    Thanks,
    satya

  • MDB,MDB container or JMS adapter stops processing messages from JMS queue

    Hi guys,
    we have created a component using Enterprise Java Beans, let's say a product catalog, deployed it on a Glassfish v2 instance, and connected it to a legacy system using JMS and Sun MQ v4.1 as messaging system. The catalog component thus starts one MDB that listens on a JMS queue, let's say a queue named catalog_business_events_in, and waits for incoming messages, i.e. in our case update events. The problem is, that in general this approach works well, but sometimes the MDBs/JMS adapter stops for some reason fetching and processing messages from the JMS queue. We don't know why - no exceptions, etc.. Seems to be a Glassfish EJB container, JMS adapter or Sun MQ configuration issue. It seems to be that our component is not the problem.
    The messages are compressed/uncompressed by Sun MQ automatically. We actually have 2 Sun MQ instances in clustered mode running to have some kind of failover - no HA cluster, yet. Sun MQ instances are accessed from Glassfish instances running in different Glassfish clusters - so we have a dedicated Sun MQ cluster not a Sun MQ instance per Glassfish instance. Each Glassfish instance is configured such that it knows both Sun MQ instances to allow automatic failover.
    Has someone an idea, why the MDBs/ MDB container/ JMS adapter - stops processing messages? We are kind of puzzled as it happens more often now and apparently when traffic is (very) low not high!
    Thanks for your help.
    Cheers,
    Martin
    Edited by: east1979 on Jan 13, 2009 8:06 AM

    Hi Manoj,
    I have a very similar if not identical issue,
    Error while running realtime jobs that read from JMS tables via JMS MQ adapter:
    15/11/12 09:10:08  JMS GET OPERATION ERROR : TIMEOUT.UNABLE TO RECEIVE RESPONSE FROM THE INVOKED DATA SERVICES SERVICE.ADAPTER OPERA
    TION TO CONTINUE.
    15/11/12 09:10:15  Communication Error. See real time job log for details.
    Dump available:
    https://sapmats.wdf.sap.corp/download/download.cgi?id=5C0KZAHA3RSXBJW3ABLMUUT2P5UUKWO2TM3EJDM5W2HGDZUDID
    Version of DS:14.0.3.273
    Any comments?
    Thansk and kind Regards,
    Kenneth

  • Sample Websphere6 JMS application with default Messaging

    Hi,
    Where could I get the Sample Websphere6 JMS application with default messaging?.
    Please post me a link
    Thank you

    I am trying to execute
    SimpleQueueSender.java from jms tutorial but unforunately getting following
    errors.
    Errors-->
    Queue name is MyQueue
    JNDI lookup failed: javax.naming.CommunicationException:
    java.rmi.MarshalException: CORBA MARSHAL 13
    98079699 Maybe; nested exception is:
    org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge :
    minor code: 139807969
    9 completed: Maybe
    org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge : minor
    code: 1398079699 comple
    ted: Maybe
    at
    com.sun.corba.ee.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_
    1_0.java:936)
    at
    com.sun.corba.ee.internal.iiop.CDRInputStream.read_value(CDRInputStream.java
    :292)
    at
    com.sun.corba.ee.internal.corba.TCUtility.unmarshalIn(TCUtility.java:268)
    at
    com.sun.corba.ee.internal.corba.AnyImpl.read_value(AnyImpl.java:562)
    at
    com.sun.corba.ee.internal.iiop.CDRInputStream_1_0.read_any(CDRInputStream_1_
    0.java:618)
    at
    com.sun.corba.ee.internal.iiop.CDRInputStream.read_any(CDRInputStream.java:2
    63)
    at
    com.sun.corba.ee.internal.javax.rmi.CORBA.Util.readAny(Util.java:103)
    at javax.rmi.CORBA.Util.readAny(Util.java:92)
    at
    org.omg.stub.com.sun.enterprise.naming._SerialContextProvider_Stub.lookup(Un
    known Source)
    at
    com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:154)
    at javax.naming.InitialContext.lookup(InitialContext.java:350)
    at SimpleQueueSender.main(SimpleQueueSender.java:70)
    I have all the setup required for running jms api examples & also tried all the tips mentioned here ,but still getting these errors . Any
    help would be greatly appreciated.
    Praveg

  • Using JMS adapter with J2ee native queuing system

    Hi there,
    As far as I have understood J2EE contains it's own native queuing system (JMS). Since the J2EE is part of the WAS, shouldn't it be possible to somehow use XI's JMS adapter in conjunction with this native JMS?
    I've tried to search many places in many ways, but haven't been able to find any info. Is it possible at all?
    Hope, some of u guys can help out there:-)
    Regards,
    Daniel

    Hi Keith,
    It looks as if you are in the same situation.
    We have this working very nicely now and I'm happy to share. In fact I was just granted wiki permissions so I can add the information there along with screen shots.
    Informaiton on this configuration is very scattered but I imagine many people would find it useful for integrating with Mainframes without adding any complexity to the legacy environment. Let me come back to you with some more inormation, but for now you can get started with this:
    Insert a module as the 3rd line in your Module Processing Sequence to use AF_Modules/MessageTransformBean and give it a key in order to associate with the parameters you will need to type in below. These parameters are very similar to normal XI File adapter parameters.
    SAP Note 793922 has more info on the parameters... not the greatest reference I know.
    Also this has some info...
    http://help.sap.com/saphelp_nw04/Helpdata/EN/57/0b2c4142aef623e10000000a155106/content.htm
    I'll try and get some screen shots up on the Wiki.

  • Problem with calling AQ JMS Adapter with Asynchronous BPEL Process

    I have a AQ JMS Adapter and i'm invoking the adapter in my BPEL process.
    I'm passing an xml as payload to AQ JMS adapter. When i post the xml in the BPEL Control, i'm getting the follwoing message:
    "Cannot find the specified instance". I have tried 3-4 times but getting same message all the time.
    However, i'm able to publish xml to JMS Topic with synchronous BPEL process.
    I want to use asynchronous BPLE process.
    Please let me know if there is a way to overcome this issue.
    Thanks in advance.
    Thanx in Advance.

    I am experiencing the exact same issue while configuring for Tibco EMS!!!
    I have also checked the oc4j-xa.xml file etc and I am also unable to find any guidance on the steps required from XML config files through to adapter wizard entries!

  • Payload level filter JMS Adapter with Queue - not filtering

    Hi ,
    I have created AQ Queue in my Database, Using JMS Adapter i am able consume and produce the messages. I want a filter condition, which is not happening.
    The scenario is i have a field ImportInd in my XSD and i need to pick the message with ImportInd = 1, otherwise the message should lie on the queue.
    Please help me in this,
    Thanks,
    Padmini

    Trying to give you the counterparts I have in my working example.
    In my case the queue is on a separate machine, and the BPEL is deployed on a separate machine. Cross-domain security config needs to be done for these machines to be able to talk.
    In weblogic console: where BPEL is running.
    under deployment jmsadapter -> Outbound Connections -> jndi name is jms/PRISMQueue -> ConnectionFactoryLocation Property is jms/SoaCF
    where queue is configured.
    Under JMS Module Connection Factory Name is SoaConnectionFactory which JNDI name is jms/SoaCF
    Under JMS Module Queue Name SOAPostActivityStatusQueue which JNDI name is jms.SOAPostActivityStatusQueue
    Services>Messaging>JMSModules>MyModule>SOAPostActivityStatusQueue>
    JNDI name - jms.SOAPostActivityStatusQueue
    Adapter in BPEL/Composite-
    Destination - jms.SOAPostActivityStatusQueue
    JNDI - jms/PRISMQueue
    JCA:
    <adapter-config name="PostResponseFromPCService" adapter="JMS Adapter" wsdlLocation="PostResponseFromPCService.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="jms/PRISMQueue" UIJmsProvider="WLSJMS" UIConnectionName="tacoma"/>
    <endpoint-activation portType="Consume_Message_ptt" operation="Consume_Message">
    <activation-spec className="oracle.tip.adapter.jms.inbound.JmsConsumeActivationSpec">
    <property name="PayloadType" value="TextMessage"/>
    <property name="UseMessageListener" value="false"/>
    <property name="DestinationName" value="jms.SOAPostActivityStatusQueue"/>
    </activation-spec>
    </endpoint-activation>
    </adapter-config>
    HTH.
    Thanks!

  • Language support in JMS adapter with Oracle JDev 10.1.3.1

    Hi,
    I' using JDeveloper 10.1.3.1 with Oracle SOA Suite - ESB 10.1.3.1 in the following scenario:
    1) Use Database adapter with "on insert" condition to read Student record with Chinese name (Unicode format) - ESB process
    2) Use JMS adapter to push this data into "DemoTopic" as string - ESB process
    3) Use Message Driven Bean's (EJB 3.0) "onMessage" method to fetch the data from JMS topic - J2EE app
    4) Use JDBC executeUpdate to update this Chinese name into another database table - J2EE app
    5) Finally, verify the updated Chinese name in ADF application - J2EE app
    Prerequisites
    1) The database charset on both sides of the flow is UTF8
    2) The ADF application JSF page encoding is UTF8
    3) The SOA Suite is installed on DB repository (UTF8 charset)
    Result
    1) The flow from Step 1-5 works.
    2) But, the println of the JMS message (holding the Chinese name) gives "????" when checked with Wordpad (Unicode readable word processor)
    3) Junk characters are inserted into the database
    Please let me know where I'm going wrong. Also, let me know if I need to configure/set the character encoding in OC4J, or the JMS adapter and how.

    Hi all,
    This is been resolved by using the AL32UTF8 character set in the database. JMS adapter by default supports UTF-8. No setting/configuration needs to be done.

  • Distributed topic - JMS adapter consuming duplicate messages

    We have distributed topic thats consumed by a composite (JMSadpter in mediator).
    We see for every one message sent the composite consumes the message twice. (With forwarding policy set to partitioned)
    Is this an expected behavior? and how do we make the consumer (JMS adapter) consume only once per message
    Thanks
    Vijay

    From the documentation (provided here: http://download.oracle.com/docs/cd/E21764_01/integration.1111/e10231/adptr_jms.htm)
    The JMS API specifies three types of acknowledgments that can be sent by the JMS publisher:
    - DUPS_OK_ACKNOWLEDGE, for consumers that are not concerned about duplicate messages
    - AUTO_ACKNOWLEDGE, in which the session automatically acknowledges the receipt of a message
    - CLIENT_ACKNOWLEDGE, in which the client acknowledges the message by calling the message's acknowledge method
    Could you check in the weblogic-ra.xml what acknowledge mode has been configured:
    <property>
        <name>AcknowledgeMode</name>
        <value>AUTO_ACKNOWLEDGE</value>
    </property>
    ...Note that when DUPS_OK_ACKNOWLEDGE is used it can happen that a message is consumed more than once.
    Are you also sure that the message is not produced twice?
    Seminar on Cloud Computing - http://middlewaremagic.com/weblogic/?p=7387

  • URGENT: JMS Adapter With BPEL: Reply Only Scenario

    Gurus,
    I have the following scenario to be implemented:
    1) BPEL Process A invokes an Async web-service (on some other SOA)
    2) Process A then does some processing.
    3) Then, process A waits for a reply message. The reply is sent in a JMS queue by the async Webservice.
    4) I have an intermediate receive activity within the same BPEL process A that connects to the JMS Adapter. JMS Adapter is set up to consume messages from the queue.
    I see messages pending in the queue but my receive doesn't continue.
    Thanks-
    Ashish

    Hello,
    There are interoperability issues between the Mid-tier and the RDBMS at present because the the mid-tier is using older version of the AQ jar files. At present the mid-tier is based on 10.1.0.5 and the backend will be whatever the backend is. Your issue sounds like a NLS issue given that bytes are fine but text is not. The characterset of the database will probably be important in this situation. So you check if the issue reproduces with different charactersets if possible. What characterset are you using and what is the Payload that the queue table is built on?
    I would also suggest you try and build a standalone java application which reproduces the problem. You could most likely achieve this by creating a 10.1.0.5 RDBMS home and using the jar files from that install and then run it against your database to see if it reproduces the issue.
    Anything that you can do to break down the problem will help Oracle Support identify what the issue is.
    Thanks
    Peter

Maybe you are looking for