Dynamic Communication Channel in Receiver Agreement
Hi Experts,
I have the situation: one Receiver System with one Inbound Interface. This Receiver System is able to receive messages on this interface through different Communication Channels.
I want to have a possobility, based on message content, to dynamically select which Communication Channel to use.
So is it possible to do such a config, without dublicating the Inbounb Interface with a different name (maybe to set some values in Java Mapping?)?
Best Regards
I have one Receiver System, so maybe, you mean conditions in Interface Determination
No. I meant receiver determination only. You use same receivers in more than one cases.
As asked, why do you need multiple channels?
Regards,
Prateek
Edited by: Prateek Raj Srivastava on Feb 27, 2009 6:58 PM
Similar Messages
-
XI - restrict access to Communication Channel and Receiver Agreement
Hello Experts,
We are trying to restrict the access to certain communication channels and receiver agreement in our XI system. We are able to restrict access to business service but not the afore mentioned objects.
Our XI system version is 7.0 with SP level 17.
Thanks
VijayaWe raised an OSS message and found that the issue was due to a missing JAVA patch
-
Is associating communication channel to sender agreement necessary
Hi,
Is it necessary to associate communication channel to sender agreement to pick the message from the specified source directoryHi Santhosh,
To pick the message from sender side , sender agreement should be required, thre are some cases where we dont need the sender agreement for IDoc Adapter and HTTP adapter. bcz these two adapters are resides on Integration server.
See the below link
http://help.sap.com/saphelp_nw04/helpdata/en/db/73e03fc2269615e10000000a155106/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/45/2c1640033ae569e10000000a155106/content.htm
Regards
Chilla -
Dynamic Communication Channel Config
Hi,
does anybody of you know if it is possible to configure communication channels dynamically, via script or API?
Kind regards,
HeikoHi,
You can dynamically decide the Receivers in XI. As per the dynamic Recievers, even you can dynamically decide the communication channels.
For more-
http://help.sap.com/saphelp_nw2004s/helpdata/en/26/5ccd3bb4560f01e10000000a11402f/frameset.htm
/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
/people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16
Hope this helps,
Pls acknowledge
Regards,
Moorthy -
Problem with communication channel on receiver side with file adapter
Hi all,
I m doing a scenario of collection of multiple idocs into a file.When i m testing this scenario,i m getting a flag successfully executed in SXMB_MONI.But,my file isn't created in my directory.When i monitor the communication channel in Runtime workbench,it's showing error :<b>Channel has not been correctly initialized and cannot process messages</b> for my receiver file adapter?I am not able to figure out the error.Anybody having idea about this problem.
Regards,
AnoopHi Anoop
Check it - File adapter is active ? try to Re-activate the same.
Also do CPACache Refresh.
Still problem, tyr out by restarting the Adapter Engine
Cheers..
Vasu
<i>
Reward Points if found useful **</i> -
Same IDoc, different communication channels for receiver
Hi,
In my file-to-IDoc scenario I need to send the same IDoc type to 2 different receiver channels. But these channels are created in the same service, and also the sender service is the same in both cases, so I cannot create two receiver agreements (one per channel).
I've tried to create a message interface with the IDoc as message type, allowing me to create two receiver agreement this way. But then sxmb_moni shows a kind of error like this:
"IDOC_ADAPTER">ATTRIBUTE_WRONG_INTF
Unable to interpret IDoc interface
I've been searching in the forum, but I couldn't find anything useful for this issue. Can you help me with this?
Thanks in advance,
Paco.hi,
>>>>>I've tried to create a message interface with the IDoc as message type, allowing me to create two receiver agreement this way. But then sxmb_moni shows a kind of error like this:
don't do that
>>> In my file-to-IDoc scenario I need to send the same IDoc type to 2 different receiver channels.
use another interface message which can be based on the
same message type
Regards,
michal -
Hi,
I have a situation where I have a message mapping that populates a JDBC insert statement. Basically this is just a message interface that gets sent through to a JDBC receiver adaptor.
Now, there are multiple databases sitting on the WAN. This message interface could be sent through to any of the the multiple databases. So the only difference in the receiver agreement would be the actual communication channel being used (i.e. the communication channel created for each of the different databases).
Now at the time of the message mapping, I know which communication channel to use. Would I be able to change the communication channel being used in the 1 receiver agreement, to which ever communication channel I want?
This would then allow me to have multiple communication channels (1 for each of the databases), but only have 1 receiver agreement.
Thanks,
MiguelThe cardinality of Receiver Comm Channel and Receiver agreement is 1:1
So for every Comm channel you have created for Receiver , You should create as many as Receiver Agreement.
But Dynamic Receiver can be identified by using either Conditional Receiver Determination or Enhanced Receiver Determination.
Enhanced Receiver Determination
/people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16
Enhanced Receiver Determination
/people/prasadbabu.nemalikanti3/blog/2006/09/20/receiver-determination-based-on-the-payload-of-input-dataextended-xpathcontext-object
Enhanced Receiver Determination https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/enhancedReceiverDeterminationinSAP+XI&
Multiple receiver
/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
Enhanced Receiver Determination
/people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
Dynamic Receiver Determination
/people/robin.schroeder/blog/2006/11/15/using-dynamic-receiver-determination-with-sync-interface -
5 Sender communication channels and 1 receiver channel
My scenario demands to handle 5 different select queries from single data base.
I need to have 5 sender communication channels for editing an employee and only 1 receiver channel at receiver side and i'm using one common Functional module to handle.
Can i handle the above situation in one single interface??? like having 5 sender communication channel at sender side and 1 receiver communication channel at receiver side??
Thanks
LNlike having 5 sender communication channel at sender side and 1 receiver communication channel at receiver side??
Yes it is possible....if it is not possible for you to combine the query into one.
How is the data to be processed? Is the data pulled by the 5 sender channels, to be merged into one target message? Is yes then you have to make use of a BPM.
If the Data from 5 sender channels will be individually forwarded to the receiver channel then there is no need of a BPM. -
Failed to determine a receiver agreement
Hi All
I am using PI 7.1. My current scenario is from a RFC Sender to a JDBC Receiver. I have configured the scenario on PI. When I execute the SE38 program which calls the RFC I get an error that "Sender Agreement Not Found". When I execute from RWB using the Test Message I get an error that "Failed to determine a receiver agreement". When I test the configuration at Integration Builder, it diagrammatically displays that the entire configuration is fine with the Sender and Receiver Agreement.
I have removed the "*" from the Sender Communication Channel and Sender Agreement. Despite I get the "Sender Agreement Not Found" error when execute from SE38.
Could anyone please help me on this issue? I am not able to move on with this persistent error.
Thank you.>
John jeyaraj wrote:
> Hi Aashish
>
> I am not using ABAP proxies as Sender. I am using RFC Sender Communication Channel. Also I have created the required RFC Destinations on the application server as Registered Programs. Whenever I fire the RFC through the SE38 program, I am able to trace the error from RWB. This means that the communication with the PI server is established, I suppose.
Yes, Exactly. That means Your communication between Program and SAP PI is establish and they are communicating,
Let us know the error message in SXI_Monitor, so that we can help you further.
Regards
Aashish Sinha -
Error in communication channel AS2 Seeburger EDI Adapter
Hi,
I am facing one issue in communication channel at receiver side. Adapter type is AS2 Seeburger EDI adapter.
Brief overview of scenario: Sender is R/3 sending an IDOC and Reciever is Party (Vastra_Gotaland).
The error in reciever communication channel is : Error type: REPORT_ERROR >> Error date: 8/26/10 10:18 AM >> Description: MIC not verified # integrity-check-failed [8/26/10 10:18 AM].
Please give your important feedbacks.Hi Vikrant,
I have already checked channel configurations and there is no problem with signing certificate. I have checked that also.
Edited by: Sadhna Achhra on Aug 26, 2010 1:10 PM -
Sync/Async communication with JMS Receiver
Hi all,
I am working on one Sync/Async model without BPM. Sender is RFC which is expecting some response, but we know receiver jms doesnt support response message directly. For this i used modules provided by SAP.
While developing interface i used below objects.
One Outbound Synchronous interface--> for Sender RFC channel
Inbound Synchronous Interface----->for Receiver JMS Channel
outbound asynchronous interface--->for Sender JMS channel
one request mapping and one response mapping
Operational mapping between outbound Synchronous to inbound synchronous.
ID Objects:
2 sender agreements: one with sender jms channel
one with sender rfc channel
1 receiver agreement: with jms receiver channel
1 receiver determination
1 interface determination
In receiver jms and sender jms channels i used modules as specified in the document http://help.sap.com/saphelp_nw04/helpdata/EN/45/20d2b4c20a0732e10000000a155369/content.htm
But my interface is not working end to end successfully.
Please confirm below points
1)do i need to have other external application put response message to response queue or will the MQ automatically generates the response message and put into response queue
2)In receiver jms channel is it ok if i will put response queue(Q2) name in the field JMS ReplyTo Queue Name or do i need to put in the form queue://<ReplyToQMgr>/<ReplyToQ>
3). what is the format of data type for asynchronous outbound interface which i used for sender agreement of jms sender channel.
4). Do i need to do any other special settings at MQ settings in MQ server.
Note: i am using PI7.1 and i selected the option JMS-compliant for target client in jms channels.
Thanks,
Madhu
Edited by: Madhusudana Reddy on Nov 4, 2009 9:38 AM1)do i need to have other external application put response message to response queue or will the MQ automatically generates the response message and put into response queue
The following information is available in SAP note-
Message correlation implies correlating a response message with a request message. With respect to the JMS adapter, this means that you sent have sent a message through a JMS receiver channel to some JMS queue (say queueA) , some external application processes this message and puts the response onto another JMS queue(say queueB) which is then picked up by a JMS sender channel. You need to relate this response message with the original request message.
In the simple case, for all JMS compliant providers this can be done in a straightforward manner:
a) In the JMS receiver channel configuration, set the JMSCorrelationID to the XIMessageID. (or some other XI header which is applicable)
b) Ensure that your external application does not change the value of the JMSCorrelation
c) In the JMS sender channel configuration, set the XIConversationID to the JMSCorrelationID
d) The XIConversationID header of the response XI message now contains the XIMessageID of the request XI message.
For some providers such as Websphere MQ in legacy/native mode this is not so straightforward.
Do i need to do any other special settings at MQ settings in MQ server.
If your using Websphere MQ, refer que#4 in sap note :1086303
Edited by: nagarjuna _s on Nov 4, 2009 11:02 AM -
Problem of Creating Multiple Communication channels for multiple files
Hi Everybody
I have a very basic doubt but this struck me...
For a file-XI-file scenario,if multiple files are coming from same FTP server but with different names then we have to create multiple communication channels for all the files of different names..but is this a intelligent approach?Can we do something so that only one communication channel can receive multiple files of different names?plz explain in detail if possible ASAP.
I have another doubt as in File-XI-File scenario how the XI understands that a particular file is from this FTP server needs to be send to another particular FTP Server?is it only the name of the file which we give in sender comm channel & receiver comm chaneel which determines this????that means this name should always be same?plz explain in detail if anybody knows?Thanks Aamir.I understood the solution.
Correct me if I am wrong.......
1)If there are multiple files with different names & different extensions in the sender FTP then we use-->
2)if there are multiple files with different names & different extensions in sender FTP & I want only say files of 2 extension types(say .xml & .txt)then we use-->
*.xml
in one comm channel &
*.txt
in another comm channel rite??
Also I wanted to ask that only two kinda files we can pick up through sender comm channel rite?
.xml and .txt(File content Conversion).Can we pick files of other extensions also?(say .doc,.xls)If we use as u said
then files of all other extensions will also be picked up rite?bt hw will xi convert them into xml?plz explain......
One of my other q is not answered yet.........all these same doubts are there for receiver communication channel.......but you all have not said nething abt the receiver comm channel........plz explain the answers to all these queries for receiver comm channel for a receiver FTP........ASAP......thanks once again....... -
Can i create a communication channel without creating a service?
I have a scenario in which i have to create a sender SOAP channel through which i can receive messages that have to be routed to different receivers.
So i want to create a standalone SOAP adapter communication channel that receives all messages that it receives irrespective of the service name. Is there a possiblity to do this.
Please ask me if you want more clarifications
thanks
ShakthiHi,
Unfortunately, you cannot create a SOAP(any) channel without business service/system. Channel has to be there inside a Service.
If you want to use that channel to receive diff. messages, set query string as true and can explicitly pass the Interface Name and namespace you want to invoke via that channel. This will override whatever you have given in Default Message Interface Name and Namespace provided in the SOAP Sender Channel.
Reward points if find useful
Thanks
Amit -
Dynamic Configuration of Mail receiver Communication Channel
Hi,
like in /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping for http receiver CC, i am trying to do header customisation, with XHeaderName1 for mail header fields like content-type, content-disposition, but it doesn't works ...
in my mapping i've added :
> (...)
> DynamicConfigurationKey cDisposition = DynamicConfigurationKey.create("http:/""/sap.com/xi/XI/System/Mail", "XHeaderName1");+
> dynaConf.put(cDisposition, "attachment;filename=myFile.txt");
in Communication Channel ASMA i've added variable header : XHeaderName1 --> Content-Disposition
in monitoring i see that XHeaderName1 is filled with attachment;filename=myFile.txt
but in the mail send like this, this configuration has no effect
Someone can help me ?
Edited by: MedAmine on Aug 19, 2009 3:20 PMOnly one standard mail header field can be influenced: this is indeed "Content-Disposition".
You have done halve way, the only thing you have missed is to set the additional parameter 'OMail.AddContentDisposition' to false within 'Advanced Mode'.
Have a look at this WiKi:
http://wiki.sdn.sap.com/wiki/display/ESOAInfrastructure/Dynamic+Email+Attachment+name+for+Received+Mails+with+ASMA+and+without+using+mail+package -
Dynamic name for attachment in the Receiver Mail Communication Channel
Hi All,
I want to dynamically set the name of attachment in receiver mail Communication Channel.
Example: IN__9907211000004_4048454000005_20081211_01000000002643
The first two numbers 9907211000004 & 4048454000005 I want to read it from the message
20081211 this is the date and
And againg this number 01000000002643 is read from message.
What is the procedure to create Adapter Module? I am new to Adapter Module.
Any Ideas ideas?
Thank You,
MukhtarHi Michal,
I had a look to your blog and tried to modify according to my requirement.
Here is the code
import javax.ejb.CreateException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import com.sap.aii.af.mp.module.*;
import com.sap.aii.af.ra.ms.api.*;
@ejbHome <{com.sap.aii.af.mp.module.ModuleHome}>
@ejbLocal <{com.sap.aii.af.mp.module.ModuleLocal}>
@ejbLocalHome <{com.sap.aii.af.mp.module.ModuleLocalHome}>
@ejbRemote <{com.sap.aii.af.mp.module.ModuleRemote}>
@stateless
public class SetAttachmentName 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{
try {
Message msg = (Message) moduleData.getPrincipalData();
//creating parsable XML document
InputStream XIStreamData = null;
XMLPayload xmlpayload = msg.getDocument();
XIStreamData = xmlpayload.getInputStream();
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse(XIStreamData);
//finding the tag's name from the Modules tab in the Directory that will hold the attachment's name
String SenderIDTag = null;
SenderIDTag = moduleContext.getContextData("SenderIDTag");
//finding the content of the tag that will be used as the attachment's name (assuming it's the only tag with this name)
Element element = doc.getDocumentElement();
NodeList list = doc.getElementsByTagName(SenderIDTag);
mailFileName += "_" + list.item(0).getFirstChild().toString();
String anIDTag = null;
ReceiverIDTag = moduleContext.getContextData("ReceiverIDTag");
element = doc.getDocumentElement();
list = doc.getElementsByTagName(ReceiverIDTag);
mailFileName += "_" + list.item(0).getFirstChild().toString();
Date date= new Date(System.currentTimeMillis());
//Add date to the Message
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyyMMdd");
mailFileName += "_" + dateFormat.format(date);
String BillNrTag = null;
BillNrTag = moduleContext.getContextData("BillNrTag");
element = doc.getDocumentElement();
list = doc.getElementsByTagName(BillNrTag);
mailFileName += "_" + list.item(0).getFirstChild().toString();
//creating the attachment
byte by[] = xmlpayload.getText().getBytes();
XMLPayload attachmentXML = msg.createXMLPayload();
attachmentXML.setName(mailFileName);
attachmentXML.setContentType("text/pdf");
attachmentXML.setContent(by);
//adding the message to the attachment
msg.addAttachment(attachmentXML);
inputModuleData.setPrincipalData(msg);
} catch (Exception e) {
throw new ModuleException(e);
return inputModuleData;
I hope this is right Adapter Module coe for my requirement.
Thank you in Advance,
Mukhtar
Maybe you are looking for
-
HT4623 How can I update iOS 5 on iPad 2?
I want to update iOS 5 on my iPad2 and I've read the article about it. There was written go in settings>general>software update in my ipad2 there isn't such button "Software Update" there is only "about" and "usage" so, what can I do?
-
IPhone 5 battery replaced by Apple, now constantly rebooting
Hello, Yesterday, my wife and I both had our batteries replaced by Apple as part of the battery replacement program. Mine is working fine, but my wife's is not. When we got home, the battery was at 22% (understandable since it had just been replace
-
Logic Pro X slow, no external sound
Brand new mac mini, 2.6GHz, OSX 10.8.4 - 16GB RAM - 250GB SSD Drive Using Logic Pro 10.0.1 Just got this computer today and logic pro x. having a few different issues: 1. Midi works fine, i can play the soft synths but scrolling though presents is a
-
I accidentally removed hp photo and imaging from computer, how do i get it back?
Printer not printing in color. I accidentally removed HP photo and imaging from the computer, how do I get it back?
-
Advanced Formatting and Positioning Question
I have an image that I want to display at the bottom of every invoice page. I run into a problem when the invoice goes over 1 page. The image is displayed in the middle, or at the top, depending on the number of lines. I've tried to anchor my image,