Payload Swap bean not working
Hi All,
We are working on PI 7.11. We are trying to retrieve the attachments from the mails and convert them into files. We have enabled Keep Attachments in sender mail adapter. For swapping the payload we used payload swap bean. We referred the below blog
/people/michal.krawczyk2/blog/2005/12/18/xi-sender-mail-adapter--payloadswapbean--step-by-step
We are just trying with XML attachments.
The problem now is the payloads are not swapping. The file contains only the body of the mail not the attachment. I dont know what I'm missing. Please advice
Regards,
Malini
Hi abhishek,
Please find below the config done in adapters
1 localejbs/AF_Modules/PayloadSwapBean Local Enterprise Bean 1
2 sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local Enterprise Bean mail
1 swap.keyName Content-Description
1 swap.keyName Content-Disposition
1 swap.keyValue MailAttachment-1
1 swap.keyValue attachment;filename="MailAttachment-1.xml"
Regards,
Malini
Similar Messages
-
Filename extension in Payload Swap bean
Hi Experts
I have a scenario Proxy to FTPS , where I have to send an excel attachment. I have used payload swap bean in receiver channel and it is working fine as I am now able to see attachment in final destination folder however since the file name is coming from ECC and we are using dynamic configuration in PI to handle this. excel attachment is missing the extention .xls when it is being triggered from ECC and therefore in FTP folder file is getting generated but with no extention.
I have added the extention .xls (as per the MIME header) in dynamic config and also tried to use concat function to achieve this extention to be added as final name of the file but when I did above adjustments I can see the correct name being generated in Main payload in SAP PI receiver channel monitoring but not in final destination folder, file still looks same as earlier (without any extention) , I believe since I am using payloadswapbean in module whatever I am getting in Mainpayload is being swapped by excel attachment values but not sure why the correct extention is not being shown up at final destination folders.
Please suggest how can I get the correct file name in destination folder with the help of SAP PI, I know I can do this if ECC will add .xls in attachment name.Hi Mohit,
I have tested the same scenario and it is working with PayloadSwapBean and DynamicConfiguration in the mapping and the file name correctly placed in the target.
Receiver File CC:
Dynamic Configuration:
Target Directory:
If your file name correctly set in dynamic configuration then the target file will be created correctly.
Regards,
Praveen. -
I was downloading podcast video in my itouch using wifi, but suddenly my wifi got disconnected and now there is a link in my podcast list which on opening uses wifi to play that video. I want to delete that link. Right to left swapping is not working.
I bet this is too late but...
Are you trying to print through the airport express wirelessly or the built in wireless of the lexmark? If you want to use the airport express, there is no need to mess with the wireless printing on the lexmark at all. The airport express will be easy to set up, all the wireless setups through the printers are a pain. -
Payload Swap Bean in SFTP adapter
Hi ,
I want to use Payload Swap Bean in SFTP Receiver adapter. Please tell me the flow.
Regards,
ManigandanMy Configuration in Adapter
File names in message -
SOAP To File (Attachment swapping with Payload using Payload Swap Bean)
Hi,
I am working on the subject line. The scenario works well and good when I use the bean in Receiver File Communication Channel.
The same bean configuration if I use on the sender SOAP the swapping of payload and attachment is not happening.
Any Ideas.............
Thanks,
- Gujjeti.
Edited by: Praveen Gujjeti on Feb 27, 2009 1:53 PM
Edited by: Praveen Gujjeti on Feb 27, 2009 1:53 PMHi Praveen,
Clearly written in SAP help document :
"SOAP sender Adapter does not support Moduls"
so using Payload swipe bean is all van.
Thanks
Sunil Singh -
Hi
I'm using the following values in my module tab -
Module name - AF_Modules/PayloadSwapBean
Module key - swapbean
This is the sequence of the Module Configuration -
swapbean | swap.keyName | Content-Disposition
swapbean | swap.keyName | Content-Description
swapbean | swap.keyValue | attachment;filename="MailAttachment-1.xls"
swapbean | swap.keyValue | MailAttachment-1
ThanksIs there no way of doing this?
Of course there is a way
Maybe i could put the swap bean on my file receiver adapter?
No, if it is file to mail, use the module in at mail sender channel only.
Try only this in your module parameter.
swapbean | swap.keyName | payload-name
swapbean | swap.keyValue | MailAttachment-1
Regards,
Prateek -
Swap Image not working Except in IE
I am working on a class project, and we've just learned how
to do "swap image" on rollover. It's working beautifully when in
IE, but in Firefox it's not working at all and in Opera it's
working strangely (only when on the "edges" of the flash text not
when rolling over the flash text) Any ideas as to the problem? The
flash text rollover works (changes colors), but the "bubbles" are
supposed to swap images. BTW, I thought it might be a setting in my
browser disabling something, but the swap image on classmates'
sites show up fine.
http://198.86.244.3/drsimpson/WEB140/drsimpsongallery/
ThanksI can't see what is the problem. :-(
Try replacing your flash buttons with plain gif images, it
works the same way and you will have much less code on your page. I
don't think the problem is there but you can always try. -
hello,
i have a prograss bar bean class and i saved this bean in
/form90/java and set the property of beans item " implement class" with this bean name but not working or display.
urgent help.
thanksSyed,
does it show in the demos ? It's unusual that something doesn't show without an error message. Its hard to guess what the prolem is, but since you don't get Java errors in the Jinitiator panel, the Jar file seems to be there or the Bean conatiner doesn't reference it in his implementation property. However, even if you have a misspelled reference of the Java class in teh implementation class property, the Jinitiator console would show a file not found error. Java Beans are initiated when the canvas that they are placed on shows. This means that setting Bean properties before initialization does not have an effect (as far as I know even this raises an error).
Which Jintiator version do you have? I am having 1.3.1.13 and experience some problem with the bean demos. It used to work with 1.3.1.9, which is the recommended version. Maybe your problem is similar.
Fran -
WebReports Swap functionality not working
Hi All,
I Have come across peculiar situation while designing WEB TEMPLATES.
In the report we require 3 tabs and each Tab is executed by clikcing on the Navigation .
Now the error is when we run the report and we need to analyze the report Using SWAP FN it is not working .
thnaks and regards
venkatHi Venkat,
Did you try Swapping the Axes by using the context menu.
http://help.sap.com/saphelp_nw04/helpdata/en/d3/ea523ac1ea1d35e10000000a11402f/frameset.htm
-Vikram -
OK, maybe I'm oversharing, but I want to be thorough. Note I asked this question a different way using very different code.
Here's my jsp file - myq.jsp
<%@ page language="java" import="java.util.*,com.serco.inquire.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="inq" tagdir="/WEB-INF/tags" %>
<inq:displayCollection>
<jsp:attribute name="mgr">Chris Novish</jsp:attribute>
</inq:displayCollection>Here's displayCollection.tag used by that jsp:
<%@ tag body-content="scriptless" import="com.serco.inquire.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ attribute name="mgr" required="true" %>
<jsp:useBean id="irc" scope="session" class="com.serco.inquire.IrCollection">
<jsp:setProperty name="irc" property="mgrid" value="${mgr}" />
</jsp:useBean>
${irc.size} | ${irc.mgrid}Here's the java class IrCollection (used as a bean in the tag):
package com.serco.inquire;
import java.sql.*;
import java.util.*;
public class IrCollection {
public ArrayList iRecords = new ArrayList<InquireRecord>();
public int size;
public String mgrid;
public irCollection() {
super();
public void populateCollection() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String filename = "inquire.mdb";
String database = "jdbc:odbc:Driver={Microsof Access Driver (*.mdb)};DBQ=";
database+= filename.trim() + ";DriverID=22;READONLY=true}";
Connection con = DriverManager.getConnection( database ,"","");
Statement s = con.createStatement();
s.execute ("SELECT * FROM inquiries WHERE manager = '" + this.mgrid + "'");
ResultSet rs = s.getResultSet();
int cur;
while (rs.next()) {
cur = rs.getRow()-1;
InquireRecord localIR = new InquireRecord();
int curID = rs.getInt("ID");
localIR.setID(curID);
String cursub = rs.getString("submitter");
localIR.setSubmitter(cursub);
this.iRecords.add(cur, localIR);
con.close();
this.size = iRecords.size();
catch (Throwable e) {
System.out.println(e);
public int getSize () {
return this.size;
public void setMgrid(String datum) {
this.mgrid = datum;
this.populateCollection();
public String getMgrid() {
return this.mgrid;
}and here's the InquireRecord java class used by IrCollection:
package com.serco.inquire;
public class InquireRecord {
private int ID;
private String submitter;
public InquireRecord() {
super();
public InquireRecord(String asubmitter) {
this.submitter = asubmitter;
public int getID(){
return this.ID;
public void setID(int datum) {
this.ID = datum;
public String getSubmitter() {
return this.submitter;
public void setSubmitter(String datum) {
this.submitter = datum;
}The JSP does this: set the mgr variable, which is passes to the tag, the tag then creates an instance of IrCollection using that mgr variable. (Yes, putting that populateCollection() method call in the setMgrid() method is probably Bad Practice, but it works, usually). The IrCollection objects builds an ArrayList of InquireCollection objects from an Access database. It then sets it's size property based on how many InquireCollection instances it put into the ArrayList. Once that's all done, the tag spits out 2 things: The size property and the mgrid property.
When I view the JSP, it gives me 0 for the size and Chris Novish for the mgrid.
I think this could be one of the following:
*Not finding any matching records of the database
*Not actually executing the populateCollection() method
*some how forgetting the information it put into that ArrayList?
I"m sure there's another possibility, but I don't know.
Here's what gets me. Here's a test class I made called TestCollection:
{code}package com.serco.inquire;
import java.util.*;
import java.text.*;
public class TestCollection {
public static void main(String[] args) {
IrCollection myCollection = new IrCollection();
myCollection.setMgrid("Chris Novish");
System.out.println(myCollection.getSize());
System.out.println(myCollection.getMgrid());
}{code}
if I run that I get a size of 4 and a mgrid of Chris Novish.
Same data in, and it works as expected.
So... why won't JSP do it?You have defined a session scope for that bean. You have to make sure that the bean is instantiated by this jsp and not earlier. If the bean is located in the session because it was set earlier, then the body tags within useBean are not evaluated.
Look here - http://java.sun.com/products/jsp/tags/syntaxref.fm14.html#8865
An easy way to test it would be to change the scope of the bean to request.
ram. -
Sender adapter request response bean not working for calling a webservice
Hi All,
In PI 7.31, My scenario : SOAP sender Asynch-> PI -> HTTP Receiver Sync ->take response to call another webservice (SOAP)
I have configured request response bean and response one way bean in the sender adapter to make this work.
Attached the screenshot of the module config in the sender soap adapter. The final response from HTTP has to be used to call another webservice (not sender webservice)
This giving an error "couldn't retrieve binding values for sender to receiver etc etc ----------"
Has anyone configured response one way bean to call a webservice to submit? If so, please share the configuration details. And let me know if I am doing anything wrong
thx
mikeHi Michael,
I think the adapter type is for the receiver channel looking at the documentation SAP Library - SAP Exchange Infrastructure
Have you checked your receiver channel doesn't belong to a party?
I havent tried this bridge with the http_aae but looks to be problematic according with Michal comment here http://scn.sap.com/community/pi-and-soa-middleware/blog/2014/01/28/generic-pi-async-sync-bridge-configuration-for-any-adapters#comment-454463
Regards. -
Swap image not working in IE on server
Hi
suddenly having problems with this - whether it's Win SP2 or
what I'm not sure. swamp image works fine locally (off a network
LAN drive) but not on the live server. I have preload images set,
not restore on mouseout. The setup is an imap with a hotspot but I
had the same thing happen on a plain image - no errors come up,
just a blank spot where the image is not swapping.
Any help appreciated
RGVery difficult to troubleshoot without seeing the code.
Regards
John Waller -
@EJB annotation in JSF managed beans not working
Hi all,
I've been trying to get the @EJB annotation to work in a JSF manged bean without success.
The EJB interface is extremely simple:
package model;
import javax.ejb.Local;
@Local
public interface myEJBLocal {
String getHelloWorld();
void setHelloWorld(String helloWorld);
and the bean code is simply:
package model;
import javax.ejb.Stateless;
@Stateless
public class myEJBBean implements myEJBLocal {
public String helloWorld;
public myEJBBean() {
setHelloWorld("Hello World from myEJBBean!");
public String getHelloWorld() {
return helloWorld;
public void setHelloWorld(String helloWorld) {
this.helloWorld = helloWorld;
When I try to use the above EJB in a managed bean, I only get a NullPointerException when oc4j tries to instantiate my managed bean. The managed bean looks like:
package view.backing;
import javax.ejb.EJB;
import model.myEJBLocal;
import model.myEJBBean;
public class Hello {
@EJB
private static myEJBLocal myBean;
private String helloWorld;
private String helloWorldFromBean;
public Hello() {
helloWorld = "Hello from view.backing.Hello!";
helloWorldFromBean = myBean.getHelloWorld();
public String getHelloWorld() {
return helloWorld;
public void setHelloWorld(String helloWorld) {
this.helloWorld = helloWorld;
public String getHelloWorldFromBean() {
return helloWorldFromBean;
Am I missing something fundamentally here? Aren't you supposed to be able to use an EJB from a JSF managed bean?
Thanks,
ErikWell, the more I research this issue, the more confused I get. There have been a couple of threads discussing this already, and in this one Debu Panda states that:
"Support of injection in JSF managed bean is part of JSF 1.1 and OC4J 10.1.3.1 does not support JSF 1.1"
10.1.3.1 Looking up a session EJB with DI from the Web tier
But if you look in the release notes for Oracle Application Server 10g R3, it is explicitly stated that JSF 1.1. is supported. So I'm not sure what to believe.
I've also tried changing the version in web.xml as described here:
http://forums.java.net/jive/thread.jspa?threadID=2117
but that didn't help either.
I've filed a SR on Metalink for this, but haven't got any response yet.
Regards,
Erik -
Audio Swap Channels not working
I'm running Premiere Pro CS4 on a Dell XPS that was recently upgraded to 64bit. I have 8GB memory, Intel Core 2 Quad CPU Q660 @ 2.40 GHz. My sound card went bad so I'm only using the sound device that came with the computer. The device manager says a High Def Audio Device (internal HD audio BUS) is the sound device being used. No other name is given.
The audio file I am working with shows this in Properties :Source Audio Format: 48000 Hz - 16 bit - Stereo; Project Audio Format: 48000 Hz - 32 bit floating point - Stereo
Question: I've never had a problem adding a second line of audio, going to Audio, Stereo, Swap Channels. This time, the audio won't swap channels. I've tried it several times, closing Premiere, rebooting, it still isn't working.
Is this a sound card problem or something else? I stupidly told IT I don't need another sound card as long as I can hear it. I'm thinking I made a mistake. Any ideas?
ThanksHi,
I don't do any sound stuff in Premiere and have only Premiere CS3... but I have been doing some sound outside of Premiere and have been reading up on using Premiere for doing some sound editing. Does this portion of the help file on mapping sound do you any good ? The bold I put there to more or less ask if you have that enabled or not since you might have different setting since upgrading to 64 bit ??
<<<<<<
Map audio channels
You can define how a clip’s audio is mapped to channels, audio tracks, or both when the clip is added to a sequence or viewed in the Source Monitor. You can determine how different types of clips are mapped, by default, by setting Audio Output Mapping preferences. Mapping is applied to clips in the Project panel using the Source Channel Mappings command. You can simultaneously apply the command to multiple master clips. When the command is applied, the following controls are available in the Source Channel Mappings dialog box:
Track Format
Defines the type of track in which the clip’s audio channels are grouped—mono, stereo, mono as stereo, or 5.1 surround. When you change a master clip’s track format from stereo or 5.1 surround to mono, Adobe Premiere Pro maps each channel to a separate mono track. When you add the clip to the sequence, the clips on the separate mono tracks are linked together. For more information on multi‑clip links, see Linking multiple audio clips.
Enable
Enables or disables an audio source channel. When you add a clip to a sequence, only the enabled channels are added to the Timeline panel. Disabling a source channel also prevents you from swapping its output channel with another source channel.
Source Channel
Lists the original channels of the clip’s audio.
Track
Displays the order that the channels are placed into the Timeline panel.
Note: Under Track, the numbers don’t correlate with the actual audio track numbers.
Channel
Displays the channel type that the source channel is mapped to.
Playback button and slider
Lets you preview the audio of the selected source channel. You can preview a source channel whether it’s enabled or not. The playback button and slider is unavailable if you’re applying the Source Channel Mappings command to multiple master clips.You should map source audio channels before adding a clip to a sequence. If you apply the Source Channel Mappings command to a master clip that’s been added to a sequence, you can swap only the output tracks and channels between source channels. The Track Format and Enable controls are unavailable, preventing the master clip’s overall configuration from becoming out of sync with instances of the master clip already in a sequence.
>>>>>>>>>
Rod -
My first bean not working... is it classpath?
I am doing my first Javabean ever and it is a very basic one. I have uploaded the bean to a server but it is not running. I am pretty sure that the code is right. My guess is something about classpath but I am not sure. Please read this and let me know if I making a bean in right way???
1- In the first line in my java file (myBean.java) I write package user;
2- I put myBean.java in C:\Program Files\Java\jdk1.6.0_11\bin
3- From the console I run javac myBean.java and get BeanClass.class
4- I upload myBean.class to the server in directory WEB-INF\classes (I have already asked the web hotel and it should be there)
5- I run the file and get a org.apache.jasper.JasperException
Am I compiling in the right place in the right way??? Is it something with the classpath???
Thanks!!!I am going to be straight and to the point with you. I would take a step back and start at the basics again because you seem horribly confused about several things, one of which is the basics of the basics (how to compile java classes).
You shouldn't even be thinking about web development before you have a firm grasp on Java itself. Have you gone through the introductory tutorial?
http://java.sun.com/docs/books/tutorial/getStarted/cupojava/index.html
That should at least explain to you how to use the tools properly. When you have a little knowledge of how Java ticks and you can write command line programs with it, I would first study how java web applications work. Read about servlets and JSPs and how to deploy a web application properly.
Maybe you are looking for
-
How do i delete my icloud from my friends mac ?
Hello everyone , few weeks ago i logged in with my icloud account on my friends macbook and signed out but now he gets my messages that people send me on my phone.. how do i delete my account from his computer ? im signed in on my macbook with my icl
-
Error in redeploy to 9iAS 9.0.2 from jDev 9.0.3.1
I've been trying to follow the howto on using jDev to deploy portal applications. ( http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/ARTICLES/BUILD.JAVA.PORTLETS.USING.JDEVELOPER.V2.HTML ) I made it through the first part OK and deplo
-
How do I make a 3-d rotating text in Flash cs4?
Hi, Thunder BoomCat PowWow here. I'm a student in this Virtual Enterprise class and am in charge of learning flash and making a kick-butt commercial for our firm: Uncommon Ground. I was wanted to make some text rotate AROUND a sphere in flash (the sp
-
TEXT.IO in Oracle 10g Forms
Is TEXT.IO function applicable to Oracle 10g Forms? Is there any other way to upload text files to a database table using Oracle 10g Forms? the procedure is that the user should be able to select text file from his station and upload the contents to
-
Hi, How can I add WPS (pin) [for a WiFi capable CAMERA] to Time Capsuale WiFi network? Regards