Displaying sender payload in receiver channel in pi single stack
Hi Experts,
I have configured XPI properties by looking into
Message Staging and Logging Options in Advanced Adapter Engine of PI 7.3x
But whenever I tried to open the receiver payload from the receiver channel, it's showing me the sender's payload
I have configured the stagging and logger values to ms=3 and am=3
how can i respolve it?
Hi Nunu,
You need to open the message in message monitor then you can able to see the different versions.
Regards,
Praveen.
Similar Messages
-
Duplicate File Handling Issues - Sender File Adapter - SAP PO 7.31 - Single Stack
Hi All,
We have a requirement to avoid processing of duplicate files. Our system is PI 7.31 Enh. Pack 1 SP 23. I tried using the 'Duplicate File Handling' feature in Sender File Adapter but things are not working out as expected. I processed same file again and again and PO is creating successful messages everytime rather than generating alerts/warnings or deactivating the channel.
I went through the link Michal's PI tips: Duplicate handling in file adapter - 7.31 . I have maintained similar setting but unable to get the functionality achieved. Is there anything I am missing or any setting that is required apart from the Duplicate file handling check box and a threshold count??
Any help will be highly appreciated.
Thanks,
AbhishekHello Sarvjeet,
I'd to write a UDF in message mapping to identify duplicate files and throw an exception. In my case, I had to compare with the file load directory (source directory) with the archive directory to identify whether the new file is a duplicate or not. I'm not sure if this is the same case with you. See if below helps: (I used parameterized mapping to input the file locations in integration directory rather than hard-coding it in the mapping)
AbstractTrace trace;
trace = container.getTrace();
double archiveFileSize = 0;
double newFileSizeDouble = Double.parseDouble(newFileSize);
String archiveFile = "";
String archiveFileTrimmed = "";
int var2 = 0;
File directory = new File(directoryName);
File[] fList = directory.listFiles();
Arrays.sort(fList, Collections.reverseOrder());
// Traversing through all the files
for (File file : fList){
// If the directory element is a file
if (file.isFile()){
trace.addInfo("Filename: " + file.getName()+ ":: Archive File Time: "+ Long.toString(file.lastModified()));
archiveFile = file.getName();
archiveFileTrimmed = archiveFile.substring(20);
archiveFileSize = file.length();
if (archiveFileTrimmed.equals(newFile) && archiveFileSize == newFileSizeDouble ) {
var2 = var2 + 1;
trace.addInfo("Duplicate File Found."+newFile);
if (var2 == 2) {
break;
else {
continue;
if (var2 == 2) {
var2 = 0;
throw new StreamTransformationException("Duplicate File Found. Processing for the current file is stopped. File: "+newFile+", File Size: "+newFileSize);
return Integer.toString(var2);
Regards,
Abhishek -
JDBC Receiver channel is not showing any payloads
Hello Experts,
My interface is ABAP PROXY to JDBC i am facing a strange issue in ECC moni payload is succesful in PI moni also Payload is black colour flag but my Receiver JDBC channel is not showing any thing but it is in green colour (it is not showing neither succes nor error messages logs are empty).Sender chaneels are working only problem with receiver JDBC channels
In DEV and PROD it it is working in QUAL it is showing this problem.I take the restart of QUAL server still it is behaving like that
Please throw some light on the issue any help is higlhly apprecaited.
Regards
PraveenHi,
first check in pipe line step call technical routing , mapping execution generated JDBC receiver message pay load or not.
if it is not generated then check mapping , if is is generated then restart the channel and check what communication channel name you given in receiver agreement.
monitor the same channel, if all JDBC receiver channels have same behavior then restart the JDBC adapter service in NWA.
rEGARDS,
rAJ -
Error in file receiver channel "Unknown payload format 0 in the message"
hello
there is an errror in my receiver file channel with the status "Unknown payload format "
my channel is file receiver channel.
we implemented one sap note 1295430 and after that channnel is giving the error.
Please forward your views.
thanks.Hi there,
First of all, what TBDL means - It means that the message was successfully delivered from Integration Server and that the messages are handed over to the Messaging System.
TBDL occurs when the message is put into the receiving queue of the Messaging System.
What can be done?
Go to Messaging System receive servlet:
http://<Host>:<PORT>/MessagingSystem/receive/<CONNECTION>/<PROTOCOL>
If this was executed successfully, then the MS returns HTTP 200 to the Integration Server and the status TBDL moves to DELIVERING (check whether you have authorization to go to the above link).
--> Log-in to SAP using - XIAPPLUSER & XIAFUSER, and check if they are blocked
--> Check the messages:
AF
com.sap.aii.adapterframework.serviceuser.language
com.sap.aii.adapterframework.serviceuser.name = XIAFUSER
com.sap.aii.adapterframework.serviceuser.pwd
AS
com.sap.aii.applicationsystem.serviceuser.language
com.sap.aii.applicationsystem.serviceuser.name = XIAPPLUSER
com.sap.aii.applicationsystem.serviceuser.pwd
Also, worth reading - /people/sap.user72/blog/2005/11/29/xi-how-to-re-process-failed-xi-messages-automatically
Let us know if you have more questions.
regards,
Neetesh -
Using TEST mode in sender file channel to trigger jdbc receiver channel
Hi
In order to call a jdbc receiver channel every 15 minutes I intended to use a file sender channel as a trigger where I set the Processing Mode to TEST. However, I would like to make multiple simultaneous different calls to the jdbc receiver channel, so I have multiple files in the folder, where the file sender channel is listening. Quality of Service in the file sender channel is set to Best Effort as the call is syncroneous.
However, because the messages in the folder are not deleted, only the first message is being processed no matter whether I choose Processing Sequence "By Date" or "By Name".
I would like to avoid having to create 15 folders containing one message each, so is there another way of doing it?
By the way, I redirect the response from the jdbc receiver channel to a different folder, but I think this is irrelevant in this case.
I use PI 7.11
/MikaelThanks for your answer, but I would like to avoid using Availability planning.
Right now I am thinking about using "Advanced selection for source file" and then just specify 14 different folders here each containing one trigger message, but it seems that only the oldest message (if I choose Processing Sequence = Date) or the first message alfabetically (if I choose Processing Sequence = Name) is being processed across the many folders which I think is very weird! -
File-XI-File:one sender channel, multiple receiver channels on same BS
Hi !
We need to send some files from one server to another. On the source, the filenames have a fixed prefix and a timestamp. On the target, the files should have a fixed name (time stamp trimmed). We would like to use one sender channel with the advanced file selection option and for example 3 receiver channels, each channel for each fixed filename. All destination channels are for the same business service. And because we do not need mapping, and want to improve performance, we don't use the repository.
Is this possible? or because this only a 3 files scenario, we should make it as 3 different scenarios, each with its own sender and receiver channels?
Thanks,
MatiasHey
>>But Ahmad, as mentioned in the blog, XI scenario without IR can be used only if it's non xml mesage. Is that right?
can you please tell me where it says this:)
is it this line which is confusing you <b>"Contrary to popular believe, the message or document sent thru XI does NOT have to be in XML format"</b> ?
well it just means that you can send any data(.jpeg,.pdf xml .xls or anything) by doin the bypass scenario.
IDOC's are something which can give u problems if you dont do IR steps(specially mapping)coz a lot of values need to be hard coded.but suppose ur doing a async File to RFC,then i guess you can do that by using the bypass scenario.
i won't count on bypass scenarios for all of my requirements,but yeah if both source and target have exactly same data type i will give it a shot,irrespective of the interface i m integrating.
Thanx
Ahmad
Message was edited by:
Ahmad -
Sender and receiver channel parameters
Hi Experts,
I am working on a flat file to flat file scnario. I need to remove the first two lines and last two lines from the flat file and send it to ECC via PI
The flat file looks like this
%802 750285 7502857 7502
%JHKJ UYOU 99 9090
dfafds 2255425 4545 sdfs fsdfsdf dsffs fsfda sfsf
rewre ewrewr wetwt wtwtw
%iuoi iuipo
%7878 8787
so i need to remove the first two lines (starts with % symbol) and last two lines (starts with % symbol) and convert back to flat file and send it to ECC.
I have created the data types as
Source Data type
DT_Source
Header 1..1
Header1
Header2
Recordset 1.. Unbounded
Record 1.1
Trailer 1...1
Trailer1
Trailer2
Target Data type
DT_Target
Recordset 1.. unbounded
Record 1.1
Could you plz let me know the sender and receiver channel parameters
Regards,
VaiHi Vaigai,
Grzegorz is right.
You can read all the flat file and remove the first two and last two lines using a mapping.
Check this link. There are some content conversion parameters in the sender file adapter that can be helpful
[http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm]
Regards,
Diego Estanguini Gabriel -
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. -
Error in SOAP Receiver channel
Hi,
We are working on IDOC to SOAP Scenario (Connecting to third party).
We have configured the SOAP Receiver channel with the Target URL and teh corresponding SOAP Action.
But the SOAP Receiver channel gives the error while processing and sends back the following error message in log :
"Delivery of the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server was unable to process request. ---> Value cannot be null. Parameter name: s."
Payload seems to look fine in XI and SAP.
Any help on this ?
Thanks and regards,
VikasHi Vikas,
Copy the payload from SXMB_MONI after mapping and check with SOAPGUI or Altova, if it working fine then your payload is good. You can use the WSDL to ganarate and send independent soap request from these tools.
Besides this IDOC is Asyc, you need to use RequestResponseBean and ResponseOneWayBean to get the response from SOAP. Check the following and try to simulate it.
https://wiki.sdn.sap.com/wiki/display/XI/File-RFC-File%28Without+BPM%29
Server was unable to process request. ---> Value cannot be null. Parameter name: s."
The error specifies that the request has null value, check the parameter specified in the error message and make sure that is not null while you are sending the request.
Regards,
Prasanna -
The same filename from a sender to a receiver file adapter - SP14
Hi Expers,
I Have Gone through the link which is given bu Michal.
/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
Here My Questions are.........
1.Should we give any file name in the receiver side Adapter in this scenario.?????
2.How wil be the Sender and Receiver Communication channel Parameters????
What Are they???????
Please Clarify me...
Regards
KhannaHi Rajesh,
Is your query related to sending the file name from the source xml document to the reciever file adapter. If so this can be achieved.
Pls. do the following.
1. In the mapping program that you are using populate the filename coming from the source into the target root element.
2.Sender adapters can write adapter-specific attributes to the message header; these can then be evaluated at configuration time
3. To change the adapter-specific attributes of the message header by using message mappings, you access the required classes of the mapping API by using a mapping runtime constant.
<b>Note: You donot need to specify any filename in the receiver communication channel.</b>
To access the classes DynamicConfiguration and DynamicConfigurationKey by using the mapping runtime constant DYNAMIC_CONFIGURATION, use the method getTransformationParameters() of the container object.
Create an simple user defined function in the mapping and use the following code.
Imports: com.sap.aii.mapping.api.*;
Parameter: String filename
Paramter: String filename;
filename = fileName + ".DAT";
DynamicConfiguration conf = (DynamicConfiguration) container
.getTransformationParameters()
.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File", "FileName");
conf.put(key, filename);
return filename;
You donot need to hard code the value of the filename in the file adapter for your interface.
In SXMB_MONI, when you see the pipeline services you would see that the value of the filename is populated in the message payload.
Thanks
Indranil -
SOAP Receiver Channel 2 nodes inactive in Production system
Hi All,
We are facing an issue with the SOAP receiver channels in production system. There are 4 nodes which can be seen in the communication channel monitoring and out of which 2 have the status as inactive and the short log says "inactive or never used".
But the same nodes are active on the sender SOAP channel and all other channels.We have also checked the Status of the SOAP service that is also set to active.
Now when the server (App server5 in our case) is switched off, which has the 2 active nodes, the messages are not processed since the nodes on the other server are inactive.
Request you to please help us out in finding out why the nodes are in inactive status only for SOAP receiver channels. Do we need to change any settings at the adapter engine level.
Thank you.
Regards,
Sarvesh Desai
Edited by: Sarvesh Nispat Desai on Aug 25, 2010 5:25 PMThere is an error in reporting the status of SOAP channels. This error has already been fixed by SAP and is available as a fix in higher releases (PI 7.10 and above, latest SPs) .
The status "inactive or never used" is shown in channel monitoring at the following two times:
1. After creating a new SOAP channel (sender/receiver) till this channel processes any new message.
2. After the PI system is restarted, all the SOAP channels show this status, though they are ready to handle any incoming/outgoing messages. The channels continue to display this status till they process any new message.
In both these situations, the SOAP Channel can handle/process messages successfully. So, kindly ignore this channel status ("inactive or never used") reporting error in channel monitoring. This will not at all hamper the normal functioning of the SOAP channels.
Hope this answers your query. -
Dear PI and SOAP experts:
I have been having trouble getting a SOAP Receiver channel working for a webservice. I get the following error in the SOAP receiver channel:
SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: content-type of the request should be text/xml
I also forced the content-type as text/xml;charset=utf-8 from PI by using the MessageTransformBean as a module in the SOAP Receiver channel, but still getting the same response.
When I called the same w/s using XMLSpy and SOAPUI, it works fine and I get a positive response. So there is no problem with the webservice.
I also tried calling a different webservice from PI and that works fine too. So there is no problem with outbound communication with PI and the SOAP receiver channel either.
But whenever I send the request from PI to the first webservice it gives me the above error.
Thank you.
Param.Hi Param,
Also, please do have a look at the following link which could be of help to you.
https://wiki.sdn.sap.com/wiki/display/XI/SOAPMessagesin+XI
Best Regards -
How to Update ECC when there is error in Receiver channel
Hello Experts,
I have a query like how to inform ECC when there is a error in Receiver channe.My interface is ABAP PROXY to JDBC in ECC moni message is through in PI moni also message is through but in Receiver JDBC Channel is in error saying for a particular column the data is not valid.
In this case directly PI should send the error in channel to ECC that payload has invalid data for this field will it be possible?
Please give your valuable suggestions.
Regards
Praveen ReddyHi,
implement logic in ABAP proxy to push data when validation check is correct, this is right approach to perform validation.
Even we can achieve this in PI Mapping.
Create ALERT rule for this interface and forward CC errors to ECC Team.
Regards,
Raj -
XI--WebSphereMQ : Receiver Channel Inactive in MQ
Hi,
I am trying to Integrate XI with WebSphere MQ v5.3.
For this i have created a QueueManager, Queue, Channel (ReceiverType) in MQ. In XI (JMS Adapter- WebSphereMQ ) i have specified the neessary parameters.
Transport/NetWork Protocol : TCP/IP
JMS-Compliant : WebSphereMQ(non-JMS)
Delivery mode : Persist JMS messages in JMS Provider
Mapping of Message : Message Payload = JMS Payload
When i activate the channel, in Adapter monitering( for JMS), i could see a red traffic light.
Details : null.
When i went to WebSphereMQ, i found that the status of Receiver Channel is Inactive.
I want to know:
1)While creating my Queue manager i did not create a listener for TCP/IP. Should i create my QueueManager with TCP/IP Listener.
2)How can i make my Receiver Channel Active in WebSphereMQ. Tried to right Click on the channel (say start). But it dosen't work.
3)What is the parameter that i need to specify for Character SetID (CCSID) in XI(JMS Adapter- WebspherMQ).
4)Is there anything more on WebsphereMQ side i need to setup?
Regards,
Siva Maranani.I have read the document Keeping Channels Up and Running (WebSphere software) and I have some questions.
http://www-1.ibm.com/support/docview.wss?rs=203&uid=swg24006699&loc=en_US&cs=utf-8&lang=en
Our setup:
QueueManager on iSeries (5724B41 V5R3M0 WebSphere MQ for iSeries )
We use SAP XI as MQ client. (SunOS) WebSphere classes for JMS (com.ibm.mq.jms.MQQueueConnectionFactory)
MQI channel of type server-connection channel.
Transport service TCP/IP.
Problem description:
Within SAP XI we use an Adapter type called JMS. This adapter type supports 2 types of connections:
A) Sender
Transport protocol : WebSphereMQ (non-JMS)
B) Receiver
Transport protocol : WebSphereMQ (MQSeries) JMSprovider
On our iSeries we have 1 QueueManager with only 1 channel (*SRVCN = server-connection) which contains several queue's, queue's of type Sender (defined in SAP XI) and queue's of type Receiver (defined in SAP XI).
Note: Keywords like sender and receiver must be seen from SAP XI as point of view.
queue's of type Sender ==> data is sent from iSeries towards SAP XI.
queue's of type Receiver ==> data is sent from SAP XI towards iSeries.
If we look with NETSTAT command (on iSeries), we see on the ports connected to queue's of type Sender, each 5 seconds network activity. It looks that SAP XI polls every 5 seconds to see if a message is present in the corresponding queue. The result is that that connection is never longer idle than 5 seconds.
For the queue's (ports) of the corresponding Receiver connections, we see that the connection remains idle (if no data is transferred) for 4 hours. After 4 hours, the connection is broken which results is error:
Job AMQRMPPA on AS/400 shows me message AMQ9209
Message . . . . : Connection to host 'xxxxxxxx (xx.xx.xx.xx)' closed.
Cause . . . . . : An error occurred receiving data from 'xxxxxxxx
(xx.xx.xx.xx)' over TCP/IP. The connection to the remote host has
unexpectedly terminated.
Recovery . . . : Tell the systems administrator.
We expect that the firewall give a session-timeout. We can not change that !!!
Questions:
Is there a way (settings) that we can force communication over the "receiver type" connection? I believe the channel remains active. TCP keep-alive and heartbeats are valid for channels. In the document mentioned above I read that values for heartbeats are specified "on both ends of the channel" and needs to be negotiated.
However, I am not able to specify such a value at SAP XI site, at least I don't know how?
Is there ANY documentation which described the use of the SAP XI in combination with MqSeries (like the intercommunication PDF of WebSphere MQ)?
Is there any documentation regarding additional parameters?
Rgds,
Wilbert Karremans
<a href="http://www-1.ibm.com/support/docview.wss?rs=203&uid=swg24006699&loc=en_US&cs=utf-8&lang=en">Keeping Channels Up and Running (WebSphere software)</a> -
XI Receiver Channel - Dynamic Logon Language
Hello,
Is there any way to define dynamically the logon language in XI Receiver Channel?
Our cenario is an ECC -> PI -> ECC integration using XI sender and receiver channel. Depending on a specific element in message payload we want to define the corresponding logon language in receiver system. The goal is to return messages to sender system (synchronous scenario) in a language that each user can understand..
Do you have any ideas about how can we achieve such requirement?
Thanks in advance,
Pedro LealOK, right ... As XI adapter does not (seem to) offer ASMA for dynamic logon data management and I don't think you could extend its functionalities with your own custom module neither
And you can't change anything at all in the target system ? Tough mission then ... If you don"t have many languages to handled, you could try to use multiple adapters, one created for each language, and depending on your conditions, route the messages using the appropriate RFC channel ? But I think it's quite a poor design
Chris
Edited by: Christophe PFERTZEL on May 12, 2011 4:43 PM
Maybe you are looking for
-
USB drive connected to Airport Extreme becomes read-only
Hello I have a USB drive connected to my Airport Extreme 802.11n (2nd generation, firmware v7.6). To access the drive, I've set secure shared disks to "with accounts" then defined a user account with read/write access. I connect to this drive using t
-
Your Web page instructed me to go here to "Request" the guest password. My email is: [email protected] Thank you, Rickie
-
Lumia 620 camera viewfinder quality
I recently got my Lumia 620 and I'm very happy with it. However there seems to be a problem with the camera. In the first attachement, there is a screenshot of how my screen looks like when taking a picture. That doesn't seem right, does it? The pict
-
Hi, I started implementing a simple workflow and now I have a problem and I don'z know how to solve it using the technology of SAP-workflow. I created two workflows in SWDD (WS...). The first workflow calls the othe workflow in a special case. This i
-
Relocate Panes to Bottom of Window
I'd like to move all of the items on the far left of a Numbers '09 window, including the Sheets and Styles panes, so that they run along the bottom of the window. Is this possible, and how is it done?