Reg:Mail Adapter
Hi,
I have a requiremnt like i need to pick the txt file from the sender side and place that file to the targer. Once the Tarfget file is place i need to send mail with the input file as attachement and body of the mail should have few details from the payload.
In interfface determination i have checked maintian oreder at runtime. ISo when the file is placed then only mail is sent.
The problem is i am able to get the content in the mail bosy. But i am not able to send input file as an attachment.
I have seen many blogs in SDN, but only body or attachemnt is possible at a time. Otherwise i need to do XSLT mapping or java mapping for this..
Can u please help in this issue.
Regards,
Ramana'
You can either have attachment or email-body using the mail adapter....both of them are not supported at the same time (in standard functionality).
Update:
If you are looking for an option then having a JAVA mapping will help you create both body and attachment:
/people/stefan.grube/blog/2007/04/17/xi-mail-adapter-an-approach-for-sending-emails-with-attachment-with-help-of-java-mapping
But the sa,e cannot be achieved using message mapping.
Regards,
Abhishek.
Edited by: abhishek salvi on Mar 18, 2010 4:17 PM
Similar Messages
-
Busines service reg mail adapter
Hi
I am working on scenario idoc(sender) to mail(reciever),sender idoc is aleaud,reciever is mail of format mailpackage, i am taking reciever as business service,when i am running the scenario the message is comming into xi,but it is not triggering mail adapter, in reciever mail adapter also i maintained all the parametrs, what could be the possible error, do i need to maintain the reciever mail as business system in sld or i can go ahead with business service. i am sending the mail to my company mail.
regards
raghuHi,
As of NetWeaver04 (XI 3.0), SP15 or NetWeaver04s (XI 7.0) Support Package 06, it is possible to define a security level for certain HTTP-based XI inbounds. This is done in the directory in the corresponding sender channels.
The following HTTP-based adapters/inbounds are supported:
Integration Server:
o XI protocol
o Plain HTTP adapter
Adapter Engine:
o SOAP adapter
The following HTTP security levels are possible (in ascending order):
HTTP without SSL
HTTP with SSL (= HTTPS) without client authentication
HTTP with SSL (= HTTPS) with client authentication
HTTPS configuration:
Note that for the HTTPS security levels with and without client authentication, you must configure the integration server (ABAP WebAS) or the adapter engine (J2EE WebAS) accordingly. This configuration basically affects the following aspects:
- Installing the SAP Cryptographic Library (both in ABAP and J2EE WebAS)
- Generating and maintaining certificates for the HTTPS server role
- Configuring and mapping the client certificates that are used onto the corresponding internal users (in client authentication). In J2EE WebAS, you must select the option "Request Client Certificate" on the tab "Runtime" and "Client Authentication" in visual admin in the dispatcher service "SSL Provider".
In this regard, see also the SAP Help Portal at http://help.sap.com/ -> Documentation -> SAP NetWeaver -> SAP NetWeaver 2004s (or SAP NetWeaver '04) under SAP NetWeaver Library -> Administrator's Guide -> SAP NetWeaver Security Guide -> Security Guides for NetWeaver according to Usage Types -> Security Guide for Usage Type PI -> SAP NetWeaver Process Integration Security Guide -> Network and Communication Security -> HTTP and SSL.
SOAP adapter configuration:
You still have to configure the SOAP adapter, particulary in visual admin. To do this, change the relevant SOAP adapter service sap.com/com.sap.aii.af.soapadapter*XISOAPAdapter in the security provider service (under -> Runtime-> Policy Configurations). Under the Authentication tab set the list of login modules as follows:
ClientCertLoginModule, SUFFICIENT
BasicPasswordLoginModule, SUFFICIENT
You do not need to enter anything specific into the Options column.
Regards
Aashish Sinha -
Reg:Receiver Mail Adapter
Hi ..
I am using Mail adapter at reciever side.
I am using Mail package for this.
I have selected SMTP as Transport Protocol.
and I have selected XIPAYLOAD as Message Protocol
in URL i ahve given in the below format.
SMTP://host ip address:port
I have checked Use Mail Package option.
In Content Encoding i have selected None.
While executing the scenario, i am getting the below error in channel monitoring.
Message processing failed. Cause: com.sap.aii.af.sdk.xi.srt.BubbleException: Failed to call the endpoint [null "null"]; nested exception caused by: com.sap.aii.af.sdk.xi.srt.BubbleException: Unknown encoding name for the mail content: [null "null"]
Thanks,
LeelaHi Suraj,
I have used the weblog "/people/stefan.grube/blog/2007/04/17/xi-mail-adapter-an-approach-for-sending-emails-with-attachment-with-help-of-java-mapping
I got the attached mail and body content separately..
But i want to use the java maaping in my UDF. because we are having dependency.Whenever the file is placed in recievr folder, then only we need to send mail.
so we are doing 1: N mapping. reciever side we used 2 structures. one for file and other is mail xsd.
and we need the file name and file content dynamically. In the weblog they hardcoded the filename and other details.
So can you please help in writing the UDF for the java mapping..
I have removed the code from the java mapping andmodified as ashown below.
protected static void copySource(InputStream in, OutputStream out)
throws IOException {
int c;
while ((c = in.read()) != -1) {
switch (c){
case '&': out.write("&".getBytes()); break;
case '\"': out.write(""".getBytes()); break;
case '\'': out.write("'".getBytes()); break;
case '<': out.write("<".getBytes()); break;
case '>': out.write(">".getBytes()); break;
default: out.write(c);
Is there anything to add ? Can you please suggest.
Regards,
Leela -
Receiver mail adapter - Payload as a Text attachment
Hi,
In my proxy to mail adapter scenario, when i want to send payload to email as a Text email, where i need to content conversion in XI (XML to Txt file)
when i send payload, currently i am receiving as a XML file.
I try to follow like Rushikesh Deshmukh XI thread: Text Attachment in Mail Adapter in XI forum(topic)
I have having following config
Processing Sequence
localejbs/CreateAttachment Local Enterprise Bean XML2Plain
localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local Enterprise Bean mail
Module Configuration
XML2Plain Transform.Class com.sap.aii.messaging.adapter.Conversion
XML2Plain Transform.ContentType text/plain;charset=utf-8
XML2Plain xml.Header1000.fieldFixedLengths 100,10,10,30,30,80,80,20,10,10,20,20,30,10,18,240,10,30,18,10
XML2Plain xml.Header2000.fieldFixedLengths 100,30,40,240
XML2Plain xml.addHeaderLine 0
XML2Plain xml.conversionType StructXML2Plain
XML2Plain xml.recordsetStructure Header1000,Header2000
Please suggest some solution."
Could you tell me exactly where i need to do all these setting and
do i need import localejbs/CreateAttachment Local Enterprise Bean XML2Plain...I mean shall i add same in my processing sequence
give in detail ? (in Receiver mail adapter Communication channel, advanced mode additional parameters)
I tried to follow this also
http://help.sap.com/saphelp_nw04/helpdata/EN/4e/c153426da9bd30e10000000a155106/frameset.htm
but i could not find much info on this help.sap.com reg. req.
Thanks
PrabaharanHi
f i create like this Receiver CC (module Tab)
number: 1
Module Name: localejbs/CreateAttachment
Module Type: Local Enterprise Bean
Module Key: mail
is it enough? do i need any other setting like this
Did you deployed CreateAttachment on PI server. As this is not a standard SAP module this is a custom module?
mail as module key is already used by XIMAILAdapterBean use some other key for CreateAttachment
Settings are fine for the Module
Processing Sequence
localejbs/CreateAttachment Local Enterprise Bean XML2Plain
localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local Enterprise Bean mail
Module Configuration
XML2Plain Transform.Class com.sap.aii.messaging.adapter.Conversion
In this:
Module Key: XML2Plain
Parameter Name: Transform.Class
Parameter Value: com.sap.aii.messaging.adapter.Conversion
is it right?
Processing sequence is fine
XML2Plain Transform.ContentType text/plain;charset=utf-8
XML2Plain xml.Header1000.fieldFixedLengths 100,10,10,30,30,80,80,20,10,10,20,20,30,10,18,240,10,30,18,10
XML2Plain xml.Header2000.fieldFixedLengths 100,30,40,240
XML2Plain xml.addHeaderLine 0
XML2Plain xml.conversionType StructXML2Plain
XML2Plain xml.recordsetStructure Header1000,Header2000
can i anyone explain how to these settings?
Is this key valid to provide inputs to the module check with the code for this module
This looks like valid for MessageTransformBean ro StrictXMLtoPlainBean
Thanks
Gaurav
Edited by: Gaurav Bhargava on Oct 15, 2008 5:34 AM -
Error in reciever mail adapter
Hi all,
I am testing my reciever mail adapter by sending message from runtime workbench.
In sxmb_moni i get successfull status.But it is giving following error in reciever mail adapter :
Message processing failed. Cause: com.sap.aii.af.sdk.xi.srt.BubbleException: Failed to call the endpoint [null "null"]; nested exception caused by: java.net.UnknownHostException:XYZ
failed to send mail: java.net.UnknownHostException: XYZ
where xyz = My microsoft exchange server name taken from tools->options->mail setups ->Email Accounts -->email tab here we get microsoft exchange server name.
Thanks
DeepakHi Deepak ,
Please refer this forum post .. if this helps.
Reg:Receiver Mail Adapter
Regards,
srinivas -
Dynamic Filename in Receiver mail adapter is it possible without module?
Hi,
I need to send the file name in email adapter dynamically.Presently iam getting the filename as untitled.xml in the email .The keep attachments is checked in the mail adapter.
I need to rename the file based on the input field name and timestamp .for example if i get the input field xxxx then the filename should be set as xxxx + timestamp .xml.I tried to use the UDF for dynamic configuration but it didnot help me out.Please help me.
Thanks
RajeshUse below code snippet... It should work. If you want timestamp different change accordingly. Currently I do date followed by time as per my requirement.
SimpleDateFormat simpledatFormat = new SimpleDateFormat("yyyyMMdd");
Date date = new Date();
String datewithYear = simpledatFormat.format(date);
SimpleDateFormat simpledatFormat1 = new SimpleDateFormat("HHmmss");
Date date1 = new Date();
String datewithMs = simpledatFormat1.format(date1);
DynamicConfiguration conf = ((DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION));
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File" , "FileName");
String oldFileName=conf.get(key);
String valueNew;
if( oldFileName == null){
valueNew =oldFileNamedatewithYeardatewithMs+".xml";
//set the new filename
conf.put(key, valueNew); -
Hi,
I am working on Sender Mail Adapter. I have done the total configuration but unable to sucess the scenarios. In the CC monitoring, it is saying that "Not Intialised" Even though i send and receive the messages from My Lotus Notes Inbox. I activated all the objects.
I have done the following examples:
Transport Protocal: POP3
Message Protocal: XIALL
Given the URL and UserId and PWD also
Poll Intevel: 1 (Mins)
Adapter Status: Active
Please help to me solve this problem. I already raised the one more thread today but didn't get solutions.
<b>Note: Do i need to do any setting from the Lotus notes(Mail Server) to diver my messages.</b>
Thanks in Advance,
<b>I found the problem with SMTP Address. Can i use the SMTP Url for POP3 or IMP4 protocal. Is there any thing else because if i use the Same SMTP Address, it is giving exception</b>
Best Regards,
Vijay
Message was edited by:
Gangisetty Vijaya Bhaskarudu
Message was edited by:
Gangisetty Vijaya BhaskaruduHi Gangisetty,
SMTP is the out going server(for sending mails out) while POP3 is the in coming(receiving mails) server. So for a sender channel, you need to use the POP server details not SMTP.
cheers
danus -
Sender Mail Adapter - forcing content as an attachement
Hi all,
We are using the Sender Mail Adapter to pull emails from the inboxes of some users of an exchange server. We use the Mail Package option.
We have noticed that the content of the emails are by-default added as attachments when there are no real attachments to the emails. However the content is not added as an attachment when one or more attachments are present in these emails.
Is there a way of forcing the Sender Mail Adapter to always add the content as an attachment and keeping the other attachments as well? and of course maintain the Mail Package message type as the main payload...?
Many thanks,
AldoHi Stefan,
Thanks for your reply. I am glad to hear that I am wrong again )
In your opinion is it possible to force the Outlook Exchange server to add the content attachment every time? I mean by doing some configuration on it...?
The reason why we would like to do this is because when - in the content tag of a Mail Package message - we have MIME message parts that are of content-type text/html we are having problems in decoding the html back to a readable format.
To do this we use the apache QuotedPrintableCodec Java class.
This works fine when the content type of the message is just text/plain but we get an exception when we try with text/html.
The exception we get is:
org.apache.commons.codec.DecoderException: Invalid URL encoding: not a valid digit (radix 16): 13
I don't know if this is because of the two character sets we have in the payload (utf-8 and iso-8859-1) or if it is for other reasons...
If you could help me figure out how to forward any HTML email to another system in a readable format it would be great.
Thanks for your support,
Aldo -
Sender Mail Adapter Configuration - Process Multiple Attachments
Dear sirs,
I need to process several attachments at the same mail message as individual payloads.
In default configuration of sender mail adapter only the body of message is used as payload.
So I added PayloadSwapBean Module at Processing Sequence and it processed the attachment I set in Module Configuration. I'm not able to process all attachments available, just one attachment is sent to PI pipeline.
How can I process all attachments of a single mail message?
Thank you in advance.
Fabio PurcinoHi Jose,
We are trying to implement reading multiple attachment in sender mail adapter.
Our Requirement is : Reading a mail having multiple .xls files. This should be read and converted to payload .
package multiswap;
//import com.sap.aii.adapter.xi.ms.XIMessage;
import com.sap.aii.af.lib.mp.module.*;
import com.sap.aii.af.lib.trace.Trace;
import com.sap.aii.af.sdk.xi.mo.Message;
import com.sap.aii.af.sdk.xi.mo.MessageContext;
import com.sap.aii.af.sdk.xi.mo.xmb.XMBMessageOperator;
import com.sap.aii.af.sdk.xi.mo.xmb.XMBPayload;
import com.sap.aii.af.sdk.xi.util.PayloadType;
import com.sap.aii.af.service.auditlog.Audit;
import com.sap.aii.af.service.cpa.*;
import com.sap.engine.interfaces.messaging.api.MessageDirection;
import com.sap.engine.interfaces.messaging.api.MessageKey;
import com.sap.engine.interfaces.messaging.api.Payload;
import com.sap.engine.interfaces.messaging.api.auditlog.AuditLogStatus;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Locale;
import javax.ejb.*;
public class MultiSwapRead
implements SessionBean, Module
private static final String VERSION_ID = "$Id: //tc/xpi.af/NW731EXT_07_REL/src/_af_application_ejb_module/ejbm/api/com/sap" +
"/aii/af/app/modules/PayloadSwapBean.java#1 $"
private static final Trace TRACE = new Trace("$Id: //tc/xpi.af/NW731EXT_07_REL/src/_af_application_ejb_module/ejbm/api/com/sap" +
"/aii/af/app/modules/PayloadSwapBean.java#1 $"
private static final String SIGNATURE_PROCESS = "process(ModuleContext , ModuleData)";
protected Hashtable cachedChannels;
protected SessionContext myContext;
public MultiSwapRead()
cachedChannels = new Hashtable();
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
if(TRACE.beLogged(200))
TRACE.entering("process(ModuleContext , ModuleData)", new Object[] {
moduleContext, inputModuleData
ModuleData outputModuleData;
Iterator itr;
outputModuleData = inputModuleData;
String chid = moduleContext.getChannelID();
TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, (new StringBuilder()).append("performing payload swap for channel ").append(chid).toString());
LookupManager lman = LookupManager.getInstance();
Channel chan = null;
try {
chan = (Channel)LookupManager.getInstance().getCPAObject(CPAObjectType.CHANNEL, chid);
} catch (CPAObjectNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (CPAException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
Direction direction = chan.getDirection();
String swapkey = moduleContext.getContextData("swap.keyName");
String keyvalue = moduleContext.getContextData("swap.keyValue");
Object obj = inputModuleData.getPrincipalData();
Object pivotedObj = inputModuleData.getSupplementalData("mp.pivoted");
boolean pivoted = pivotedObj == null || !(pivotedObj instanceof Boolean) ? false : ((Boolean)pivotedObj).booleanValue();
Message mo = null;
if(obj instanceof com.sap.engine.interfaces.messaging.api.Message)
mo = (Message)((com.sap.engine.interfaces.messaging.api.Message)obj);
} else
if(obj instanceof MessageContext)
mo = ((MessageContext)obj).getMessage();
} else
TRACE.warningT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, "no message found");
if(mo != null && XMBMessageOperator.numberOfPayloads(mo) > 0)
// String midstr = XMBMessageOperator.getMessageId(mo).toString();
MessageKey auditkey = new MessageKey(((com.sap.engine.interfaces.messaging.api.Message) mo).getMessageId(), com.sap.engine.interfaces.messaging.api.MessageDirection.INBOUND);
itr = (Iterator) mo.getAttachments();
if(swapkey != null && keyvalue != null)
StringBuffer textSwappingbyBuf = new StringBuffer();
textSwappingbyBuf.append("Swap: swapping by '").append(swapkey).append("' ? '").append(keyvalue).append("'");
String textSwappingby = textSwappingbyBuf.toString();
TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, textSwappingby);
Audit.addAuditLogEntry(auditkey, AuditLogStatus.SUCCESS, textSwappingby);
while (itr.hasNext()){
boolean swappedp = swapPayloads(mo, swapkey, keyvalue);
String swappedStatus = swappedp ? "Swap: successfully swapped" : "Swap: no matching payload found";
Audit.addAuditLogEntry(auditkey, AuditLogStatus.SUCCESS, swappedStatus);
} else
StringBuffer textInvalidBuf = new StringBuffer();
textInvalidBuf.append("Swap: parameter missing ");
if(swapkey == null)
textInvalidBuf.append("swap.keyName");
if(swapkey == null && keyvalue == null)
textInvalidBuf.append(" and ");
if(keyvalue == null)
textInvalidBuf.append("swap.keyValue");
String textInvalid = textInvalidBuf.toString();
TRACE.warningT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, textInvalid);
Audit.addAuditLogEntry(auditkey, AuditLogStatus.WARNING, textInvalid);
} else
String messageEmpty = "Swap: message is empty or has no payload";
TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, messageEmpty);
return outputModuleData;
private static boolean swapPayloads(Message mo, String swapkey, String keyvalue)
swapkey = swapkey.toUpperCase(Locale.ENGLISH);
keyvalue = keyvalue.toUpperCase(Locale.ENGLISH);
int ifound = -1;
for(int i = 0; i < XMBMessageOperator.numberOfPayloads(mo); i++)
XMBPayload pldi = XMBMessageOperator.getPayload(mo, i);
String pldivalue = null;
if(swapkey.equals("PAYLOAD-DESCRIPTION"))
pldivalue = pldi.getPayloadDescription();
} else
if(swapkey.equals("PAYLOAD-NAME"))
pldivalue = pldi.getPayloadName();
} else
pldivalue = pldi.getContentAttribute(swapkey);
if(pldivalue == null)
continue;
pldivalue = pldivalue.toUpperCase(Locale.ENGLISH);
if(pldivalue.indexOf(keyvalue) < 0)
continue;
ifound = i;
break;
if(ifound >= 0)
XMBPayload pldfound = XMBMessageOperator.getPayload(mo, ifound);
if(pldfound.getPayloadType() != PayloadType.APPLICATION)
XMBPayload pldapp = XMBMessageOperator.getApplicationPayload(mo);
if(pldapp == null)
pldfound.setPayloadType(PayloadType.APPLICATION);
} else
pldapp.setPayloadType(PayloadType.APPLICATION_ATTACHMENT);
pldfound.setPayloadType(PayloadType.APPLICATION);
TRACE.infoT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, "successfully swapped");
return true;
} else
TRACE.warningT("process(ModuleContext , ModuleData)", ModuleCategories.SAP_MODULE_ROOT, "no matching found");
return false;
We couldn't go further. Please have a look in highlighted code.
Regards,
Kesava. -
Sender Mail adapter encounters MalformedInputException
I have a sender mail adapter that processes the attached .csv file. All is working fine. I use FCC in module to convert the attachment and pass to an IDOC adapter for processing in SAP system.
My problem is sometimes the sender mail CC fails with ...........
exception caught during processing mail message[1]; com.sap.aii.af.mp.module.ModuleException: Transform: failed to execute the transformation: com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'sun.io.MalformedInputException'; nested exception caused by: sun.io.MalformedInputException caused by: com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'sun.io.MalformedInputException'; nested exception caused by: sun.io.MalformedInputException
It only fails with some files. At the moment when we test we FORWARD the email to our email account. If I detach the failed email attachment and attach it to a NEW email it will then work.
So why does it not work when forwarding emails? But it works when I attach the same file to a new email and send?
Other threads for this error seem to point to encoding. But how do I know which to use. I currently use the following in my module config:
Transfer.ContentType application/octet-stream;charset="ISO-8859-1"I have this in my configuration:
localejbs/AF_Modules/PayloadSwapBean on local
TRANSFORM
localejbs/AF_Modules/MessageTransformBean on local
txtxml
TRANSFORM swap.keyName payload-name
TRANSFORM swap.keyValue MailAttachment-1
txtxml Transfer.ContentType application/octet-stream;charset="ISO-8859-1"
txtxml Transform.Class com.sap.aii.messaging.adapter.Conversion
txtxml Transform.ContentDescription MailAttachment-1
txtxml Transform.ContentDisposition attachment;filename="MailAttachment-1.bin"
txtxml xml.conversionType SimplePlain2XML
txtxml xml.documentName MT_BCD_INVOICES
txtxml xml.documentNamespace urn://federalmogul.com/BCDTRAVEL/FINGLOBCD001/00
txtxml xml.fieldNames COST_CENTRE,EMPLOYEE_ID,PRODUCT_GROUP,COMP_CODE,BCD_ACCOUNT,INVOICE_DATE,TRAVELER_NAME,TRAVELER_FIRST_NAME,INVOICE_NO,AMOUNT_EXCL_VAT,CURRENCY1,AMOUNT_VAT,CURRENCY2,AMOUNT_DOC_CURRENCY,CURRENCY3
txtxml xml.fieldSeparator ;
txtxml xml.lastFieldsOptional YES
txtxml xml.processFieldNames fromConfiguration
txtxml xml.structureTitle RECORDSET -
Sender "Mail" adapter - CSV file attachment
Hi there
I'm looking for some help in configuring a sender mail adapter that receives ".csv" files. I did read some blogs that mention using the "PayloadSwapBean" module to read the mail attachment instead of the mail content. My problem is to now convert the ".csv" file into a message. Is there a module that I can use ( is it the "MessageTransfomBean" ) and how. Any help would be appreciated.
Thanks
SalilHi Salil,
If you want to send a mail with a body and attachments, the message sender HAS to provide an XI message with attachments. I doubt a CSV file does justice.
As Renjith said you need to convert CSV to XmL.
A short description about the Standard Modules:
MessageTransformationBean is a standard module used to apply the XSLT mapping to the adapter module by using <i>Transform.class</i> ( This xslt mapping is done to create a mail package, Dont confuse with the actual mapping in your case this is NOT for converting csv to xml).
Also this module can be used to change the name and type of payloads by using <i>Transform.contentType</i>, <i>Transform.contentDisposition</i>, <i>Transform.contentDescription</i>.
PayloadSwapbean is a standard module for replacing payloads with other payloads (SWAP)
If you want to give each attachment a certain name use Parameters, <i>swap.keyname</i> for name of the payload and <i>swap.keyvalue</i>.
I Hope the use of standard modules is understood. -
Sender Mail Adapter, technical Acknowledgement
Hi all,
I have a SMTP --> XI --> Proxy Scenario. For the inbound message I get via SMTP, I'd like to send a technical acknowledgement back to the Sender (via SMTP, too). The acknowledgement has a specific message structure, for example it contains the DocumentID of the inbound message I get via SMTP.
My idea now is: Within ReceiverDetermination, I configure two receivers:
1. Backend system for the Inbound Proxy
2. original Sender System
Within Interface Determination, I'll do 2 mappings:
1. Mapping from source message to ABAP proxy interface
2. Mapping from source message to technical acknowledgement structure
Then, receiver agreements / receiver communication channels for both interfaces.
My question now is: is there a more elegant solution then doing the scenario like described above? Maybe something I can do in the Sender Mail Adapter to create the specific technical acknowledgement and sent it back to the sending application?
Best regards
HolgerHi Holger !
XI supported acks are not available for your scenariom because the smtp/mail sender cannot request it.
http://help.sap.com/saphelp_nw04s/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/frameset.htm
You should create some kind of artificial ack, that should be part of your own protocol. What I meant with the SYNC proxy, is to use its response message as your own defined ack, because it is not supported as is.
If you call your proxy async, then you will not receive any feedback to use it as ack info.
Another idea could be to forget the ack per se, and just use define an alert in case of problems with the scenario to send a mail to the specified users.
Regards,
Matias -
Sender Mail Adapter - S/MIME - How to use it?
Hi guys,
I am trying to figure out how to use the S/MIME security parameter of the Sender Mail Adapter in PI 7.1.
Could anyone point me to some useful documentation/examples/blogs ?
Or perhaps explain what steps are involved when configuring this parameter?
We are pulling emails from an Microsoft Exchange server.
Many thanks,
AldoFirst of all one sender mail adapter has to be tight with a specific sender email address.
The email has to be decrypted as whole, you cannot decrypt parts of it.
Then you store certificates to secure store in J2EE server and point to it in send agreement, this should be equal to HTTPS setup
Check security guide:
http://help.sap.com/saphelp_nwpi71/helpdata/EN/f7/c2953fc405330ee10000000a114084/frameset.htm -
Sender Mail adapter configuration with attachment
Hi,
I read the below blog regarding the mail adapter
/people/michal.krawczyk2/blog/2005/12/18/xi-sender-mail-adapter--payloadswapbean--step-by-step
I have the same requirement but the attachment file is not an XML, it is CSV file so in the module tab if I change like below is it enough?
TRANSFORM swap.keyValue attachment; filename=u201DMailAttachment-1.csvu201D (I think MailAttachment-1 is the file name, am I correct?)
If I change like above is it ok? or any other thing is required, Could you please give me the inputs
Thanks
RameshI have the same requirement but the attachment file is not an XML, it is CSV file so in the module tab if I change like below is
it enough?
PayloadSwapBean will ensure that the input to the mapping is from the attachment.....in the blog the attachment is in XML format and hence there was no need for any conversion.....yours is however a CSV file so you need to convert it to XML first and then do the further processing.....you can either use the MessageTransformationBean as shown in this blog:
/people/gabrielsagayaselvam.panneerselvam/blog/2009/08/31/solve-key-field-problem-using-structplain2xml-in-messagetransformationbean
Or write your own module code for the conversion.
Regards,
Abhishek. -
Sender Mail Adapter with PayloadSwapBean
Hello Experts!
I have a Sender Mail Adapter receiving emails with attachments! I'm using PayloadSwapBean, because I have to manipulate (to do mapping) the XML attachment.
Sender Mail Adapter Configuration:
Default Interface Namespace = urn:mynamespace.com
Default Interface Name = abs_async_myInterface
swap.keyName = Content-Disposition
swap.keyName = Content-Description
swap.keyValue = attachment;filename="MailAttachment-1.xml"
swap.keyValue = MailAttachment-1
Well, my problems are:
1) Although my Default Interface Namespace is urn:mynamespace.com, sometimes the namespace that cames to SXMB_MONI is http://sap.com/xi/XI/System/Mail. In that case, an Receiver Determination error happens.
2) My XML can be the first (MailAttachment-1), the second (MailAttachment-2), the third (MailAttachment-3), or any other attachment position. Since my swap.keyValue is set to "MailAttachment-1", I'm able to pick the XML only if it is the first attachment.Hi Julio,
Writing an Adapter Module for the same can make your task easy.
Thanks'
Sunil Singh
Maybe you are looking for
-
Online order cut off times for next day delivery
what is the latest time I can order off your web site for next day delivery?thanks
-
Small cusom class with generic dataypes.
I'm working on a little project for a class in algorithm analysis. I have to use Java to create a simple list data type from scratch (BasicList); it has 8 functions + constructor. The implementation must be self-contained (no import declarations) and
-
Question Mark in Quicktime icon
When I try to play a clip in Quicktime, all I get is a large question mark. Can anyone help? Thanks... Songstan
-
Velocity demo: error running the import scripts
I tried to install velocity demo, when I run import scripts (mydemo_schema.dmp) I get the following error: IMP-00010: not a valid export file, header failed verification IMP-00000: Import terminated unsuccessfully Did someone test it successfully ? O
-
Deleting unwanted apps after being hacked
Someone hacked my account and tried to download items. Now those items are in my downloads and I can't delete them. Anyone know how to delete pending downloads? Thanks!