cancel
Showing results for 
Search instead for 
Did you mean: 

Mail to IDoc - How to switch to asynchonous communication?

Former Member
0 Kudos

Hi!

I've a problem with my scenario as follows:

The XI receives an email and an adapter module does all the needed work. The message is routed through XI to an IDoc communication channel.

Everything works fine, but when the message arrives the IDoc communication channel I get the error message that IDoc communication is only supported asynchronous.

I don't know what I have to configure to fix that problem. I assume I need a message interface, therefore I tried to get it running by using a message interface configured as asynchronous and extending the IDoc-Interface, I tried Inbound, Outbound and Abstrakt, but it doesn't solve my problem

I need a hint, what is wrong?

Daniel

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Daniel,

Are you using an BPM? I do not think you need a BPM for your MAIL to IDOC scenario. Abstract Interfaces are sued only for BPM.

Next, You need not create a Message Interafce for your IDOC. Use the IDOC itself as your Message Interface. And, if you use the IDOC itseld as your Inbound Message Interafce , it will be an Asynchronous Interface.

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh!

Thanks for the answer I don't use BPM in my project.

You mean that I doesn't need a message interface? I tried it in this way, but it doesn't worked. I describe my proceeding more detailed, so we can find the problem

In the Mail-Communication channel I choose as Standard Interface Namespace the corresonding value of the IDoc ("urn:sap-com:document:sap:idoc:messages"), also in the "Default Interface Name"-Field ("ISU_INTERVAL_USAGE_INFORMATION.ISU_VDEW_MSCONS").

Then I add an Interface Determination, where I select as Inbound-Interface the IDoc, the Mapping-Field is empty.

Next a Receiver agreement is added where I select the IDoc communication channel.

Now I add the receiver determination.

Everything looks fine, but if the message reaches the Idoc communication channel, the error message, that Idoc supports only asynchronous communication raises again.

Whats wrong in my proceeding?

Regards,

Daniel

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Daniel,

Are these d steps you ve done in your IR?

1. Datatype for Mail

2. Message type for mail.

3. Message Intefarce outbound Asynch for mail.. let it have the namespace you have created in the SWCV itself. No need to change the namepsace values.

Message mapping using Message Type of the mail and the IDOC itself ( no need to create the Message Type / Dataype / message Interface for IDOC)

Intercace mapping between Mail Interface and IDOC.

In ID?

1. Sender Agreementr for mail Adapter with mailInterface

2. Receiver Agreeemt for IDOC communcaition channel with IDOC as the inbond interface

3. Receiver Determination with Mail as the sender Inteface and the IDOC as the Inbound Interface and then Select Interface maapping is selected in the Interface Determination

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

in IR I created a message interface outbound async for mail with the IDoc as base, because I generate the IDoc-XML-Structure in an adapter module out of the data in the mail-attachment and add it to the message payload. Therefore I need no special datatype and message type, I think.

In the interface mapping from mail-message interface to IDoc , I use a XSLT which changes nothing on the XML structure (Simple copy-of)

In ID:

Sender Agreement for Mailadapter with the mail-message interface is configured.

In the Receiver Agreement, the inbound interface for the IDoc-communication channel is the Idoc itself.

Receiver Determination is configured with mail as the sender interface.

In the Interface Determination sender is Mail with its Message Interface, Inbound-Interface is the IDoc an then the Interface Mapping is added.

Maybe the problem depends on the fact that I use the Idoc as base for the mail-message interface?

Regards,

Daniel

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Daniel,

Am not very sure on this coz I have not tried this.

Maybe you can take a look at michals blog,

/people/michal.krawczyk2/blog/2005/12/18/xi-sender-mail-adapter--payloadswapbean--step-by-step

Meawhile, I ll add such a scenario to my to do list

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

thanks for your help anyway

I tried again to solve the problem. Now I found maybe something that is wrong:

In SXMB_MONI in the Main-Part of the SOAP-Header (calling an adapter) I found that config-xml-part:

<SAP:ProcessingMode>synchronous</SAP:ProcessingMode>

That means that the async-Configuration of the message interface I use, doesn't have an effect on.

Is there maybe something else which helps me switching so async-Mode?

Regards,

Daniel

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Daniel,

Take a look at your entire scenario especially the message interfaces. Have a feeling that somewhere some configuration has been missed and that is why the processing mode is being displayed as Synchronous.

Regards,

Bhavesh

Former Member
0 Kudos

Hi!

After reading some documentation I found the problem that caused the synchronous-mode:

In the communication channel, under Quality-of-Service, "Best effort" causes synchronous message handling. The other options (Exactly once and Exactly once in order) causes asynch-communication.

So changing from "Best effort" to "Exactly once" solved my problem

Regards,

Daniel

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Daniel,

Thats a new learning

Thanks for the update..!!

Regards,

Bhavesh

Answers (1)

Answers (1)

moorthy
Active Contributor
0 Kudos

Hi,

Check Interface mapping between SOurce Interface(Mail Interface - Outbound Async) to Target Interface(Idoc itself .. no need of creating Message interface).

Then activate the Interface determination in the Directory and check it.

Some hints..Try it..

Regards,

moorthy