Skip to Content
0
Former Member
Dec 04, 2009 at 06:52 AM

File to Mail scenario

55 Views

Hi Experts,

I have done file to mail scenario using Java Mappings and imported .xsd docs.

Presently my scenario is working fine.

External def are ::

Sender .xsd is

<?xml version="1.0" encoding="ISO-8859-1"?>

http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:element name="EMAIL_Message">

<xs:complexType>

<xs:sequence>

<xs:element name="EMAIL_CONTENTS" minOccurs="0" maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Receiver .xsd is ::

<?xml version="1.0" encoding="ISO-8859-1"?>

http://www.w3.org/2001/XMLSchema" xmlns:xi=" http://sap.com/xi/XI/Mail/30" targetNamespace=" http://sap.com/xi/XI/Mail/30">

<xs:element name="Mail">

<xs:annotation>

<xs:documentation>

Mail package for XI - Mail Adapter

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Subject" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

optional subject line

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="From" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

optional sender email address (required for SMTP)

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="To" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

optional one or more receiver email addresses (required for SMTP)

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Reply_To" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

optional reply-to email addresses

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Content_Type" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

optional content type (default is text/plain)

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Content_Description" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

optional content description

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Content_Disposition" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

optional content disposition

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Date" type="xs:dateTime" minOccurs="0">

<xs:annotation>

<xs:documentation>

optional date

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Message_ID" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

optional message id

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="X_Mailer" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

optional mail program name

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Content" minOccurs="0">

<xs:annotation>

<xs:documentation>

any mixed content type

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attribute name="encoding" type="xs:string">

<xs:annotation>

<xs:documentation>

optional encoding name (base64, quoted-printable)

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="MailReceipt">

<xs:annotation>

<xs:documentation>

Mail Receipt for XI - Mail Adaper

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Server" type="xs:string">

<xs:annotation>

<xs:documentation>

Server URL

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Greeting" type="xs:string">

<xs:annotation>

<xs:documentation>

Server Greeting Message

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Format" type="xs:string">

<xs:annotation>

<xs:documentation>

Message Format XIALL or XIPAYLOAD

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="UseMailPackage" type="xs:boolean">

<xs:annotation>

<xs:documentation>

Mail Package Flag

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Encoding" type="xs:string">

<xs:annotation>

<xs:documentation>

Encoding name

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Subject" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

Mail Subject

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="From" type="xs:dateTime" minOccurs="0">

<xs:annotation>

<xs:documentation>

Mail From

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="To" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

Mail To

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Date" type="xs:dateTime" minOccurs="0">

<xs:annotation>

<xs:documentation>

Mail date

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="MailID" type="xs:string" minOccurs="0">

<xs:annotation>

<xs:documentation>

Mail ID

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="FetchReport">

<xs:annotation>

<xs:documentation>

Fetch Report for XI - Mail Adaper

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="Server" type="xs:string">

<xs:annotation>

<xs:documentation>

Server URL

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Greeting" type="xs:string">

<xs:annotation>

<xs:documentation>

Server Greeting Message

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="User" type="xs:string">

<xs:annotation>

<xs:documentation>

User Name

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Date" type="xs:dateTime" minOccurs="0">

<xs:annotation>

<xs:documentation>

Mail Date

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Messages" type="xi:FetchedMessages">

<xs:annotation>

<xs:documentation>

Mail Messages

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:complexType name="FetchedMessages">

<xs:sequence>

<xs:element name="item" type="xi:FetchedMessage" minOccurs="0" maxOccurs="unbounded" />

</xs:sequence>

<xs:attribute name="new" type="xs:int">

<xs:annotation>

<xs:documentation>

the number of new messages found

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="total" type="xs:int">

<xs:annotation>

<xs:documentation>

the number of total messages found

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

<xs:complexType name="FetchedMessage">

<xs:sequence>

<xs:element name="Subject" type="xs:string">

<xs:annotation>

<xs:documentation>

Mail Subject

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="From" type="xs:string">

<xs:annotation>

<xs:documentation>

Mail From

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="To" type="xs:string">

<xs:annotation>

<xs:documentation>

Mail To

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Message_ID" type="xs:string">

<xs:annotation>

<xs:documentation>

Mail ID

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attribute name="status" type="xs:string">

<xs:annotation>

<xs:documentation>

the status of XI processing

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="id" type="xs:string">

<xs:annotation>

<xs:documentation>

the XI message ID associated with the mail message

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:schema>

I have done message mapping with source and target xsd.

source EMAIL_CONTENTS is mapped to Content of target .xsd.

Remaining are mapped with constants to target .xsd.

In target .xsd i have not used Reply_To, Date, Message_ID, X_Mailer (for your info)

Constants are used same as mentioned in Java Mappings.

Content is handled in Java Mappings.

Kindly suggest and pls take this with pateince and do the needful.

If any info required please send.

Appreciate for pateince and inputs.

Thanks,

Swetha