Class IdocSenderImpl

All Implemented Interfaces:
FrankElement, HasApplicationContext, HasName, HasPhysicalDestination, IConfigurable, IScopeProvider, ISender, ISenderWithParameters, IWithParameters, NameAware, ISapFunctionFacade, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware
Direct Known Subclasses:
IdocSender, IdocSender

public abstract class IdocSenderImpl extends SapSenderBase
Implementation of sender that sends an IDoc to SAP. N.B. The sending of the iDoc is committed right after the XA transaction is completed.
Since:
5.0
Author:
Gerrit van Brakel, Jaco de Groot
  • Constructor Details

    • IdocSenderImpl

      public IdocSenderImpl()
  • Method Details

    • parseIdoc

      public com.sap.conn.idoc.IDocDocument parseIdoc(SapSystemImpl sapSystem, Message message) throws SenderException
      Throws:
      SenderException
    • sendMessage

      @Nonnull public SenderResult sendMessage(@Nonnull Message message, @Nonnull PipeLineSession session) throws SenderException, TimeoutException
      Description copied from interface: ISender
      Send a message to some destination (as configured in the Sender object). This method may only be called after the configure() method is called.

      The following table shows the difference between synchronous and a-synchronous senders:

       synchronousa-synchronous
      ISender.isSynchronous() returnstruefalse
      return value of sendMessage() isthe reply-messagethe messageId of the message sent
      the correlationID specified with sendMessage()may be ignoredis sent with the message
      a {link TimeOutException}may be thrown if a timeout occurs waiting for a replyshould not be expected

      Multiple objects may try to call this method at the same time, from different threads. Implementations of this method should therefore be thread-safe, or synchronized.

      Throws:
      SenderException
      TimeoutException
    • getFunctionName

      protected String getFunctionName()
      Description copied from class: SapFunctionFacade
      Listeners and IdocSenders don't use a functionName
      Specified by:
      getFunctionName in class SapFunctionFacade