JMS Adapter Parameter
Hi All:
I am using XI 3.0 SP-9 and When I am confuring JMS adapter i am seeing these parametes :-
<b>QueueConnectionFactory Java</b> Class :progress.message.jclient.QueueConnectionFactory
<b>Queue Java Class</b> : progress.message.jclient.Queue
<b>Server Port</b> : 2506
<b>JMS Queue</b> : SampleQ1
Now I want to configure adapter with the Queue that I created in the Visual Admin.
with this info :
JNDI Name :QueueConnectionFactory
Factory Type : QueueConnectionFactory
USer : J2EE_ADMIN
Queue name : MyTestQueue
Can any one tell me now what will be the parameters for JMS as per the above input.
<b>QueueConnectionFactory Java</b> : ?
<b>Queue Java Class</b> : ?
<b>Server Port</b> :
<b>JMS Queue</b> : ? //MyTestQueue
> Question 1 :
> AS I am using JMS adapter to connect to Websphere MQ , it is asking for below connection parameter.
>
> 1) IP Address or Server Name -
> 2) Server Port-
> 3) Queue Manager Name-
> 4) Channel Name-
> 5) JMS Queue-
> 6) CCSID (Character SID for non-ASCII names)-
> 7) QueueConnectionFactory Java Class -?
> 8) Queue Java Class-?
> 9) JMS Queue User and JMS Queue Password-?
> 10) JMS Message Selector-?
Your MQ team has to provide above all details.
>
> Question 2 : In case I have 1 more interface of same type , which of the connection parameter will differ in that case? What I understand as the client is same only the JMS queue will be different , please correct in case I got this wrong?
>
Only JMS queue name and queue menager differs
Regards,
Raj
Similar Messages
-
MessageTransformBean in sender JMS Adapter flat file to xml conversion
Hi All,
The scenario is MQ (Flat File ) --->PI -
>Idoc
The flat file structure is
112233
AABBCC
The expected XML Structure after using MessageTransformBean in the sender JMS adapter is
<Record>
<Row>
<f1>11</f1>
<f2>22</f2>
<f3>33</f3>
</Row>
<Row>
<f1>AA</f1>
<f2>BB</f2>
<f3>CC</f3>
</Row>
</Record>
But I am getting 2 SEPARATE xml messages each with only one Row in it like the following
1st XML:
<Record>
<Row>
<f1>11</f1>
<f2>22</f2>
<f3>33</f3>
</Row>
</Record>
2nd XML:
<Record>
<Row>
<f1>AA</f1>
<f2>BB</f2>
<f3>CC</f3>
</Row>
</Record>
I would like to have one xml message with all rows in it.It seems the MessageTransformBean is not recognizing the end of line in the flat file.Do i need to use endSeparator explicitly.
I followed the "How to use Content Conversion in JMS Adapter " and configured the adapter,still no luck..
Any Help greatly Appreciated
Thanks,
CHi Chirag,
The parameter name sequence changes alphabetically by itself when I save and activate it eventhough I enter as it is in the document.How to stop changing this sequence or put it the order as required in the Module Processor.
Currently my sequence is
Transform.Class
Transform.ContentType
xml.conversionType
xml.documentName
xml.documentNamespace
xml.fieldFixedLengths
xml.fieldNames
xml.processFieldNames
xml.structureTitle
Let me know how to change the sequence ,if that is the issue.
Thanks,
C -
Content conversion in Sender JMS Adapter
Hi,
Scenario is file to IDoc
My source file is ' ; ' separated file coming from MQ via JMS adapter. now I need to convert this to XI.
Source DT looks like
Root
HEADER (Occurance 1)
Field 1
ISOCURCD
TRANKODE
IDENTIFIER
DATO
TIME
DETAIL(Occurance 1 to unbounded)
ISOCURCD
TRANKODE
EFFDATE
COMMDATE
DKKVAL1
USDVAL1
TRAILER(Occurance 1)
ISOCURCD
TRANKODE
TRANCOUNT
According to How to use content conversion in JMS guide from SDN i have configured the content conversion parameters in the module of JMS sender adapter.
In the processing sequence given the module name as localejbs/AF_Modules/MessageTransformBean and module Key as Plain2XML.
And in module configuration
Parameter Name Parameter Value
Transform.Class com.sap.aii.messaging.adapter.Conversion
Transform.ContentType text/xml;charset=utf-8
xml.keyFieldName TRANKODE
xml.keyFieldType CaseSensitiveString
xml.recordsetName Root
xml.documentName MT_ROOT
xml.documentNamespace http://XXX.XXX.XX/xi/XXXXX
xml.processFieldNames fromConfiguration
xml.conversionType StructPlain2XML
xml.recordsetStructure HEADER,1,DETAIL,*,TRAILER,1
xml.HEADER.fieldNames Field1,ISOCURCD,TRANKODE,IDENTIFIER,DATO,TIME
xml.HEADER.fieldSeparator ";"
xml.HEADER.keyFieldValue H
xml.fieldSeparator ";"(if i don't use this then the file is not being picked and getting an error in the CC monitoring of RWB saying xml.field separator missing.)
Similarily for Detail and Trailer records as well.
But when I run the scenario, the file is being picked up but I am not getting any payload into the inbound message.
Can you please help me where I have configured wrongly. And one more thing will this configuration help for ; separated file .
Thanks & Regards,
Kumar
Edited by: Kumar on Dec 19, 2007 11:11 AM
Edited by: Kumar on Dec 19, 2007 11:15 AMHI,
Have you gone through the below pdf i think it will help to find ur mistake.
How to use conversion modules in JMS - https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
Thnx
Chiarg -
File Content Conversion in JMS Adapter
Hello,
I am trying to use module parameters to convert File to XML in Sender JMS adapter. I have followed the instructions in the SAP document (3.1 Example of a Simple Conversion in a Sender Communication Channel)
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/50061bd9-e56e-2910-3495-c5faa652b710
The problem I am facing is instead of creating one xml message for all the lines in the file; it is creating one message per line. Not sure what I need to do get all the lines in to one xml message.
Please let me know if any of you have faced similar issue.
Thanks
AVThe Parameter xml.recordsetsPerMessage can only be used if it is a complex structure. I mean it needs a recordSet with Keys..etc and What I am trying to do is a simple FCC using
Transform.Class=com.sap.aii.messaging.adapter.Conversion
Transform.ContentType=text/xml;charset=utf-8
xml.conversionType=SimplePlain2XML
xml.documentName=PurchaseOrder_Root
xml.documentNamespace=http://namespace
xml.fieldFixedLengths =2,10,10,3,..
xml.fieldNames = DATA1,DATA2,DATA3....
xml.processFieldNames=fromConfiguration
xml.structureTitle=PurchaseOrder
<b>I am expecting</b>
<PurchaseOrder_Root>
<PurchaseOrder>
<DATA1> </DATA1>
<DATA2> </DATA2>
</PurchaseOrder>
<PurchaseOrder>
<DATA1> </DATA1>
<DATA2> </DATA2>
</PurchaseOrder>
</PurchaseOrder_Root>
<b>When I use the above Module Config it is giving me </b>
</PurchaseOrder_Root>
<PurchaseOrder>
<DATA1> </DATA1>
<DATA2> </DATA2>
</PurchaseOrder>
</PurchaseOrder_Root>
</PurchaseOrder_Root>
<PurchaseOrder>
<DATA1> </DATA1>
<DATA2> </DATA2>
</PurchaseOrder>
</PurchaseOrder_Root> -
JMS adapter -Message format pre-requisites
Hi,
I am using a sender JMS adapter in XI to read a message from MQ. Can anyone tell me whether the message should be in any specific format like comma separated (csv) or text-tab delimited. I am wondering on what basis the system will split the message and map it to the source structure.
regards,
MadhavanHi Abhisheek,
It doesnt work... i tried adding the ISO 8859 1 in the module and also tried setting the CCSID which is to 819.. for the ISO 8859 1.. bt i doesnt work
i dont understand why its behaving in such a manner but i really feel some silly mistake i am missing out a parameter or something...
I have created a txt file with 2 line only
AAABBBCCC
DDDEEEFFF
And jst trying to pick up this file without any conversion ... kind of a JMS to File senario without any modules.. it still doesnt work..
i dnt think it is recognizing the new line which i have given.. or may be because the conversion modules are stripping out the new line characters
And i have not upgraded my system as well. its XI 7.0 SP 9
RGds
ADitya -
JMS adapter settings for response to dynamic queue
Hello,
We are sending a message through JMS to SAP in a synchronous manner (client waiting for the reply after sending the request). The SAP is receiving and processing the message.
We configured the JMS Sender & Receiver channel as per solution given in SDN for the quetion. ( (2.8) Does the JMS Adapter support the JMSReplyTo feature? )
1. In Sender communication channel, checked the "JMS Message ReplyTo Destination" attribute of 'Adapter specific message attributes'
2. In Receiver communication channel, added the "JMS.Message.DynamicDestination" parameter and value 'true' (without quotes for both strings) in "Set JMS Additional Parameters" table
3. Added the "JMSReplyTo" header syntax in input xml message as below:
a. Message : <?xml version="1.0" encoding="UTF-8"?>
<ns0:getEmployeeInfo xmlns:ns0="namespace">
<employeeId>0000001</employeeId>
</ns0:getEmployeeInfo>
b. Destination = com.someDestination
c. JMSReplyTo= com.someReplyQueue
We have selected Transport protocol option "Access JMS Provider Generically"
But it is not able to send the reply to replyTo destination of the message.
Wondering if there is anything in the JMS Adapter setting like reply to Destination (technical term DCJMSReplyTo) which can be set to reply queue of the message (to a dynamic destination).
Please let me know in case anybody knows about the same.
Thanks & Regards,
Jayashri RadeRefer: http://docs.oracle.com/cd/B14099_19/integrate.1012/b25307/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 -
How to set ApplIndentityData header field in JMS adapter
Hi Guys ,
I have one requirement for update the field in SAP JMS header. I am using transport protocol for IBM Websphere MQ in JMS adapter.
While sending data to IBM Websphere MQ Queue via JMS Adapter, need to set the field called ApplIndentityData with the appropriate value which is populate to a MQHRF2 header of a message.
So, regarding that where will do it? Means JMS receiver adapter or IBM MQ level. If JMS receiver adapter, I think using ASMA, So please guide me how to set this filed value in JMS adapter or share any document you have.
Thanks & regards
Vijaykumar SHi RejaSekar,
I reffered your blog and did the below settings in JMS module and ASMA settings.
1) Changed the mode for u201CJMS-Complaintu201D instead of u201CWebsphere MQ(non JMS)u201D
2) Additional JMS message properties tab created below property name and java type.
LocalName --> String
Partname --> String
3) In module parameter tab added the below module name and key
AF_Modules/DynamicConfigurationBean --> LocalEnterpriseBean --> RFH2HEADER
4) Under parameter Tab
RFH2HEADER --> key.0 --> insert http://sap.com/XI/System/JMS DCJMSMessageProperty0
RFH2HEADER --> key.1 --> insert http://sap.com/XI/System/JMS DCJMSMessageProperty0
RFH2HEADER --> value.0 --> LocalName
RFH2HEADER --> value.1 --> PartnerName
Kindly check the above settings whether this is correct or wrong. If anything wrong please let me know what we need to change JMS receiver adapter.
Actually my requirement is need to set these parameters and set the value to that parameters and pass in to /usr folder of a WebsphereMQ message.
Kindly check and help me out.
Thanks & regards
Vijayakumar S -
How to ignore Recordset name in XML(Sender JMS Adapter)?
Hi All.
I am using Sender JMS Adapter along with content conversion.
I have put in Parameter:
Plain2XMLService xml.ignoreRecordsetName true
still the Inbound payload in SXI_MONITOR has Node Recordset, which should not be the case.
Please advice, does this ignoreRecordsetName works in JMS adapter, if Yes does it works same way as in File Adapter content conversion?
Thanks in Advance>
Gowtham Peddi wrote:
> Hi All.
>
> I am using Sender JMS Adapter along with content conversion.
>
> I have put in Parameter:
> Plain2XMLService xml.ignoreRecordsetName true
>
> still the Inbound payload in SXI_MONITOR has Node Recordset, which should not be the case.
>
> Please advice, does this ignoreRecordsetName works in JMS adapter, if Yes does it works same way as in File Adapter content conversion?
>
> Thanks in Advance
can you try
ignoreRecordsetName true instead of xml.ignoreRecordsetName
also try to not give any value for the xml.recordsetName parameter.
I actually doubt if we can ignore the record set name using the module. -
Sender JMS Adapter: Problem in Recordst
Hi All.
I am using Sender JMS Adapter along with content conversion.
I have put in Parameter:
Plain2XMLService xml.ignoreRecordsetName true
still the Inbound payload in SXI_MONITOR has Node Recordset, which should not be the case.
Please advice, does this ignoreRecordsetName works in JMS adapter, if Yes does it works same way as in File Adapter content conversion?
Thanks in AdvanceHi Pravesh,
Check this file on Sender JMS adapter if it helps you in anyway;
http://help.sap.com/saphelp_nw04s/helpdata/en/ca/e7673c86d19b35e10000000a11402f/frameset.htm
Also check this:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/50061bd9-e56e-2910-3495-c5faa652b710
Regards,
Subhasha Ranjan -
Message format to be send to the JMS Adapter
Hi all,
I have a very strange situation. i have a sender JMS channel where i am trying to use the Message Transformation module
I have done the configuration but the problem is that i have made a .dat file
AAABBBCCC
DDDEEEFFF
and i am using the PutMessage fuction to put the messages in the Queue and process it
dont knw y but the newline characters get disapeared. I am not sure why this is happening on investigation i found that we have 2 modules which are used before the conversion for XML
localejbs/SAP XI JMS Adapter/ConvertJMSMessageToBinary
localejbs/SAP XI JMS Adapter/ConvertBinaryToXMBMessage
Is it because of this.. that the channel is behaving like it. please give your inputs as to what can be done
if so will the messages work fine if the messages are directly put into the queue
what special character should i use to get the desired output with new line charactersHi Abhisheek,
It doesnt work... i tried adding the ISO 8859 1 in the module and also tried setting the CCSID which is to 819.. for the ISO 8859 1.. bt i doesnt work
i dont understand why its behaving in such a manner but i really feel some silly mistake i am missing out a parameter or something...
I have created a txt file with 2 line only
AAABBBCCC
DDDEEEFFF
And jst trying to pick up this file without any conversion ... kind of a JMS to File senario without any modules.. it still doesnt work..
i dnt think it is recognizing the new line which i have given.. or may be because the conversion modules are stripping out the new line characters
And i have not upgraded my system as well. its XI 7.0 SP 9
RGds
ADitya -
PI7.1 JMS Adapter - connect to NW6.40
Hello,
We are facing following problem on SAP PI:
We have a scenario where PI (version 7.1) is connecting to another SAP NetWeaver system (version 6.40). There is an application that reads/puts messages from/to JMS Queues running on this system. PI has to connect the JMS Provider of 6.40 system and read/put these messages from/to these JMS Queues.
This scenario worked fine till we used XI 3.0 (NW6.40). We configured sender JMS channel with link to remote JMS Server and parameter "force_remote".
After installation of new PI7.1 we noticed some issues:
1.the connection is unstable. Sending JMS messages from PI to NW6.40 queue works a while but then we get error like this:
Adapter Framework caught exception: Unable to write new JMS message body for message: 00237d29-13fc-02ed-ba85-01d046631592: ConnectorException: Connector for ConnectionProfile of channel: EON_CC_jms_rcv_omsmessageon node: 922834950 having object id: 70855b1c6c483e869982ea2fe9787b36 was unable to create a new javax.jms.TextMessage message: javax.jms.IllegalStateException: Session is closed.
2. we cannot read messages from JMS Queue of NW6.40 at all. The messages are there in queue, communication channel is running and succesfully connected to queue but no message is processed and no error shows in communication channel monitoring.
Has anybody solve similar problem with connection between 7.1 and 6.40 NetWeaver?
I think the problem can be backward incompatibility of 7.1 SAP JMS libraries against 6.40. If this is true then the question is whether it is possible to deploy old libraries and run them simultaneously with native 7.1 libraries?
Thanksproblem sorted - factory property settings were not configured correctly in JMS Adapter connection pool
-
Content conversion question for JMS adapter
Hi,
I need to put this again here.
I have the scenario R/3 IDoc -> XI -> MQ (webshpere). MQ requires plain text.
I have the IDoc ORDERS05 in multi level (nested in layers). But using the how to guid to convert the content I could go up to on level.
Based on the thread
Process Integration (PI) & SOA Middleware
It is not possible to use the conversion modules with XML2Plain key with parameter xml.conversionType value StructXML2Plain.
Please confirm if this is possible to convert a structure like below,
<ZSYSEX01>
.<IDOC BEGIN="1">
....<EDI_DC40 SEGMENT="SEGMENT0">
........<FIELD1>HEADER</FIELD1>
....</EDI_DC40>
....<E1STATS SEGMENT="SEGMENT1">
........<FIELD2>100</MANDT>
........<Z1HDSTAT SEGMENT="SEGMENT2">
...........<FIELD3>0200000716</FIELD3>
...........<Z1ITSTAT SEGMENT="SEGMENT3">
...............<FIELD4>1000</FIELD4>
...........</Z1ITSTAT>
........</Z1HDSTAT>
........<Z1HDSTAT SEGMENT="SEGMENT2">
...........<FIELD3>0200000717</FIELD3>
...........<Z1ITSTAT SEGMENT="SEGMENT3">
...............<FIELD4>1000</FIELD4>
...........</Z1ITSTAT>
...........<Z1ITSTAT SEGMENT="SEGMENT3">
...............<FIELD4>1001</FIELD4>
...........</Z1ITSTAT>
...........<Z1ITSTAT SEGMENT="SEGMENT3">
...............<FIELD4>1002</FIELD4>
...........</Z1ITSTAT>
........</Z1HDSTAT>
....</E1STATS>
.</IDOC>
</ZSYSEX01>
to plain text in JMS adapter.
Thanks!
JasonHi,
You have to use Content Converiosn in JMS Adapter Receiver side,
Module Sequence in the Receiver Channel
No. Module Name Module Key
1 localejbs/AF_Modules/MessageTransformBean XML2Plain
2 localejbs/SAP XI JMS Adapter/ConvertMessageToBinary CallJMSService
3 localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService Exit
Bases on Structure you have to configure the processing parameters,
please see the below link, it will helps you more
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
Regrads
Chilla.. -
Hi,
I have an XI 3.0 connected to an MQ via jms adapter in an Adapter Engine
I have this log when sending a message:
15:39:18 (3130): JMS message ID:414d51204d51584944573120202020207a07c64442701b00 sent successfully
15:39:18 (3140): Session commited
15:39:18 (3180): Se produjo un error java.io.IOException: Error during rendering: Missing mandatory element <sap:queueId> for quality of service EOIO
15:39:18 (3190): Session rolled back
I'm trying to discover the mandatory element.
Regards
GonzaloHello Michal,
Yes we need and we are using EOIO, and is not specified in SAP documentation to specify this parameter in the receiver JMS.
The thing is: Why is missing the mandatory element
<sap:queueId> for quality of service EOIO?
I really apreciate any help with this issue.
Thanks,
Regards,
Gonzalo -
Sender jms adapter-archiving before processing the message
Hi,
Do we have any option in Sender JMS adapter to archive the message before processing the message?
I have searched in sender JMS adapter (XI7.0) settings, but couldn't find any option.
My assumption is whether any option provided in configuration setting of adapter engine or any other alternatives.
Thanks,
Srini.Hi Srini.
Here is the code. But you may prefer the EAR module, just for deploy. I need your email to send it to you.
If you want to create it yourself follow the steps in this guide and paste the code:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f013e82c-e56e-2910-c3ae-c602a67b918e
When you configure the module in the JMS sender communication channel you have to spedify 2 parameter for the log file location:
"file.path" (XI server file system path) and "file.name"
CODE:
package com.bfa.af.modules;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.ejb.CreateException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import com.sap.aii.af.mp.module.Module;
import com.sap.aii.af.mp.module.ModuleContext;
import com.sap.aii.af.mp.module.ModuleData;
import com.sap.aii.af.mp.module.ModuleException;
import com.sap.aii.af.ra.ms.api.Message;
@author ibermatica
public class BFATraceModule implements SessionBean, Module {
private SessionContext myContext;
public void ejbRemove() {
public void ejbActivate() {
public void ejbPassivate() {
public void setSessionContext(SessionContext context) {
myContext = context;
public void ejbCreate() throws CreateException {
public ModuleData process(ModuleContext moduleContext, ModuleData inputModuleData) throws ModuleException
FileWriter outFile;
try
Date date = new Date();
String filePath = moduleContext.getContextData("file.path");
String fileName = moduleContext.getContextData("file.name");
outFile = new FileWriter(filePath + System.getProperty("file.separator") + fileName, true);
catch (IOException e)
e.printStackTrace();
throw new ModuleException(e);
PrintWriter out = new PrintWriter(outFile, true);
try
out.println("--- Start of message ---");
//Get message content.
Message data = (Message)inputModuleData.getPrincipalData();
if(data.getDocument() != null)
out.println(data.getDocument().getText());
else
out.println("Empty message.");
out.println("--- End of message ---");
out.println("Total characters: " + data.getDocument().getText().length());
catch(Exception exc)
out.println(exc.toString());
finally
if(out != null)
out.close();
if(outFile != null)
try {
outFile.close();
} catch (IOException e1) {
throw new ModuleException(e1);
return inputModuleData; -
Number of records picked by MQ Adapter / JMS Adapter per poll
Hi All,
We have BPEL 10.1.3.3 running on an OC4J instance.
We are using an MQ Adapter to pull messages from an IBM MQ.
When the Queue goes down and comes up all the messages in the Queue are pulled by the Adapter at once and we lose the sequence in which they are arriving.
As each message creates a new instance we are not able to process them in sequence. Is there a work around for this?
Can we restrict the number of records picked per Poll by the MQ Adapter / JMS Adapter?
Thanks in advanceHi Ben,
There is no standard way to limit the number of files to be processed by the communication channel.
On the Sender File CC, there is a parameter " Maximum File Size" which restricts the files bigger than the specific size, but this is just a prevention not a solution.
If you have a single big size file, then somehow you have to create small sized files out of it.
Thanks,
Pooja Pandey
Maybe you are looking for
-
I have a macbook and want to watch netflix on my tv, but i don't have an hdmi connection on the tv, just RCA. I bought the mini-display port to VGA. What do i need to connect it to RCA input on my TV?
-
I tried to download Firefox 4.0 on my Mac Intel running OS 10.6.6. I get a message that it can not download because libsmime3.dylib is open. And now FirFox 3.6 has disappeared. What do i do?
-
Workflow mail attachment error
Hi, We have configured HTTP Content Repository to store GOS attachments in IXOS external system, in stead of storing in SAP DB SOFFCONT1. We are able to attach files manually using GOS functionality provided in SAP applications like Purchase order, I
-
I was wondering if I can use iTunes in the Cloud just for offsite storage of my music? I want to keep the files on all of my devices and only use iCloud to store the originals. Can this be done? Thanks. Steve H
-
Different behaviour of null ???......
hi, I am not understanding what happening in this program. public class myString public myString(Object oby) System.out.println("In Object"); public myString(String str) System.out.println("In String"); public static void mai