As a mulesoft developer, I want to programmatically check the connectivity to a SAP system, as it is done in AnypointStudio GUI by clicking the button "Test Connection".
The Mulesoft connector used is the SAP JCO Connector.
Thank you
Below is my sap config global configuration:
<sap:sap-config name="SAP_CONFIG" doc:name="SAP Config" doc:id="c696ca6a-4ca6-4840-87ba-299b83f62179" >
<sap:simple-connection-provider-connection username="${app.sap.hana.jcoUser}" password="${app.sap.hana.jcoPassword}" systemNumber="${app.sap.hana.jcoSysNr}" client="${app.sap.hana.jcoClient}" language="${app.sap.hana.jcoLang}" >
<reconnection>
<reconnect-forever />
</reconnection>
<sap:message-server host="${app.sap.hana.jcoMsHost}" systemId="${app.sap.hana.jcoMsSysId}" group="${app.sap.hana.jcoMsGrpName}"/>
<sap:extended-properties >
<sap:extended-property key="jco.server.max_startup_delay" value="300" />
</sap:extended-properties>
</sap:simple-connection-provider-connection>
<expiration-policy maxIdleTime="1" timeUnit="HOURS" />
</sap:sap-config>
Below is the flow that listens SAP IDOCs;
When the connection is lost, it does not automatically reconnect.
Hello and thank you all for your support.
The reconnection issue has been fixed by adding the following 2 elements in the sap/jco connector configuration:
reconnection, expiration-policy
<sap:sap-config name="SAP_HANA" <sap:simple-connection-provider-connection <reconnection> <reconnect-forever frequency="5000"/> </reconnection> <sap:message-server ...... </sap:simple-connection-provider-connection> <expiration-policy maxIdleTime="2" timeUnit="MINUTES" /> </sap:sap-config>