Dynamic Quee names in JMS Channel
Hi,
Message is being sent from SAP -> PI -> TIBCO using JMS queues using JMS channels.
Is it possible to configure the queue names based on the value in the message?
Thanks,
Aravind
Hi,
you need to set a dynamic queue in PI or in JMS ?
the blog mentiones how to create a queue in PI (on the basis of content)
and that's how I understood your question...
if you want to set dynamic queue for the JMS then I don't know the way
hope we're talking about the same thing here
BTW
with JMS receiver you can only set those values dynamically:
JMS Message Correlation ID DCJMSCorreleationID
JMS Message Expiration DCJMSExpiration
JMS Message Priority DCJMSPriority
JMS Message ReplyTo Destination DCJMSReplyTo
JMS Message Timestamp DCJMSTimestamp
and JMS message properties but not the queue name
if you need to set a queue name in JMS dynamically (and we did that in our project)
was to send everything to one queue (router queue) and the real queue name was specifed in the JMS message property
and JMS (activeMQ - camel) was able to distribute from dummy queue to the one from the JMS message property
(config only - no coding so I'd assume most of the JMS should be able to do the same)
Regards,
Michal Krawczyk
Similar Messages
-
Dynamic Queue names at JMS receiver
HI All,
I have a scenario where sender is an RFC and receiver is via JMS and also get a reply back . JMS is asynchonous but as suggested in other threads it is possible to capture the response by setting some Adapter specific parameters.
But my problem is the queue name for the response is not constant and it varies from request to request for the response. I have no clue how to achieve this , I tried searching some threads but couldn't come to a conclusion.
Possibility of dynamic MQ queue selection in one receiver JMS channel
help on Dynamic queue name in JMS Adapter
Has anyone come across such a situation ? Please suggest.
Also In one of threads it was suggested to use Java Proxy? Please suggest a way forward in this approach too
Regards,
Mohan.> please refer the link what you provided in section 2.8 mentioned JMS Receiver communication channel will give response back,but i never tried.
Yest because this document is applicabe for a scenario where request msg will come form sender JMS to XI and then Response will be sent back again to JMS by using receiver JMS adapter. So senario is JMS request --- R3 (via XI) --- R3 response to JMS.
But here case is different. e.g. RFC --> PI --> JMS and reply will get back from JMS to RFC. So definetly in this case response will come from sender JMS and not from receiver JMS.
Read sec 2.8 throughly, you will come to know how to set the queue names dynamically for RECEIVER JMS Adapter.
Regards,
Sarvesh -
Dynamic queue name with JMS Queue XML?
Hi,
Is it possible to use dynamic queue name with JMS Queue XML?
I tried using a variable in the JNDI URL, and supply the value in a package. I specified the following in the JNDI URL in the Topology:
e.g.
<JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=#PROJECT_NAME.dest_var
I declared and set the variable in a package, then tried to load data from the above data server to database. But executing this package gave me the following error:
7000 : null : java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
at com.sunopsis.jdbc.driver.bg.executeQuery(bg.java)
at com.sunopsis.jdbc.driver.bh.executeQuery(bh.java)
at com.sunopsis.jdbc.driver.l.f(l.java)
at com.sunopsis.jdbc.driver.l.executeUpdate(l.java)
at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execSrcOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.i(e.java)
at com.sunopsis.dwg.cmd.g.y(g.java)
at com.sunopsis.dwg.cmd.e.run(e.java)
at java.lang.Thread.run(Unknown Source)
Am I doing it wrongly?
Thanks!hi,
as it's not in Adapter-Specific Message Properties
http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
looks like you cannot do it with jms adapter in standard
use proxy or your own adapter instead
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a> -
Help on Dynamic queue name in JMS Adapter
Hi Experts,
Could you please explain how to configure dynamic queue name in JMS Adapter.
My requirement is i would have to add the date and time to JMS Queue Name in receiver JMS Adapter.
Thanks in Advance
Chillahi,
as it's not in Adapter-Specific Message Properties
http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
looks like you cannot do it with jms adapter in standard
use proxy or your own adapter instead
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a> -
How to pass dynamic filename to Receiver JMS channel
Hi experts,
I want to pass the dynamic filename to receiver JMS message Properties.
for example
I am passing directory name via adapter module AF_Modules/DynamicConfigurationBean with key and value combination like below. How to pass dynamic filename value to a dynamic property ( say DCJMSMessageProperty1)
eg.
key.0 - >insert http://sap.com/xi/XI/System/JMS DCJMSMessageProperty0
value.0 - > testdirectory ( which is static value)
Note: Im have not created any ESR object . i just have to bypass the file to a jms queue. I have used AAE integrated configuration scenario ( file to jms )
Regards,
Balaji
Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:45 PM
Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:46 PMAlready given link for the dynamic configuration code snippet in the earlier reply... Below is the code snippet
Note: Use Adapter Specific Message Attributes for the target Communication Channel(CC).Check the indicator for filename in the advanced tab of CC
//UDF code
String filename="";
String NameSpace = "http:/"+"/sap.com/xi/XI/System/JMS";
try{
DynamicConfiguration conf = (DynamicConfiguration) param.get(
StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File", "FileName");
// read filename value
filename = conf.get(key);
// So far we extracted filename value .. now do your logic something like this...
DynamicConfigurationKey key2 = DynamicConfigurationKey.create(NameSpace,"yourjmsvalue goes here");
conf.put(key2,filename);
} catch(Exception e){ -
Dynamic file name in communication channel
hello
is it possible to give in the communication channel, under the 'File Access Parameters', a dynamic file name?
to get it out of a table or something?
Thanks
KfirHi,
Yes its bit possible to use the dynamic file name at File access paramters
The dynamic filename generation concept is as follows.
In your filename field. just give a variable with % symbols. (eg: %file% ).
Now, under the option Variable Name Substitution, you can give how the value has to be created.
It can be your interface name, sender service name, etc or it can be some value dynamically from your payload.
For the former, your give
message:interface_name ,etc
and for the payload part you give,
Payload: "your element root which u wanna acecss"
Just check this link out,
http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
And read the contents under variable substitution and it will help you understand the concepts better.
If you have any clarifications, do get back,
Refer below links for more in depth details about it
Re: Dynamic file name in Receiver File Adapter
http://help.sap.com/saphelp_nw2004s/helpdata/en/21/6faf35c2d74295a3cb97f6f3ccf43c/frameset.htm
/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
/people/sap.user72/blog/2005/10/01/xi-new-features-in-sp14
/people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i
/people/jayakrishnan.nair/blog/2005/06/28/dynamic-file-namexslt-mapping-with-java-enhancement-using-xi-30-sp12-part-ii
/people/michal.krawczyk2/blog/2006/02/23/xi-dynamic-name-in-the-mail-attachment--pseudo-variable-substitution
http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
Check out this URL
http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
Check these weblogs as well...
/people/sravya.talanki2/blog/2005/08/11/solution-to-the-problem-encountered-using-variable-substitution-with-xi-sp12
/people/sameer.shadab/blog/2005/09/23/an-interesting-usage-of-variable-substitution-in-xi
Thanks
Swarup -
Possibility of dynamic MQ queue selection in one receiver JMS channel
Hi all,
I just want to ask whether it's possible in PI7.0 or PI7.1 to send a message dynamically to MQ queues based on payload information using a single JMS receiver channel.
Example:
1)
If the XML looks like this:
<element>param_1</element>
Then JMS receiver channel "RCV_JMS_1" should send the message to MQ queue "MQ_param_1".
2)
If the XML looks like this:
<element>param_2</element>
Then JMS receiver channel "RCV_JMS_1" should send the message to MQ queue "MQ_param_2".
Is that doable? If yes how (by using some module in the channel)?
Thanks in advance for your help!
Regards,
KaiYeah... cause such a scenario is not so hard to image. Just the possibility to giva a placeholder as value for MQ queue name in the channel would be sufficient and to assign a value at runtime to it.
At the moment the implementation is like this:
PI => static MQ wueue => own Java developed small adapter (JBoss) => dynamical MQ queue addressing
But a change here would be nice to have it all in PI.
Only option I see at the moment is to integrate the Java development into PI based on PCK. Or is there any alternative?
Edited by: Kai Lerch-Baier on Mar 25, 2009 11:02 AM -
Dynamic configuration bean in JMS Adapter
Hello Experts,
My scenario is JMS(Active MQ) to File.Its just Passthrough scenario and no mapping involved.
Filename will be coming in one of the JMS Property (say businessId) and I need to set this filename to file adapter.
I have refered the stefan's blog and used the Dynamic configuration bean module in sender JMS adapter.
getFilename key.1 write http://sap.com/xi/System/JMS DCJMSMessageProperty4
getFilename value.1 module.filename
setFilename key.1 read http://sap.com/xi/System/File FileName
setFilename value.1 module.filename
But required filename is not populated in the target File.Any other configuration is missing here?Hi Karthiga
Did you set the ASMA properties in both your sender JMS channel and receiver File channel?
For the JMS adapter, as shown below, you will need to enter the DCJMSMessageProperty4 into the table
Configuring the Sender JMS Adapter - Configuring the JMS Adapter in the Integration Directory/PCK - SAP Library
If you want to set additional JMS message attributes, select Specify Additional JMS Message Properties (Maximum of 10).
In the table, enter the names of the JMS message properties whose values are to be included in the message header of the PI message.
The technical names of the additional attributes are DCJMSMessageProperty0, DCJMSMessageProperty1, ..., DCJMSMessageProperty9.
For the File adapter, you need to check the ASMA FileName attribute.
Once you have this configured, in your message, you should be able to see that the value is in the DynamicConfiguration section of the SOAP header.
Rgds
Eng Swee -
Strange problem in Dynamic File Name . XI behaving strangely
My o/p is coming like this
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:MT_PurchaseOrderChange xmlns:ns0="http://E2open.com/xi/IntercompanySCM_6.0/POChange">
- <recordset>
- <data>
<PoHeaderDomainName>broker_domain</PoHeaderDomainName>
<PoHeaderOrgName>broker_org</PoHeaderOrgName>
<PoHeaderPoState>$null</PoHeaderPoState>
<PoHeaderStateChangeDate>$null</PoHeaderStateChangeDate>
<PoHeaderPoNumber>4500000026</PoHeaderPoNumber>
<PoHeaderPoCreationDate>$null</PoHeaderPoCreationDate>
<PoHeaderLastModifiedDate>$null</PoHeaderLastModifiedDate>
<PoHeaderModelSubType>Discrete_Order</PoHeaderModelSubType>
<PoHeaderSupplierName>0000352119</PoHeaderSupplierName>
<PoHeaderSupplierDescription>$null</PoHeaderSupplierDescription>
<PoHeaderCustomerName>SSP_CUSTOMER</PoHeaderCustomerName>
<PoHeaderCustomerDescription>$null</PoHeaderCustomerDescription>
<PoHeaderCustomerMessage>$null</PoHeaderCustomerMessage>
<PoHeaderSupplierMessage>$null</PoHeaderSupplierMessage>
<PoHeaderBillToName>$null</PoHeaderBillToName>
<PoHeaderBillToAddressDescriptor>$null</PoHeaderBillToAddressDescriptor>
<PoHeaderBillToAddressAddress1>$null</PoHeaderBillToAddressAddress1>
<PoHeaderBillToAddressAddress2>$null</PoHeaderBillToAddressAddress2>
<PoHeaderBillToAddressCity>$null</PoHeaderBillToAddressCity>
<PoHeaderBillToAddressCountry>$null</PoHeaderBillToAddressCountry>
<PoHeaderBillToAddressCounty>$null</PoHeaderBillToAddressCounty>
<PoHeaderBillToAddressState>$null</PoHeaderBillToAddressState>
<PoHeaderBillToAddressZip>$null</PoHeaderBillToAddressZip>
<PoHeaderBuyerCode>$null</PoHeaderBuyerCode>
<PoHeaderFreight>$null</PoHeaderFreight>
<PoHeaderTerms>0001</PoHeaderTerms>
<PoHeaderOrderPriority>$null</PoHeaderOrderPriority>
<PoHeaderCommunicationMode>$null</PoHeaderCommunicationMode>
<PoHeaderAgreementStartDate>$null</PoHeaderAgreementStartDate>
<PoHeaderAgreementEndDate>$null</PoHeaderAgreementEndDate>
<UDFPoHeaderRevisionNumber>$null</UDFPoHeaderRevisionNumber>
<UDFPoHeaderERPPOCreationDate>01Sep2006000000</UDFPoHeaderERPPOCreationDate>
<UDFPoHeaderheaderUDF1>$null</UDFPoHeaderheaderUDF1>
<UDFPoHeaderheaderUDF2>$null</UDFPoHeaderheaderUDF2>
<UDFPoHeaderheaderUDF3>$null</UDFPoHeaderheaderUDF3>
<UDFPoHeaderheaderUDF4>$null</UDFPoHeaderheaderUDF4>
<UDFPoHeaderheaderUDF5>$null</UDFPoHeaderheaderUDF5>
<PoLineItemPoLineItemId>00020</PoLineItemPoLineItemId>
<PoLineItemCustomerItemName>E107434516</PoLineItemCustomerItemName>
<PoLineItemCustomerItemDesc>L1357 TOROID INDUCTOR</PoLineItemCustomerItemDesc>
<PoLineItemCustomerDomainName>SSP_CUSTOMER_domain</PoLineItemCustomerDomainName>
<PoLineItemSupplierItemName>E107434516</PoLineItemSupplierItemName>
<PoLineItemSupplierItemDesc>L1357 TOROID INDUCTOR</PoLineItemSupplierItemDesc>
<PoLineItemSupplierDomainName>0000352119_domain</PoLineItemSupplierDomainName>
<PoLineItemUnitPrice>720</PoLineItemUnitPrice>
<PoLineItemBasisOfUnitPrice>$null</PoLineItemBasisOfUnitPrice>
<PoLineItemCurrency>EUR</PoLineItemCurrency>
<PoLineItemUnitOfMeasure>TNE</PoLineItemUnitOfMeasure>
<PoLineItemLineItemState>$null</PoLineItemLineItemState>
<PoLineItemStateChangeDate>$null</PoLineItemStateChangeDate>
<PoLineItemLastModifiedDate>$null</PoLineItemLastModifiedDate>
<UDFPoLineSupplierItemName>E107434516</UDFPoLineSupplierItemName>
<UDFPoLinelineUDF1>$null</UDFPoLinelineUDF1>
<UDFPoLinelineUDF2>$null</UDFPoLinelineUDF2>
<UDFPoLinelineUDF3>$null</UDFPoLinelineUDF3>
<UDFPoLinelineUDF4>$null</UDFPoLinelineUDF4>
<UDFPoLinelineUDF5>$null</UDFPoLinelineUDF5>
<PoScheduleId>1</PoScheduleId>
<PoScheduleLastAction>Insert_Or_Modify</PoScheduleLastAction>
<PoScheduleScheduleState>$null</PoScheduleScheduleState>
<PoScheduleStateChangeDate>$null</PoScheduleStateChangeDate>
<PoScheduleRequestQuantity>9.000</PoScheduleRequestQuantity>
<PoScheduleRequestDate>16Sep2006000000</PoScheduleRequestDate>
<PoScheduleRequestShipmentDate>16Sep2006000000</PoScheduleRequestShipmentDate>
<PoScheduleOriginalRequestQuantity>$null</PoScheduleOriginalRequestQuantity>
<PoScheduleOriginalRequestDate>$null</PoScheduleOriginalRequestDate>
<PoScheduleCarrier>$null</PoScheduleCarrier>
<PoScheduleCarrierMode>$null</PoScheduleCarrierMode>
<PoScheduleCarrierAccountNumber>$null</PoScheduleCarrierAccountNumber>
<PoScheduleCustomerSiteName>5302</PoScheduleCustomerSiteName>
<PoScheduleShipToAddressDescriptor>$null</PoScheduleShipToAddressDescriptor>
<PoScheduleShipToAddressAddress1>$null</PoScheduleShipToAddressAddress1>
<PoScheduleShipToAddressAddress2>$null</PoScheduleShipToAddressAddress2>
<PoScheduleShipToAddressCity>$null</PoScheduleShipToAddressCity>
<PoScheduleShipToAddressCountry>$null</PoScheduleShipToAddressCountry>
<PoScheduleShipToAddressCounty>$null</PoScheduleShipToAddressCounty>
<PoScheduleShipToAddressState>$null</PoScheduleShipToAddressState>
<PoScheduleShipToAddressZip>$null</PoScheduleShipToAddressZip>
<PoScheduleLastModifiedDate>$null</PoScheduleLastModifiedDate>
<PoScheduleCustomerMessage>$null</PoScheduleCustomerMessage>
<PoScheduleSupplierMessage>$null</PoScheduleSupplierMessage>
<PoScheduleRefdPoCustomerName>$null</PoScheduleRefdPoCustomerName>
<PoScheduleRefdPoS>$null</PoScheduleRefdPoS>
<PoScheduleRefdPoModelSubType>$null</PoScheduleRefdPoModelSubType>
<PoScheduleRefdPoNumber>$null</PoScheduleRefdPoNumber>
<PoScheduleRefdPoLineItemId>$null</PoScheduleRefdPoLineItemId>
<PoScheduleRefdPoScheduleId>$null</PoScheduleRefdPoScheduleId>
<UDFPoSchedulescheduleUDF1>$null</UDFPoSchedulescheduleUDF1>
<UDFPoSchedulescheduleUDF2>$null</UDFPoSchedulescheduleUDF2>
<UDFPoSchedulescheduleUDF3>$null</UDFPoSchedulescheduleUDF3>
<UDFPoSchedulescheduleUDF4>$null</UDFPoSchedulescheduleUDF4>
<UDFPoSchedulescheduleUDF5>$null</UDFPoSchedulescheduleUDF5>
<PoPromiseScheduleId>1</PoPromiseScheduleId>
<PoPromiseScheduleAddressDescriptor>$null</PoPromiseScheduleAddressDescriptor>
<PoPromiseScheduleAddress1>$null</PoPromiseScheduleAddress1>
<PoPromiseScheduleAddress2>$null</PoPromiseScheduleAddress2>
<PoPromiseScheduleAddressCity>$null</PoPromiseScheduleAddressCity>
<PoPromiseScheduleAddressCountry>$null</PoPromiseScheduleAddressCountry>
<PoPromiseScheduleAddressCounty>$null</PoPromiseScheduleAddressCounty>
<PoPromiseScheduleAddressState>$null</PoPromiseScheduleAddressState>
<PoPromiseScheduleAddressZip>$null</PoPromiseScheduleAddressZip>
<PoPromiseScheduleQuantity>9.000</PoPromiseScheduleQuantity>
<PoPromiseScheduleDate>16Sep2006000000</PoPromiseScheduleDate>
<PoPromiseScheduleShipmentDate>$null</PoPromiseScheduleShipmentDate>
<UDFPoPromiseScheduleUDF1>$null</UDFPoPromiseScheduleUDF1>
<UDFPoPromiseScheduleUDF2>$null</UDFPoPromiseScheduleUDF2>
<UDFPoPromiseScheduleUDF3>$null</UDFPoPromiseScheduleUDF3>
<UDFPoPromiseScheduleUDF4>$null</UDFPoPromiseScheduleUDF4>
<UDFPoPromiseScheduleUDF5>$null</UDFPoPromiseScheduleUDF5>
</data>
- <FileNameNode>
<FileName>111111111_222222223_purchase-orders_20060901065147_</FileName>
</FileNameNode>
</recordset>
</ns0:MT_PurchaseOrderChange>
I have specifed
Payload:MT_PurchaseOrderChange,1,FileNameNode,1,FileName,1
in variable substitution
I am on SP 14 and it the dynamic file is working for other scneario
bt in this scneario i am getting the error
Receiver Adapter v2405 for Party '', Service 'com_E2open_qas':
Configured at 2006-09-01 18:42:32 GMT+05:30
History:
- 2006-09-01 19:11:48 GMT+05:30: Message processing failed: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: amit
- 2006-09-01 19:11:48 GMT+05:30: Processing started
- 2006-09-01 19:06:47 GMT+05:30: Message processing failed: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: amit
- 2006-09-01 19:06:47 GMT+05:30: Processing started
- 2006-09-01 19:01:47 GMT+05:30: Message processing failed: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: amit
amit is the variable i have given for substitution.Hi,
if you have SP14 stop using variable substitiuion:)
you can do it much easier with dynamic configuraiton
/people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
so you can easily set it for file adapter to set the file name
you can also have a look at my weblog:
/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a> -
Error dynamic File Name in Receiver File Adapter
Hi all,
Dynamic file name for Receiver file Adapter Problem
my multi mapping look like this in design mode
messages
message1
SD01_E
FileName
row
message2
SD02_E
FileName
row
by processing the xml look like this:
<ns2:SD01_E xmlns:ns2="urn:lsv.de/SAP/XXX">
<FileName>L40SA939.xiConstant</FileName>
- <row>
or
<ns2:SD02_E xmlns:ns2="urn:lsv.de/SAP/XXX">
<FileName>L40SA939.xiConstant</FileName>
- <row>
in file receivere adapter i have try this but it dos not work
payload:SD01_E,1,FileName,1
Error:com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 0(:main:, row:1, col:0)
is there any way to have access to Filename in different root elements??
regards
RalfHi Ralf,
i think, you need for each XML msg (each different root element) a new adapter -> a new IF determination, new rec agreement and a new channel.
Regards,
Udo -
Dynamic File Name depending on the Source File name
Hi Experts,
I have a problem like Dynamic File name depending on the Source File Name. I will explain with example as follwos
Source File name Targer Folder/Filename
NK01.VR59.L2007030 VR59/Rec.l200
NK01.VR71.L2017030 VR71/Rec.l201
NK01.VR77.L2027030 VR77/Rec.l202
See above the exaple, Depending on the Source file name, I am deciding where i need to place my file and what name i need to name it.
So please suggest me the solution and How can i do this with a single communication channel ? Do i need to create multiple CC for each folder??
Points will be rewarded for Valuable anwer.
Thanks in Advance,
Best Regads,
VijayHi VIjay,
Thanks for quick reply. But i am getting error in End to End Scenarios only. If i remove the Return " " statement from the UDF, while activating it is showing the error saying like missing return statement. I also mapped to the top most node to this UDF.
I am getting the following error in End to End error Scenarios:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Request Message Mapping
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>Application</SAP:Category>
<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
<SAP:P1>com/sap/xi/tf/_MM_Target_File_determined_</SAP:P1>
<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
<SAP:P3>Fatal Error: com.sap.engine.lib.xml.parser.Parser~</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>During the application mapping com/sap/xi/tf/_MM_Target_File_determined_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: Fatal Error: com.sap.engine.lib.xml.parser.Parser~</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error> -
Dynamic File name for File receiver adapter
Hello,
I am doing Proxy sender to File receiver scenario.
Filename is generated in SAP R/3 program and I want to create the file with this same name
on target location.
please suggest me how to use this file name in Receiver file adapter?.
Thanks & Regards
JageshHi,
you have to enable the adapter specific parameter --> file name in both the sender and the receiver CC to get the input file name as output file name.
Refer this blog:
/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
Also you need to use this udf
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
String ourSourceFileName = conf.get(key);
return ourSourceFileName;
Also refer this blog:
/people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
Regards,
Nithiyanandam -
How to give a dynamic File Name for Receiver File/FTP Adapter.
Hi Experts,
I have one scenario in which we are creating a flat file of IDOC which is coming from R/3 & sending it to FTP location. For this we have configured Receiver FTP adapter with File Name Scheme as "NT.out" & in File Consturction mode i have given as "Add Time Stamp".
therfore while creating a file it is creating as NTyyyyMMdd-HHmmss-SSS.out
where as my requirement is only to to add Time & not the Date. (NThhmmss.out)
How to do this ?
for your info we are using ABAP Mapping.
Pl help me
Regards,
UmeshHi Umesh,
Add one more field to your target structure for your file name and populate that field as per your requirement like NTyyyyMMdd.out. In receiver communication channel use Variable subtiution option and give the refrence of Payload and file construction mode set as create.
And refer the below weblogs for Variable Subtiutuion File Name Scheme
/people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i - Dynamic File Name Part 1
/people/jayakrishnan.nair/blog/2005/06/28/dynamic-file-namexslt-mapping-with-java-enhancement-using-xi-30-sp12-part-ii - Dynamic File Name Part 2
Hope this way would be solve u r problem.
Cheers
Veera
>>>Reward points, if it is needful -
Dynamic file name inside the ZIP file
Hi Experts,
I have done proxy to file scenario, reciever side is the file ZIP file, i have done successfully done Zip file using adapter modules in Communication Channel.
The file name is hard coded like this.
contentType-----Transform.ContentType--
text/plain;charset="UTF-8";name="Billing.txt"
Is there any possible to do dynamic file name instead of hardcoded like add time stamp.
Kind Regards,
Praveen.hi,
you can always do it using an adapter module like shown in my blog:
/people/michal.krawczyk2/blog/2006/02/23/xi-dynamic-name-in-the-mail-attachment--pseudo-variable-substitution
Regards,
Michal Krawczyk -
Zip or unzip a payload in sender JMS channel
Hi,
My scenario is to unzip a payload in sender JMS channel and I have configured the sender JMS module in the below format,
Processing sequence
AF_Modules/PayloadZipBean Local Enterprise Bean Local Enterprise Bean zip
SAP XI JMS Adapter/ConvertJMSMessageToBinary Local Enterprise Bean convert_JMS2Bin
SAP XI JMS Adapter/ConvertBinaryToXMBMessage Local Enterprise Bean convert_Bin2XI
CallSapAdapter Local Enterprise Bean call_AF_MS
Module Configuration
Modulekey Parameter Name Parameter Value
zip zip.mode unzip
I have tried this format also,but it is not working
SAP XI JMS Adapter/ConvertJMSMessageToBinary Local Enterprise Bean convert_JMS2Bin
SAP XI JMS Adapter/ConvertBinaryToXMBMessage Local Enterprise Bean convert_Bin2XI
AF_Modules/PayloadZipBean Local Enterprise Bean Local Enterprise Bean zip
CallSapAdapter Local Enterprise Bean call_AF_MS
(or)
SAP XI JMS Adapter/ConvertJMSMessageToBinary Local Enterprise Bean convert_JMS2Bin
AF_Modules/PayloadZipBean Local Enterprise Bean Local Enterprise Bean zip
SAP XI JMS Adapter/ConvertBinaryToXMBMessage Local Enterprise Bean convert_Bin2XI
CallSapAdapter Local Enterprise Bean call_AF_MS
While performing testing,it throws the below error in sender JMS channel,
The detailed error (if any) is : com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable pattern: NullPointerException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable 'pattern'at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:185)
Can someone help me on how to extract a payload in sender JMS channel.
Also please guide me on how to extract a multiple payloads in one zip file in sender JMS channel.Hi,
Your module sequence seems to be incorrect.
Try like this,
SAP XI JMS Adapter/ConvertJMSMessageToBinary Local Enterprise Bean convert_JMS2Bin
SAP XI JMS Adapter/ConvertBinaryToXMBMessage Local Enterprise Bean convert_Bin2XI
AF_Modules/PayloadZipBean Local Enterprise Bean Local Enterprise Bean zip
CallSapAdapter Local Enterprise Bean call_AF_MS
(or)
SAP XI JMS Adapter/ConvertJMSMessageToBinary Local Enterprise Bean convert_JMS2Bin
AF_Modules/PayloadZipBean Local Enterprise Bean Local Enterprise Bean zip
SAP XI JMS Adapter/ConvertBinaryToXMBMessage Local Enterprise Bean convert_Bin2XI
CallSapAdapter Local Enterprise Bean call_AF_MS
Regards,
Praveen Gujjeti
Maybe you are looking for
-
Get variable values from a stored procedure
I am using SQL 2008R2 and I want to replace a view inside a stored procedure with a new stored procedure to return multiple variable values. Currently I am using the code below to get values for 4 different variables. I would rather get the 4 variab
-
How to improve the performance of DS search ?
Hi,all I have done a test in my DS 5.2 patch 6 as follows: 1. 1 Use the cn=directory manager to search a user entry (uid=99999, and the entry belongs to about 150 groups): [23/Mar/2009:16:54:26 +0800] conn=3645300 op=7 msgId=8 - SRCH base="o=xxx.edu"
-
Not able to include PM order type PM03 in integration model
Hi Experts, I am creating PM order in R/3 with order type PM03. But while creating the integration model for maintaince order, PM03 is not populating. and others I am getting like PM01, PM02 etc... Please advise if I need to do some setting for the s
-
Hello, Is there a document with the process to install SP1 for all the Project Server 2013 items? Thanks
-
PLEASE TEACH ME HOW TO INPORT MY MUSIC WITHOUT USING ICLOUD WICH I SUSCRIBE THINKING THAT IT COUD BE EVERYWHERE. BUT I DISCOVER THAT IT ONLY WORKS WITH A WI-FI CONECTION OR WHERE I CAN RECIEVE MY CARRIER SIGNAL. SOME PLACES I DO NOT HAVE NEITHER. HO