FireAESEventAdvanced
The FireAESEventAdvanced API fires an Application Event System (AES)
event with the option to include parameters in the request body. This API is ideal for large
amounts of data that must be sent when firing an event.
POST | /{responsetype}/aes/adv |
---|---|
http://localhost/IDORequestService/MGRESTService.svc/xml/aes/adv?debug=true |
Parameters
Name | In | Required? | Description |
---|---|---|---|
responsetype | Path | Yes | Response request data format Specify any of these values:
|
debug | Query | Yes | Used as a flag for returning verbose debug and test information |
Headers
Name | Description |
---|---|
Authorization | If the API is called directly, then a Mongoose security token is obtained through a call to the
GetSecurityToken API. If the API is called through ION API, then a valid OAuth2.0 bearer token is provided by ION API. |
X-Infor-MongooseConfig | The name of a configuration that is available on the
application server This header is required only when using the Mongoose API through the ION API. |
Request data in XML format
<FireAESEventRequest xmlns="http://www.infor.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <EventName>DivideNumbers</EventName> <Parameters> <Parameter> <Name>Num1</Name> <Value>200</Value> <Return>false</Return> </Parameter> <Parameter> <Name>Num2</Name> <Value>25</Value> <Return>false</Return> </Parameter> <Parameter> <Name>Quotient</Name> <Value>0</Value> <Return>true</Return> </Parameter> <Parameter> <Name>Infobar</Name> <Value></Value> <Return>true</Return> </Parameter> </Parameters> </FireAESEventRequest>
Request data in JSON format
{ "EventName": "DivideNumbers", "Parameters": [ { "Name": "Num1", "Return": false, "Value": 200 }, { "Name": "Num2", "Return": false, "Value": 25 }, { "Name": "Quotient", "Return": true }, { "Name": "Infobar", "Return": true } ] }
Response data in XML format
<MGFireEventResponse> <EventName>DivideNumbers</EventName> <Parameters> <Parameter> <Name>Quotient</Name> <Return>true</Return> <Value>8</Value> </Parameter> <Parameter> <Name>Infobar</Name> <Return>true</Return> <Value>success</Value> </Parameter> </Parameters> <Message>Success</Message> <MessageCode>600</MessageCode> </MGFireEventResponse>
Response data in JSON format
{ "EventName": "DivideNumbers", "Parameters": [ { "Name": "Quotient", "Value": "8", "Return": true }, { "Name": "Infobar", "Value": "success", "Return": true } ], "Message": "Success", "MessageCode": 600 }
Example
This example code executes an AES event that divides two numbers and returns the quotient as an output parameter. The AES event details are passed as a request payload instead of including it in the request URL.
string xml = string.Empty; using ( HttpClient client = new HttpClient() ) { // optionally, you can use json as the response type bool debug = true; string requestUrl = $"http://server/IDORequestService/MGRESTService.svc/xml/aes/adv/?debug={debug}"; // provide token in the Authorization header client.DefaultRequestHeaders.TryAddWithoutValidation( "Authorization", "b/XdI6IQzCviZOGJ0E+002DoKUFOPmVDkwpQDbQj…==" ); AESEventParameter num1 = new AESEventParameter(); num1.Name = "Num1"; num1.Return = false; num1.Value = "200"; AESEventParameter num2 = new AESEventParameter(); num2.Name = "Num2"; num2.Return = false; num2.Value = "25"; AESEventParameter quotient = new AESEventParameter(); quotient.Name = "Quotient"; quotient.Return = true; quotient.Value = "0"; AESEventParameter[] parameters = new[] { num1, num2, quotient }; FireAESEventRequest payload = new FireAESEventRequest(); payload.EventName = "DivideNumbers"; payload.Parameters = parameters; XDocument xdoc = new XDocument(); using ( XmlWriter writer = xdoc.CreateWriter() ) { DataContractSerializer serializer = new DataContractSerializer( payload.GetType() ); serializer.WriteObject( writer, payload ); } // pass the AES event name and parameters as the request data and send the post request HttpResponseMessage response = client.PostAsync( requestUrl, new StringContent( xdoc.ToString(), Encoding.UTF8, "application/json" ) ).Result; using ( HttpContent content = response.Content ) { Task<string> result = content.ReadAsStringAsync(); xml = result.Result; } }