Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Systems, Applications, and Products (SAP) for data processing is an industry leading enterprise software solution that is widely used among product and process oriented enterprises for finance, operations, HR and many other aspects of a business. SAP ERP solutions provide reliable and efficient platforms to build and integrate enterprise or business-wide data and information systems with ease. 

...

  1. Download and install WSO2 ESB by following the instruction in Installation Guide.
  2. Download the sapidoc3.jar and sapjco3.jar middleware libraries from the SAP support portal and copy those libraries to the <ESB_HOME>/repository/components/lib directory.

    Info
    titleNote

    You need to have SAP login credentials to access the SAP support portal.

  3. Download the native SAP JCo library and copy it to the system path. You need to select the system path applicable to your operating system as described below.

    Linux 32-bit

    Copy the Linux native SAP jcolibrary libsapjco3.so to <JDK_HOME>/jre/lib/i386/server.

    Linux 64-bit

    Copy the Linux native SAP jcolibrary libsapjco3.so to <JDK_HOME>/jre/lib/amd64.

    Windows

    Copy the Windows native SAP jcolibrary sapjco3.dll to <WINDOWS_HOME>/system32.
  4. Create a directory named sap in the <ESB_HOME>/repository/conf/ directory and provide access rights to read the properties files you will save in it later.

  5. Copy the following SAP endpoint properties files to the <ESB_HOME>/repository/conf/sap directory. You need to have two properties files, one at the server-end and the other at the client-end to communicate with an external SAP endpoint using IDoc or BAPI.

    InfoThis directory does not exist by default.ASAPsystem administrator has to create the directory and provide access rights so that you can read the properties files saved in the directory

    .

    • *.dest : This is where we store SAP endpoint parameters when WSO2 ESB is configured as a client to an external SAP endpoint.  
    • *.server : This is where we store SAP endpoint parameters when WSO2 ESB is configured as a server to an external SAP endpoint.
    For details on creating the properties files and defining the relevant properties, see Setting up the Client Configuration File and Setting up the Server Configuration File.
  6. Start the ESB using the -Djava.library.path switch to specify the location of your SAP jco library. 
    For example ./wso2server.sh -Djava.library.path=/usr/lib/jvm/jre1.7.0/lib/i386/server/ 

Anchor
SetupClientPropertyFiles
SetupClientPropertyFiles

...

Following are descriptions of the SAP client properties that can be defined in the message context with axis2-client scope when using WSO2 ESB as a SAP client to send messages. These properties can be added in <ESB_HOME>/repository/conf/axis2/axis-client.xml file:

PropertyDescription
transport.sap.xmlMapper The key of custom IDOC XML mapper to use. This key should be defined in the transport.sap. customXMLMappers parameter. If no key is specified the default IDoc XML mapper will be used. 
transport.sap. xmlParserOptions

The options for the default IDoc XML parser to be used in the default IDoc XML mapper. Multiple options can be combined using the bitwise OR "|" operator. The possible parser options are as follows:

PARSE_ACCEPT_ONLY_XMLVERSION_10 3328
PARSE_ACCEPT_ONLY_XMLVERSION_11 2816
PARSE_ACCEPT_ONLY_XMLVERSIONS_10_TO_11 2304
PARSE_IGNORE_INVALID_CHAR_ERRORS 4
PARSE_IGNORE_UNKNOWN_FIELDS 2
PARSE_REFUSE_UNKNOWN_XMLVERSION 256
PARSE_REFUSE_XMLVERSION_10 512
PARSE_REFUSE_XMLVERSION_11 1024
PARSE_WITH_FIELD_VALUE_CHECKING 1
PARSE_WITH_IGNORE_UNKNOWN_FIELDS 2
PARSE_WITHOUT_FIELD_DATATYPE_CHECKING 8

...

Following are descriptions of the proxy level listener parameters that can be defined in a proxy configuration when using WSO2 ESB as a SAP server:

ParameterDescription
transport.sap.serverName The name of the server containing the JCO server configuration.
transport.sap. enableErrorListener Set this to enable the default error listener. If this is used together with the transport.sap. customErrorListener parameter, the custom error listener will be used.
transport.sap. enableTIDHandler Set this to enable the transaction handler to handle transactions that are received from a SAP system. Transactional applications must provide a custom implementation using the transport.sap. customTIDHandler parameter.
transport.sap. customTIDHandler The fully qualified class name for the custom TID handler implementing JCoServerTIDHandler.
transport.sap.connections The number of registered connections managed by the server instance. The default value is 1 and the maximum value is 100.
transport.sap. customErrorListener The fully qualified class name for the custom error listener implementing  JCoServerErrorListener
transport.sap. customExceptionListener The fully qualified class name for the custom exception listener implementing  JCoServerExceptionListener.

 

 

 

...

Troubleshooting

Given below are general troubleshooting guidelines.

...