ION sends a message to an application
Prepare your application to receive IMS requests from ION
Ensure your application exposes these methods, which are used by ION to get information and verify whether message processing is enabled:
GET <Application>/service/ping
Checks whether ION can connect to your application and checks whether ION is authorized for your application.
GET <Application>/service/protocol
Retrieves the expected IMS API version and protocol parameters from the application.
POST <Application>/service/v3/discovery
Http header X-TenantId
Called during modeling of the connection point in ION. Retrieves, from the application, the documents that are supported to be exchanged.
Implementation is optional: if not implemented, ensure that the
hasDiscovery
property in the protocol method response is false.POST <Application>/service/v3/multipartMessage
Http header X-TenantId
Or
POST <Application>/service/v3/message/multipart
Sends the actual message.
Configuration
Ensure an Infor application (IMS) connection point is configured in ION. This connection point must be used in a document flow. Ensure this document flow is activated.
Testing the connectivity
To test connectivity from ION to your application, you can click the button in the ION connection point model.
Methods to verify connectivity and configuration
These methods are used by ION to verify connectivity and configuration:
GET <Application>/service/ping
Checks whether ION can reach your application and checks whether ION is authorized for your application.
-
GET <Application>/service/protocol
Retrieves the expected IMS API version and protocol parameters from the application.
If this method fails, ION calls the
GET <Application>/service/versions
method and continues with v1. The application is probably on v1.If an ION user opens the Documents tab on the IMS connection point screen, ION calls the
ping
andprotocol
methods. Based on the protocol response, ION enables or disables the Discovery option on the Documents tab.
Methods that are executed if "The IMS End point has Discovery" is true and the application IMS protocol version is v3
The discovery
method can only be called if "the
IMS End point has Discovery"
is
true. When ION calls the
discovery
method, these methods are executed by ION towards the application:
GET <Application>/service/ping
Checks whether ION can reach your application and checks whether ION is authorized for your application.
GET <Application>/service/protocol
Retrieves the expected IMS API version and protocol parameters from the application.
If this method fails, ION calls the
GET <Application>/service/versions
method and falls back to v1 if required.- If the identified version is v3, ION calls
the
POST <Application>/service/v3/discovery
method.Http header X-TenantId
Retrieves, from the application, the documents that are supported to be exchanged.
ION sends a message, when application IMS protocol version is v3 and protocol messageMethod is multipartMessage
ION executes these methods in the given sequence when a message is being sent:
GET <Application>/service/ping
If this method is successful, then ION continues. Otherwise a retry is performed and errors are raised.
If the retry remains to fail, ION slows down the pace of the retry.
GET <Application>/service/protocol
Retrieves the IMS protocol parameters from the application.
If this method fails, ION calls the
GET <Application>/service/versions
method and expects version v1.POST <Application>/service/v3/multipartMessage
Http header X-TenantId
X-TenantId
: ION CE sends the cloud tenant Id. On-premises ION sends "Infor".If sending the message fails, then, based on the error code, ION performs one of these actions:
- Retry, that is, return to step 1.
- Raise an ERROR for the specific message and continue with the next message.
- Special case:
An application can send an http status code 409 if the message that is sent by ION is not according to the protocol definition. For example, the encryption of the message is NONE although DEFLATE is expected.
ION calls the protocol method again, step 2, to refresh its cache.
- ION continues with the next message, step 3.
ION sends a message, when application IMS protocol version is v3 and protocol messageMethod is message
ION executes these methods in the given sequence when a message is being sent:
GET <Application>/service/ping
If this method is successful, then ION continues. Otherwise a retry is performed and errors are raised. If the retry also fails, ION slows down the pace of the retry.
GET <Application>/service/protocol
Retrieves the IMS protocol parameters from the application.
If this method fails, ION calls the
GET <Application>/service/versions
method and expects version v1.POST <Application>/service/v3/message/multipart
X-TenantId: ION CE sends the cloud tenant Id.
If sending the message fails, then, based on the error code, ION performs one of these actions:
- Retry, that is, return to step 1.
- Raise an ERROR for the specific message and continue with the next message.
- Special case: An application can send an http status code 409 if the message that is
sent by ION is not according to the
protocol definition. For example, the encryption of the message is NONE although
DEFLATE is expected.
ION calls the protocol method again, step 2, to refresh its cache.
- ION continues with the next message, step 3.