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.
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 DharmasiriChecked 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? -
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,
PadminiTrying 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! -
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,
MauricioOSB 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> -
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. -
hi,
I am trying to enqueue the message to Oracle database Queue(i.e. AQADM.QUEUE_MESSAGE) by using JMS Provider Oracle Enterprise Messaging Service (OEMS) using the potion Oracle Advance Queuing .I am Reading the message from xml file using File adapter to enqueue it to database queue. I have configured the JMS Configuration at WebLogic console.
I have created the queue in database by using following Script
CREATE USER aqadm IDENTIFIED BY aqadm;
GRANT my_aq_adm_role TO aqadm;
/* create AQ queue user: */
CREATE USER aquser IDENTIFIED BY aquser;
GRANT my_aq_user_role TO aquser;
CONNECT aqadm/aqadm;
/* create a message type: */
CREATE OR REPLACE
TYPE AQADM.QUEUE_MESSAGE_TYPE AS OBJECT
title VARCHAR2(30),
text VARCHAR2(500)
GRANT EXECUTE ON AQADM.QUEUE_MESSAGE_TYPE TO my_aq_user_role;
GRANT UNLIMITED TABLESPACE TO aqadm;
begin
DBMS_AQADM.CREATE_QUEUE_TABLE(
queue_table => 'aqadm.queue_message_table',
queue_payload_type => 'aqadm.queue_message_type');
END;
begin
DBMS_AQADM.CREATE_QUEUE(
queue_name => 'aqadm.message_queue',
queue_table => 'aqadm.queue_message_table');
END;
/* individual queues are started using the start_queue procedures */
begin
DBMS_AQADM.START_QUEUE(
queue_name => 'aqadm.message_queue');
END;
I am using the following XSD for input message :-
<?xml version= '1.0' encoding= 'UTF-8' ?>
<schema targetNamespace="http://xmlns.oracle.com/xdb/AQADM" xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:AQADM="http://xmlns.oracle.com/xdb/AQADM" elementFormDefault="unqualified" attributeFormDefault="qualified">
<complexType name="QUEUE_MESSAGE_TYPE">
<sequence>
<element name="TITLE" nillable="true" minOccurs="0">
<simpleType>
<restriction base="string">
<maxLength value="30"/>
</restriction>
</simpleType>
</element>
<element name="TEXT" nillable="true" minOccurs="0">
<simpleType>
<restriction base="string">
<maxLength value="500"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
<element name="QUEUE_MESSAGE_TYPE" type="AQADM:QUEUE_MESSAGE_TYPE"/>
</schema>
During AQ queuing by using JMS adapter. i am geting following error message:-
JMS-108: Messages of type TextMessage not allowed with Destinations containing payload of type AQADM.QUEUE_MESSAGE_TYPE.
Please help mehi,
I am trying to enqueue the message to Oracle database Queue(i.e. AQADM.QUEUE_MESSAGE) by using JMS Provider Oracle Enterprise Messaging Service (OEMS) using the potion Oracle Advance Queuing .I am Reading the message from xml file using File adapter to enqueue it to database queue. I have configured the JMS Configuration at WebLogic console.
I have created the queue in database by using following Script
CREATE USER aqadm IDENTIFIED BY aqadm;
GRANT my_aq_adm_role TO aqadm;
/* create AQ queue user: */
CREATE USER aquser IDENTIFIED BY aquser;
GRANT my_aq_user_role TO aquser;
CONNECT aqadm/aqadm;
/* create a message type: */
CREATE OR REPLACE
TYPE AQADM.QUEUE_MESSAGE_TYPE AS OBJECT
title VARCHAR2(30),
text VARCHAR2(500)
GRANT EXECUTE ON AQADM.QUEUE_MESSAGE_TYPE TO my_aq_user_role;
GRANT UNLIMITED TABLESPACE TO aqadm;
begin
DBMS_AQADM.CREATE_QUEUE_TABLE(
queue_table => 'aqadm.queue_message_table',
queue_payload_type => 'aqadm.queue_message_type');
END;
begin
DBMS_AQADM.CREATE_QUEUE(
queue_name => 'aqadm.message_queue',
queue_table => 'aqadm.queue_message_table');
END;
/* individual queues are started using the start_queue procedures */
begin
DBMS_AQADM.START_QUEUE(
queue_name => 'aqadm.message_queue');
END;
I am using the following XSD for input message :-
<?xml version= '1.0' encoding= 'UTF-8' ?>
<schema targetNamespace="http://xmlns.oracle.com/xdb/AQADM" xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:AQADM="http://xmlns.oracle.com/xdb/AQADM" elementFormDefault="unqualified" attributeFormDefault="qualified">
<complexType name="QUEUE_MESSAGE_TYPE">
<sequence>
<element name="TITLE" nillable="true" minOccurs="0">
<simpleType>
<restriction base="string">
<maxLength value="30"/>
</restriction>
</simpleType>
</element>
<element name="TEXT" nillable="true" minOccurs="0">
<simpleType>
<restriction base="string">
<maxLength value="500"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
<element name="QUEUE_MESSAGE_TYPE" type="AQADM:QUEUE_MESSAGE_TYPE"/>
</schema>
During AQ queuing by using JMS adapter. i am geting following error message:-
JMS-108: Messages of type TextMessage not allowed with Destinations containing payload of type AQADM.QUEUE_MESSAGE_TYPE.
Please help me -
Same file name using JMS adapter on sender side.
Hi Friends,
I got a requirement to capture file name using JMS adapter on the sender side.
Can some one help me in resolving this issue.
Regards,
Jeevan.Hi ,
You can use Dynamic Configuration in mapping.
Create a UDF with input as file name and copy/paste this code
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
//conf.removeAll();
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
//String filename= conf.get(key);
conf.put(key, fileName);
key= null;
return fileName;
Thanks. -
How to get the incoming file name using JMS adapter and SOAP adapter
Hi Everybody,
In one of my interface i need to get the file name of incoming flat file using JMS adapter at sender side. and then i am using xslt to convert it to IDOC and then posting to SAP IDOC.
my incoming filname are in this form price<DateTimestamp>.txt. when i do the tranformation this incoming file name should be part of one element in the IDOC which i am posting.
EX:
<IDOC
<REF>price<DateTimestamp>.txt</REF>
</IDOC>
Hope it is clear to everybody. I need your suggestion how i can capture this incoming file name and send it as part of IDOC.
Thanks
rajIf they are passing it in message id or correlation id,
you can access it using
<xsl:variable name="dynamic-conf"
select="map:get($inputparam, 'DynamicConfiguration')" />
<xsl:variable name="dynamic-key"
select="key:create('http://sap.com/xi/XI/System/JMS', 'DCJMSMessageID/ DCJMSCorrelationID')" />
<xsl:variable name="dynamic-value"
select="dyn:get($dynamic-conf, $dynamic-key)" />
Check this:
http://help.sap.com/saphelp_nw70/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
Thanks,
Beena. -
How to Set JMS property and Read JMS property in BPEL using JMS adapter
Does any one know how to set or read more than one JMS property in BPEL using JMS adapter. My queue server is Oracle JMS server.
Any help and sample is well appreciatedHi Van
I have noted that only the attribute "type" is missing. It seems that when you create a "string" property, the attribute "type" is droped from the XML. If you use another type (as "integer" or "double") it stays there.
If you try to read your properties, except for the "type" attribute, you should be successful, as I am. If you need, please tell me your email, I can send you my code.
Source Code:
in ASSIGN activity (process which SENDS the JMS message):
<assign name="TESTES">
<copy>
<from expression="'string'"/>
<to variable="HeaderJms" part="outboundHeader"
query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@type"/>
</copy>
<copy>
<from expression="'name'"/>
<to variable="HeaderJms" part="outboundHeader"
query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@name"/>
</copy>
<copy>
<from expression="'value1'"/>
<to variable="HeaderJms" part="outboundHeader"
query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@value"/>
</copy>
<bpelx:append>
<bpelx:from>
<Property name="" type="" value=""
xmlns="http://xmlns.oracle.com/pcbpel/adapter/jms/"/>
</bpelx:from>
<bpelx:to variable="HeaderJms" part="outboundHeader"
query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties"/>
</bpelx:append>
<copy>
<from expression="'string'"/>
<to variable="HeaderJms" part="outboundHeader"
query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@type"/>
</copy>
<copy>
<from expression="'name2'"/>
<to variable="HeaderJms" part="outboundHeader"
query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@name"/>
</copy>
<copy>
<from expression="'value2'"/>
<to variable="HeaderJms" part="outboundHeader"
query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@value"/>
</copy>
</assign>
in ASSIGN activity (process which READS the JMS message)
<assign name="Assign_1">
<copy>
<from variable="Variable_1" part="inboundHeader"
query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[10]/@name"/>
<to variable="temp"/>
</copy>
<copy>
<from variable="Variable_1" part="inboundHeader"
query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[10]/@value"/>
<to variable="temp"/>
</copy>
<copy>
<from variable="Variable_1" part="inboundHeader"
query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[12]/@name"/>
<to variable="temp"/>
</copy>
<copy>
<from variable="Variable_1" part="inboundHeader"
query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[12]/@value"/>
<to variable="temp"/>
</copy>
</assign>
Note that I do not try to read the "type" attribute, otherwise it will fail.
Here is the JMS Header Message received:
<inboundHeader>
<JMSInboundHeadersAndProperties xmlns="http://xmlns.oracle.com/pcbpel/adapter/jms/">
<JMSInboundHeaders>
<JMSCorrelationID>
bpel://localhost/pi_lms-c001e/BpelPiAtualizacaoC001E~1.0/3200025-BpInv0-BpSeq1.6-2
</JMSCorrelationID>
<JMSDeliveryMode>2</JMSDeliveryMode>
<JMSExpiration>0</JMSExpiration>
<JMSMessageID>ID:467DFA1FA1ED459EBF37F51F596C3F12</JMSMessageID>
<JMSPriority>4</JMSPriority>
<JMSRedelivered>false</JMSRedelivered>
<JMSType>com.mercurio.lms.integration.c001eip.c001EIntegrationPoint</JMSType>
<JMSTimestamp>1201552046253</JMSTimestamp>
</JMSInboundHeaders>
- <JMSInboundProperties>
<Property name="JMSXDeliveryCount" type="integer" value="1"/>
<Property name="JMSXRecvTimestamp" type="long" value="1201552046698"/>
<Property name="JMSXUserID" value="lms_dev_int_v1_user"/>
<Property name="JMS_OracleDeliveryMode" value="2"/>
<Property name="JMS_OracleTimestamp" type="long" value="1201552046253"/>
<Property name="JMS_OracleDelay" type="long" value="0"/>
<Property name="JMSXState" type="integer" value="0"/>
<Property name="IAS_VERSION" value="10.1.3"/>
<Property name="JMS_OracleDeliveryMode" value="2"/>
<Property name="name" value="value1"/> ("type" attribute was droped!!!)
<Property name="JMS_OracleTimestamp" type="long" value="1201552046253"/>
<Property name="name2" value="value2"/> ("type" attribute was droped!!!)
</JMSInboundProperties>
</JMSInboundHeadersAndProperties>
</inboundHeader>
Regards
Marcelo -
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 PeterHello,
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. -
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,
KrishneelHi,
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 -
Correlation and Async/Sync Communication using JMS adapter without BPM
Hello
1. Pls explain with simple example docs/links --- Correlation
2. Async/Sync Communication using JMS adapter without BPM
If i see blog --- If I go with blog --- /people/sudheer.babu2/blog/2007/01/18/asyncsync-communication-using-jms-adapter-without-bpm-sp-19
Pls explain --- Correlation Settings, select JMSMessageID for the XI Conversation ID.
Pls explain -- Correlation Settings, select XI Conversation ID as jMSCorrelationID.
Can you pls explain me this example with JMSMessageID and JMSCorrelationID context
RegardsHi Henry,
For Correlation, please go through the below link.
/people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
Sync / Async Bridge communication using JMS : http://help.sap.com/saphelp_nw04s/helpdata/en/45/20d251c20a0732e10000000a155369/frameset.htm
Sync / Async communication without BPM in JMS : /people/venkataramanan.parameswaran/blog/2007/01/18/syncasync-communication-in-jms-adapter-without-bpm-sp19
/people/henrique.pinto/blog/2007/08/02/syncasync-scenarios-without-bpm
Hope these help
Regards
Kiran.. -
Async/Sync Communication using JMS adapter without BPM
Hello ,
Pls suggest how Async/Sync Communication using JMS adapter without BPM .
In my scenario I have JMS Sender and then RFC/JDBC as Sync and then again JMS receiver
Pls explain the concept of
JMSMessageID and JMSCorrelationID and how to use it by an example.
RegardsHi,
If you have selected JMSMessageID, JMSCorrelationID, or JMSProperty and entered a JMS message ID in these fields, you should see the Remove 'ID:' Marker from JMSMessageIDindicator. Set the indicator.
This is necessary because the JMS specification stipulates that each JMS message ID starts with 'ID'. However, this conflicts with ISO-11578.
- JMSMessageID (Uniqueness Is JMS-Provider-Dependent)
(String) The unique message ID. Note that this is not a required field and can be null. Since the JMS provider might not use your provided message ID, the Connector sets a special property called $jms.messageid after sending a message. This is to insure that the message ID always is available to the user. To retrieve this value use conn.getProperty("$jms.messageid") in your After Add hook.
- JMSCorrelationID (Uniqueness Is JMS-Sender-Dependent)
(String) This header is set by the application for use by other applications.
Hope this will help you.
Regards
Aashish Sinha
PS : reward points if helpful -
How to use JMS in a J2EE environment
Hello all,
I would like to find out how to use JMS in a J2EE environment. I use Borland Enterprise Server. Do I need to buy a message software to use JMS? How to use JMS with Message Driven bean?
Thanks a lot.
Best regards
SusanIf you don't want to buy you could try OpenJMS, a free JMS product (http://openjms.sourceforge.net/)
As for learning how to use JMS w/ MDBs, I would suggest grabbing a book on JMS. I found the OReilly book on JMS to be pretty helpful for me. -
Polling messages based on priority in BPEL using JMS adapter
Hi All,
Is it possible to poll the messages based on the priority in BPEL using JMS adapter?
I could set the priority for the messages but while polling it is picking the messages in FIFO(First in First out) order. But I want the messages to be picked on priority.Any help is appreciated.Do you only want to pick up messeges with a certain priority? So anything larger than say priority 2?
You can try this: Oracle JCA Adapter for JMS - 11g Release 1 (11.1.1.5.0)
Message SelectorThis field is also optional. It filters messages based on header and property information. The message selector rule is a Boolean expression. If the expression is true, then the message is consumed. If the expression is false, then the message is rejected.For example, you can enter logic, such as:
JMSPriority > 3. Based on this, messages with a priority greater than 3 are consumed; all other messages are rejected.
JMSType = 'car' AND color = 'blue' AND weight > 2500
Country in ('UK', 'US', 'France')
Maybe you are looking for
-
Can't Play iTunes with a catch
Got the 30G iPod yesterday, though I've been using iTunes for some time. It won't play anything I've purchased on iTunes, either in the past or now. I deauthorized and reauthorized my computer. I did numerous restores. I recreated my iTunes library.
-
Best practices for setting up RDS pool, with regards to profiles /appdata
All, I'm working on a network with four physical sites and currently using a single pool of 15 RDS servers with one broker. We're having a lot of issues with the current deployment, and are rethinking our strategy. I've read a lot of conflicting info
-
Help needed in BAPI for uploading data in FB01 - Urgent!!!
Hi, i need to post a document in FB01. i am getting the following details from the user in a .CSV file. Vendor no, vendor name, amount, document date, posting datem reference vendor line item text and Gl account line item text. i am using BAPI BA
-
Date Format Picture ends before converting entire input string..
Hi all i am creating a report in 10g.. in which i want to convert Emp_lump_sum (number) to character .I have created a formula column in which i have written a function in the formula column and assign that formula column to the text field in which
-
Hi, I've made AWR snapshot export from one database and want to import it to another database, but i have errors. Why? | begin ERROR at line 1: ORA-20102: user name 'awrstage' is invalid ORA-06512: at "SYS.DBMS_SWRF_INTERNAL", line 370 ORA-01918: use