Protocol |
SOAP |
|
|
Description |
Receive SOAP messages on Host using Port (default 80) via HTTP protocol. |
|
|
Comments |
If Host parameter is missing or invalid, the localhost will be used. If Port parameter is missing or invalid, the default value will be used. To send SOAP messages to the EventGnosis SOAPReceiver, the URL must
have the /soap context. If the content of <SOAP-ENV:Body> is not an event, a new event will be created out of the SOAP message with the following structure (the content will first be translated according to the XML Character Translation table): <ev:event xmlns:ev="http://www.eventgnosis.com/"> <ev:host>host_name</ev:host> <ev:app>SOAP</ev:app> <ev:log>host_name:ecs_name\eca_name\SOAP_receiver_name\host:port</ev:log> <ev:msg>content_of_<SOAP-ENV:Body></ev:msg> </ev:event> Important: If you are using third party software to send soap messages to the SOAPReceiver, Envelope and body start: <?xml version="1.0" encoding="UTF-8"?> Envelope and body end. </SOAP-ENV:Body></SOAP-ENV:Envelope> If the content of your SOAP message contains an EventGnosis event, it must start with <ev:event xmlns:ev="http://www.eventgnosis.com/"> and it must also end with </ev:event>. |
|
|
Original message:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2002/12/soap-envelope"><SOAP-ENV:Body xmlns:m="http://www.eventgnosis.com/"> Some content </SOAP-ENV:Body></SOAP-ENV:Envelope>
Created event:
<event> <ev:host>host_name</ev:host> <ev:app>SOAP</ev:app> <ev:log>host_name:ecs_name\eca_name\SOAP_receiver_name\host:port</ev:log> <ev:msg>Some content</ev:msg> </event>
The response to this message will be:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2002/12/soap-envelope"><SOAP-ENV:Body xmlns:m="http://www.eventgnosis.com/"> <ev:event xmlns:ev="http://www.eventgnosis.com/"> <ev:host>host_name</ev:host> <ev:app>SOAP</ev:app> <ev:log>host_name:ecs_name\eca_name\SOAP_receiver_name\host:port</ev:log> <ev:msg>Non standard SOAP message event received. Event created with ev:msg field set to SOAP-ENV:Body content. </ev:msg> <ev:srctime>some time</ev:srctime> <ev:eventsReceived>1</ev:eventsReceived> <ev:error></ev:error> </ev:event> </SOAP-ENV:Body></SOAP-ENV:Envelope>
If the message does not contain an xml header, or its envelope and body are not made as stated above in the Important section, then a new event will be created with the ev:error field set to "Bad SOAP envelope or body!"
The respone will be:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2002/12/soap-envelope"><SOAP-ENV:Body xmlns:m="http://www.eventgnosis.com/"> <ev:event xmlns:ev="http://www.eventgnosis.com/"> <ev:host>beli</ev:host> <ev:log>host_name:ecs_name\eca_name\SOAP_receiver_name\host:port </ev:log> <ev:app>SOAP</ev:app> <ev:srctime>some time</ev:srctime> <ev:msg>Bad SOAP envelope or body!</ev:msg> <ev:error>Bad SOAP envelope or body!</ev:error> </ev:event> </SOAP-ENV:Body></SOAP-ENV:Envelope>
If the message has an empty SOAP body, a new event will be created with the ev:error field set to "Empty SOAP message body."
The response will be:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2002/12/soap-envelope"><SOAP-ENV:Body xmlns:m="http://www.eventgnosis.com/"> <ev:event xmlns:ev="http://www.eventgnosis.com/"> <ev:host>beli</ev:host> <ev:log>beli_name:ecs_name\eca_name\SOAP_receiver_name\host:port </ev:log> <ev:app>SOAP</ev:app> <ev:srctime>some time</ev:srctime> <ev:msg>The body of the SOAP message was empty</ev:msg> <ev:error>Empty SOAP message body.</ev:error> </ev:event>
</SOAP-ENV:Body></SOAP-ENV:Envelope>