@ComponentProfile(summary="Execute a SAP RFC where the RFC is dynamically inferred from the Document", tag="producer,sap,rfc", recommended={ConfiguredRfcConnection.class,DynamicRfcConnection.class}) public final class DynamicRfcProducer 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.
The input file for this producer should be the one generated by RfcXmlGenerator
which creates a sample XML document for a
given RFC. 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.
ConfiguredRfcConnection
,
RfcServiceList
,
DynamicBapiProducer
,
BapiXmlGenerator
,
RfcXmlGenerator
In the adapter configuration file this class is aliased as sapjco3-dynamic-rfc-producer which is the preferred alternative to the fully qualified classname when building your configuration.
License Required: ENTERPRISE
log
CONFIRMATION_ID_KEY
Constructor and Description |
---|
DynamicRfcProducer()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
protected AdaptrisMessage |
doRequest(AdaptrisMessage msg,
ProduceDestination dest,
long timeout) |
void |
produce(AdaptrisMessage msg,
ProduceDestination destination) |
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, getIsConfirmation, getIsTrackingEndpoint, getMessageFactory, getUniqueId, handleConnectionException, isConfirmation, isTrackingEndpoint, registerConnection, registerEncoderMessageFactory, retrieveConnection, setEncoder, setIsConfirmation, setIsTrackingEndpoint, setMessageFactory, setUniqueId, withMessageFactory
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
decode, encode, getEncoder, getMessageFactory, handleConnectionException, registerConnection, retrieveConnection, setEncoder, setMessageFactory
getUniqueId
createName, createQualifier, isConfirmation, isTrackingEndpoint
public DynamicRfcProducer()
public void produce(AdaptrisMessage msg, ProduceDestination destination) throws ProduceException
ProduceException
(AdaptrisMessage, ProduceDestination)
protected AdaptrisMessage doRequest(AdaptrisMessage msg, ProduceDestination dest, long timeout) throws ProduceException
doRequest
in class RequestReplyProducerImp
ProduceException
RequestReplyProducerImp.doRequest(com.adaptris.core.AdaptrisMessage, com.adaptris.core.ProduceDestination, long)
Copyright Adaptris