@ComponentProfile(summary="Helper that generates an XML input file for a SAP RFC", tag="service,sap,rfc", recommended={ConfiguredRfcConnection.class,DynamicRfcConnection.class}) public class RfcXmlGenerator extends com.adaptris.core.licensing.LicensedService implements com.adaptris.core.ConnectedService
This service determines the RFC to invoke based on the the xpath local-name(/*)
. After querying the configured
repository, it generates a sample document that contains all the elements required to execute a RFC. If you map your input file
to the generated example, then it will be possible to use DynamicBapiProducer
or DynamicRfcProducer
as your
producer without explicitly configuring any ExportParameter
or
ImportParameter
instances.
[RFC_NAME]/INPUT
element[RFC_NAME]/OUTPUT
element[RFC_NAME]/INPUT/TABLES
element and also the
[RFC_NAME]/OUTPUT/TABLES
element as tables could form both a an input and output parameter; how you can have
multiple rows for a table parameter should be obvious from the resulting XML.In the adapter configuration file this class is aliased as sapjco3-rfc-xml-generator which is the preferred alternative to the fully qualified classname when building your configuration.
License Required: ENTERPRISE
Constructor and Description |
---|
RfcXmlGenerator() |
Modifier and Type | Method and Description |
---|---|
protected void |
closeService() |
void |
doService(com.adaptris.core.AdaptrisMessage msg) |
com.adaptris.core.AdaptrisConnection |
getConnection() |
protected void |
initService() |
boolean |
isEnabled(com.adaptris.core.licensing.License license) |
protected void |
prepareService() |
void |
setConnection(com.adaptris.core.AdaptrisConnection connection)
Set the connection used to connect to SAP.
|
void |
start() |
void |
stop() |
changeState, close, continueOnFailure, createName, createQualifier, getContinueOnFail, getIsTrackingEndpoint, getLookupName, getUniqueId, init, isBranching, isTrackingEndpoint, requestClose, requestInit, requestStart, requestStop, retrieveComponentState, setContinueOnFail, setIsTrackingEndpoint, setLookupName, setUniqueId
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
continueOnFailure, isBranching, setUniqueId
createName, createQualifier, isTrackingEndpoint
protected void prepareService() throws com.adaptris.core.CoreException
prepareService
in class com.adaptris.core.licensing.LicensedService
com.adaptris.core.CoreException
public boolean isEnabled(com.adaptris.core.licensing.License license)
isEnabled
in interface com.adaptris.core.licensing.LicensedComponent
protected void initService() throws com.adaptris.core.CoreException
initService
in class com.adaptris.core.ServiceImp
com.adaptris.core.CoreException
public void start() throws com.adaptris.core.CoreException
start
in interface com.adaptris.core.ComponentLifecycle
start
in class com.adaptris.core.ServiceImp
com.adaptris.core.CoreException
public void stop()
stop
in interface com.adaptris.core.ComponentLifecycle
stop
in class com.adaptris.core.ServiceImp
protected void closeService()
closeService
in class com.adaptris.core.ServiceImp
public void doService(com.adaptris.core.AdaptrisMessage msg) throws com.adaptris.core.ServiceException
doService
in interface com.adaptris.core.Service
com.adaptris.core.ServiceException
public com.adaptris.core.AdaptrisConnection getConnection()
getConnection
in interface com.adaptris.core.ConnectedService
public void setConnection(com.adaptris.core.AdaptrisConnection connection)
setConnection
in interface com.adaptris.core.ConnectedService
connection
- the connection, either a SharedConnection
or a ConfiguredRfcConnection
Copyright Adaptris