@ComponentProfile(summary="Execute a SAP BAPI where the BAPI is dynamically inferred from the Document", tag="producer,sap,bapi", recommended={ConfiguredRfcConnection.class,DynamicRfcConnection.class}) public final class DynamicBapiProducer extends DynamicProducer
Implementation of AdaptrisMessageProducer
based on SAP JCO3 libraries.
In order to use this producer you will have previously downloaded, installed and configured SAP Java Connector. The jar files should be copied into the adapter's lib directory, but any native libraries should be configured as per the SAP Java Connector documentation.
In order to use this producer you will have previously downloaded, installed and configured SAP Java Connector. The jar files should be copied into the adapter's lib directory, but any native libraries should be configured as per the SAP Java Connector documentation.
The input file for this producer should be the one generated by BapiXmlGenerator
which creates a sample XML document for
the given BAPI. If you map your input file to the associated generated sample, then this producer instance can be used to
dynamically execute the RFC without having to explicitly configure any ExportParameter
or
ImportParameter
instances.
Note that any ProduceDestination
implementation is completely ignored as everything is derived from the
AdaptrisMessage
object itself.
DynamicRfcProducer
and provides the additional functionality:
RETURN
export parameter, so there
is no requirement to explicitly configure one.ConfiguredRfcConnection
,
RfcServiceList
,
DynamicRfcProducer
,
BapiXmlGenerator
In the adapter configuration file this class is aliased as sapjco3-dynamic-bapi-producer which is the preferred alternative to the fully qualified classname when building your configuration.
License Required: ENTERPRISE
Constructor and Description |
---|
DynamicBapiProducer() |
Modifier and Type | Method and Description |
---|---|
protected com.adaptris.core.AdaptrisMessage |
doRequest(com.adaptris.core.AdaptrisMessage msg,
com.adaptris.core.ProduceDestination dest,
long timeout) |
BapiReturnParser |
getReturnParser() |
void |
produce(com.adaptris.core.AdaptrisMessage msg,
com.adaptris.core.ProduceDestination destination) |
void |
setReturnParser(BapiReturnParser returnParser)
Set the BAPIRETURN parser implementation.
|
additionalDebug, close, defaultTimeout, getAdditionalDebug, init, isEnabled, prepare, setAdditionalDebug, start, stop
getIgnoreReplyMetadata, produce, request, request, request, request, setIgnoreReplyMetadata, shouldIgnoreReplyMetadata
getDestination, setDestination
createName, createQualifier, decode, encode, getEncoder, getIsTrackingEndpoint, getMessageFactory, getUniqueId, handleConnectionException, isTrackingEndpoint, registerConnection, registerEncoderMessageFactory, retrieveConnection, setEncoder, setIsTrackingEndpoint, setMessageFactory, setUniqueId, withMessageFactory
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public void produce(com.adaptris.core.AdaptrisMessage msg, com.adaptris.core.ProduceDestination destination) throws com.adaptris.core.ProduceException
com.adaptris.core.ProduceException
(AdaptrisMessage, ProduceDestination)
protected com.adaptris.core.AdaptrisMessage doRequest(com.adaptris.core.AdaptrisMessage msg, com.adaptris.core.ProduceDestination dest, long timeout) throws com.adaptris.core.ProduceException
doRequest
in class com.adaptris.core.RequestReplyProducerImp
com.adaptris.core.ProduceException
RequestReplyProducerImp.doRequest(com.adaptris.core.AdaptrisMessage, com.adaptris.core.ProduceDestination, long)
public BapiReturnParser getReturnParser()
public void setReturnParser(BapiReturnParser returnParser)
returnParser
- AddAllToMetadata
,
AddBasicMetadata
,
AddFirstReturnToMetadata
Copyright Adaptris