IDOC to JMS Queue
Outbound from SAP and going to external system(Seibel) via jms queue.
JMS adapter on the receiver side
I need to set following properties in receiver JMS Adapter in adpater module kindly guide me.
JMS Properties to be set:
docType - CRMML Message
subType - account
sender - SAP
receiver - CuDM
Renu.
Hi,
Do you want to set these properties into JMS header? If yes then do it like this...
Under Advanced Tab Page --->Additional Parameters, add the following entries
Name Value
JMSMessageClass com.ibm.jms.JMSMessage
JMS.Message.method.setStringProperty1 java.lang.String docType, java.lang.String CRMML Message
JMS.Message.method.setStringProperty2 java.lang.String subType, java.lang.String account
JMS.Message.method.setStringProperty3 java.lang.String sender, java.lang.String SAP
JMS.Message.method.setStringProperty4 java.lang.String receiver, java.lang.String CuDM
For your info, you can read this doc (look "Additional Parameters" at the end)
http://help.sap.com/saphelp_nw04/Helpdata/EN/10/b1b4c8575a6e47954ad63438d303e4/content.htm
Regards,
Sarvesh
Similar Messages
-
Idoc - JMS queue using ABAP Mapping
Hi all,
I am doing a idoc to JMS queue scenario using ABAP Mapping. I am new to ABAP
Basically i want to know how to read the OUTBOUND idoc segments and their field values. I have gone through link : IDOC--XI--IDOC Using ABAP MAPPING(Idoc to Idoc using ABAP Mapping).
If any body could suggest me how to read idoc->segment->fields or give some sample code, it would be very helpful.
Thanks in advance&
Regards,
ManiHi Mani,
Maybe it would be easier to use graphical mapping. In ABP mapping you have to parse XML and than create target document. If you want to do it I'd strongly advice you to read it:
http://help.sap.com/saphelp_nw04/helpdata/en/47/b5413acdb62f70e10000000a114084/frameset.htm
Regards,
Wojtek -
Hi All,
I am trying to send an IDoc from R/3 to an internal XI JMS queue. I want to test the JMS adapter by sending the IDoc to an XI created JMS queue. How do I create a JMS queue within XI that can receive my IDoc from R/3? I am looking at the receiver determination using JMS adapter but don't know what transport protocol to use to create the queue.
I am already able to receive an IDoc into XI and dump it to the OS as an XML file, so I know the connection works between the two systems. All I need is to create a generic JMS queue, so I shouldn't have to import any drivers into the J2EE like is necessary for MQSeries.
Thanks for any help!!
Adam IdingHi Adam,
You will have to install the Driver for the JMS queue you are trying to connect to on XI server.
For info on how to install external drivers,
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10
Also, if you are using a SONIQMQ or WEbspehere MQ , then the exact details to be entered are available on the JMS adapter itself. You will just have to change the IP, port no , Queue details. The driver details are all available on JMS adapter itself.
But, if you are using someother JMS service, then you will have to configur your Queue as a Genric Access or using a JNDI access.
Check this link for the same,
http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/content.htm
Regards,
Bhavesh -
Multiple Messages in Same JMS queue
Hello,
I have interfaces in which different xml messages from the same sender system will be placed in the same MQ queue, is there a way that XI JMS sender channel can differentiate the xml messages based on the payload?
I can create a single communication channel, but the outbound message interface I cannot create a common structure because the xml messages are huge and there will be future interfaces following the same architecture.
1. How can I route in interface determination based on the context in the inbound msg interface?
2. What can I provide as Message interface for the outbound?
3. MessageSelector attribute in Adapter specific properties - any ideas on this? - I can select this in the condition context in interface determination - can I give any values here to differentiate msges?
4. Value mapping - is it possible to define the sender message interface through this?
Any idea is appreciated..THank you..Hi Thanujja,
We have recently completed a project that had this requirement too. We made use of the MessageSelector to solve this problem. You'll need to make use of some advanced (advanced tab)settings in the comm channel. Basically you want to add Additional JMS Message Properties. You can add up to 10 additonal JMS Properties.
Let's say you've added a property called MESTYP. You then need to get the sender to populate the MESTYP property with a text value for each IDoc involved e.g. DELVRY. You would then set your JMS Message Selector field as follows: MESTYP='DELVRY'.
You'll have a comm channel for each IDoc. These comm channels will then connect to the JMS Queue & only pick up messages that meet the criteria at set in the Message Selector.
There was one other problem that encountered with Message Selector, we were on XI version 7.0, the Message Selector was working intermittently & then we applied SAP Note 1256636 & upgraded to 7.01. Everything is working fine after that.
Trevor -
Doubt in Flat File Format in sender jms queue?
Hi All,
I have a JMS-IDOC scenario with Content Conversion. The input file can have fixed length, multiple records.
Each record comes in a newline.
But , heard, one cannot place a multiline data as a single message in the JMS Queue.
Each new line of the data will be placed as a single separate message.
so for every line , a new xml message gets created and the scenario gets triggered.
But I want the all records (lines) in a single xml message
Could someone tell me what is to be done?> But , heard, one cannot place a multiline data as a single message in the JMS Queue.
That is wrong. You can put anything in the JMS queue, even binary.
Regards
Stefan -
How to remove header data from JMS Queue while sending by jms adapter
Hi.
I have a problem regarding the MQ-series JMS adapter.
When writing the file the JMS adaptor putting some additional tags.
Actually we are converting idoc-xml to flat file by using ABAP mapping which is available in SAP document. We are using JMS Receiver adapter, whiel sending flat file to JMS QUEUE, it is displaying some extra xml tags. I think this is the header data available in IDoc XML. Can any body help me in removing header data.
There must be some way for XI's JMS adaptor to not include these information.
My example looks like this:
RFH Ø
¸MQSTR
¸ " is junk that I really dont need in the file.
How can you setup the JMS adaptor not to put in these information?
Thanks & Regards,
Madhusudhannot related
-
Character Encoding for IDOC to JMS scenario with foreign characters
Dear Experts,
The scenario is desribed as follows:
Issue Description:
There is an IDOC which is created after extracting data from different countries (but only one country at a time). So, for instance first time the data is picked in Greek and Latin and corresponding IDOC is created and sent to PI, the next time plain English and sent to PI and next Chinese and so on. As of now every time this IDOC reaches PI ,it comes with UTF-8 character encoding as seen in the IDOC XML.
I am converting this IDOC XML into single string flat file (currently taking the default encoding UTF-8) and sending it to receiver JMS Queue (MQ Series). Now when this data is picked up from the end recepient from the corresponding queue in MQ Series, they see ? wherever there is a Greek/latin characters (may be because that should be having a different encoding like ISO-8859_7). This is causing issues at their end.
My Understanding
SAP system should trigger the IDOC with the right code page i.e if the IDOC is sent with Greek/Latin code page should be ISO-8859_7, if this same IDOC is sent with Chinese characters the corresponding code page else UTF-8 or default code page.
Once this is sent correctly from SAP, Java Mapping should have to use the correct code page when righting the bytes to outputstream and then we would also need to set the right code page as JMS Header before putting the message in the JMS queue so that receiver can interpret it.
Queries:
1. Is my approach for the scenario correct, if not please guide me to the right approach.
2. Does SAP support different code page being picked for the same IDOC based on different data set. If so how is it achieved.
3. What is the JMS Header property to set the right code page. I think there should be some JMS Header defined by MQ Series for Character Encoding which I should be setting correctly) I find that there is a property to set the CCSID in JMS Receiver Adapter but that only refers to Non-ASCII names and doesn't refer to the payload content.
I would appreciate if anybody can give me pointers on how to resolve this issue.
Thanks,
PratikHi Pratik,
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/502991a2-45d9-2910-d99f-8aba5d79fb42?quicklink=index&overridelayout=true
This link might help.
regards
Anupam -
IDOC to JMS (JBOSS) Interface
HI,
I am doing the interface from IDOC to JMS (Jboss) and I am getting the below error message in the Communication Channel Monitoring.
Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: No transition found from state: STARTING, on event: process_commence for DFA: CC_SAPSubobj_Receiver:dde2d0a49072388787ae2a0a2abdcf34
the below parameters I used in the communication Channel.
Access JMS PRovider with JNDI
JNDI Lookup Name of QueueConnectionFactory: jmsfactory/default/TopicConnectionFactory
JNDI Lookup Name of JMS Queue: queue name
Name of JNDI Initial COntext Factory: com.sap.engine.services.jndi.InitialContextFactoryImpl
JNDI Server Address: servername/port
Is someone faced the same issue?
Edited by: KISHORE RACHAMALLU on Feb 1, 2010 2:30 PMHi Sunil,
I folloowd the note, but I am getting the below error message
Channel error occurred. Detailed error (if any) : com.sap.aii.adapter.jms.api.connector.ConnectorException: Fatal Error looking up connection factoryConnectionFactory, for profile: ConnectionProfile of channel: cc name node: 216615450 having object id: c836e3a216e9376982fc5d52d0a6eae1: SAPNoClassDefFoundError:
org/jboss/aop/Advised at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory(JndiConnectorImpl.java:141) -
Hi All,
I have a scenario where I have PAYEXT IDocs and EUPEXR Idocs coming to XI which needs to be delivered to same target JMS queue.
I have used two mapping as they are two different IDocs. The target message structure is same for both.
Now at runtime I receive IDocs in random order, what I need to ensure is for a set of PAYEXT IDocs I have a following 1 EUPEXR IDoc. So I need to first guarantee that all PAYEXT IDocs have been sent then I can sent the EUPEXR IDoc for that set.
There is a relation between PAYEXT and EUPEXR where for a set of messages coming to XI, for number of PAYEXT there will be one EUPEXR and the EUPEXR.E1EDRD1 contains all the IDoc numbers of PAYEXT.
Thanks in advance.
RavijeetRavijeet,
As you mentioned earlier you both messages are relevant. You have two options..
1. Create BPM so that you can decide which message need to send first.
2. Or as suggested by michael at SAR R/3 level make sure you send PAYEXT before EUPEXR . However SAP XI side you need to assign one single dedicated queue so that all messages will be queue in one single Message queue. You can set dedicated queue to your interface ( SXMB_ADM-->Manage Queues) so that the messages willl be process in the sequence they have received.
Hope this will help.
Thanks,
Nilesh -
Hello ,
can any help me "HOW TO CONFIGURE THE IDOC TO JMS "
plz send the screen shots for idoc to file
thanking uin case of IDOCs involved you need to consider the following;
Sent/Receive IDOC:
you need to do the following:
In XI
SM59 - R3 connection pointing to R3
IDX1 - define the port with the above dest.
In R3
SM59 - R3 connection pointing to XI
WE21 - define the port with the above dest.
WE20 - Partner profile type outbound/Inbound
IDOC -> File
/people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters
At the JMS end, ref:
https://websmp205.sap-ag.de/~form/sapnet?_SHORTKEY=01200252310000071155&_SCENARIO=01100035870000000202
There are many how to guides on JMS here.
Go through Following Weblogs its very helpful in implementing you IDOC to JMS scenario.
/people/william.li/blog/2006/11/13/how-to-use-saps-webas-j2ees-jms-queue-in-exchange-infrastructure
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/cdded790-0201-0010-6db8-beb9bb2b2660
/people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters
/people/raja.thangamani/blog/2007/07/19/troubleshooting-of-ale-process -
Hi,
I am trying to configure an IDOC -> PI -> JMS (Party for JMS) and also JMS -> PI -> IDOC scenario.
We will be installing certificates while communicating between JMS and PI.
While configuring JMS sender/ receiver channel, there is a section to enter JMS Queue User and Password
Now since we are using certificates what should I mention in the the above section (user)? Someone told me that I should be using the Certificate Name in the JMS Queue User section. Is it correct? Or should I ask for a specific user-name and password.
Thank you,
Pankaj.Hi,
Actually in present landscape, the client-system is communicating with external system using JMS (a JAVA application is used instead of PI) and they are using Digital certificates. Now when PI will replace the JAVA application, they are going to replicate the same setting in PI (certificates and others).
Hence, when I asked for JMS Queue User and Password, the client team member mentioned to use the digital certificate name.
SonicMQ and Weblogic is used.
Thank you,
Pankaj. -
I want to access JMS Queue in websphere from a client application
Hello all
I tried to access a jms queue in the websphere from a client application
my connection factory jndi name is : MyConn
my queue name jndi name is : MyQueue
and here is my code :
Hashtable environment = new Hashtable();
environment.put(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.websphere.naming.WsnInitialContextFactory");
environment.put(Context.URL_PKG_PREFIXES, "com.ibm.ws.naming");
environment.put(Context.PROVIDER_URL, "corbaloc:iiop:localhost:2809");
return new InitialContext(environment);
then:
q = (Queue) ctx.lookup(QJNDIName);
QueueConnectionFactory connFactory = (QueueConnectionFactory)
ctx.lookup(ConnFactName);
I had the following exception :
javax.naming.NameNotFoundException: Context: networking/nodes/networking/servers/server1, name: MyQueue: First component in name MyQueue not found. Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
Can i have any help please ....Hi
You are missing some critical jar files in your class path. It should be namingclient.jar, also please or something similar that is missing in classpath.
HTH
VJ -
Oracle AQ to JMS Queue which is on Oracle Application server
Hi,
I am using Oracle Streams AQ Oracle database 10g
and i have a JMS Queue on oracle Application server.
how i can Propagate message from Oracle AQ (AQ$_JMS_TEXT_MESSAGE)Queue to JMS Queue. ?
Thanks,
SatnaniHi Justin,
Thanks for Reply, but in my case my JMS queue is on Oracle Application Server.
and i want to propagate message from AQ to JMS queue.
and none of the document is available to describe how to send message from oracle database AQ to JMS queue which is on application server.
please help
Thanks,
Satnani -
How to delete the messages from JMS Queue
Hi,Can anybody help how to delete the messages from the JMS Queue.Thanks in advance.
You can dequeue the message using a JMS client or delete it using Weblogic Admin Console -
http://download.oracle.com/docs/cd/E17904_01/apirefs.1111/e13952/taskhelp/jms_modules/queues/ManageQueues.html
Regards,
Anuj -
How to read the messages in the JMS Queue using JMX
Hi,
I want to read messages in the JMS queue using JMX. I was able to read using QueueBrowser but want to modify priority of the messages using JMX.
I tried to use JMSDestinationRuntimeMBean but it does not allow us to read messages unless we pass the message Id. Is there any way that I can get all the messages in the queue.
I am using Weblogic 8.1 SP4
Can someone please help me in this regard.
Thanks,
Kiran.
Edited by KGudipati at 10/22/2007 1:22 AMHi,
As far as i know, JMS Object Messages is not supported by XI JMS adapter.
you need to have the JMS provider to transform the message to bytes messages.
(Refer to SAP note 856346)
Maybe you are looking for
-
I bought an iPad 2 about 8 weeks ago, having had iTunes and an iPod touch for about 3 years previously. From the moment I plugged the iPad into the laptop the above message pops up. Does anyone know how to fix this? Have deleted and reinstalled all i
-
I have searched the forums and none of the solutions worked. When I try to create a discoverer connection through AS control, I get this error: An error occurred:oracle.disco.oem.configuration.DiscoConfigurationException: Failed to create new Connect
-
Arrrgggg.......Jsut when I wanted to use it too. If you own one you know how it splits apart so you can plug it into your computer. Well it seems the USB connecter is the problem. Ive only split it apart a couple of times too add songs, so Its a fact
-
Safari works at home, doesn't work at work!
I do not understand why Safari does not work at work but works fine at home. I am on LAN at work and on airport at home. Sites load very slow, and in most sites, which require login or filling forms (yahoo mail, mapquest, bank sites etc) take forever
-
In need of some major advice!
hey, im currently running the last update of 10.4 and final cut studio 1. if I upgrade to leopard will all of my FCS1 apps still continue to work as they do now? thanks a.