Inbound SOAP Implementation - Windows and UNIX
- 1 Inbound SOAP Implementation
- 1.1 Inbound SOAP Request UAC.xml
- 1.2 Inbound SOAP Request - Message Payload Written to process_%Seq%.xml File
- 1.3 Inbound SOAP Request - Universal Event Monitor Event Definition
- 1.3.1 Event Definition Options
- 1.4 Loading the Event Definition
- 1.4.1 Command Line Options
- 1.5 Changing the Event Definition
- 1.5.1 Command Line Options
- 1.6 Inbound SOAP Request - Universal Event Monitor Handler Definition
- 1.7 Outbound SOAP Request - abc.rexx
- 1.8 Outbound SOAP Request - Event and Handler to purge abc.log
- 1.8.1 Event Options
- 1.9 Components
Inbound SOAP Implementation
Inbound SOAP requests are handled via Universal Event Monitor for SOA.
When Universal Event Monitor for SOA detects an inbound SOAP message, it writes the message payload to a file. Universal Event Monitor detects the file and initiates an action.
The SOAP message payload is parsed to extract information that is used to build a z/OS console message. Universal Command delivers the message from the Linux server to the z/OS mainframe.
Universal Event Monitor for SOA is configured via the /etc/universal/UAC.xml file.
Inbound SOAP Request UAC.xml
<?xml version="1.0" encoding="UTF-8"?>
<sb:UAC xmlns:sb="http://com.stonebranch/UAC/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://com.stonebranch/UAC/ UAC.xsd"/
<!-- $Id$ -->
<sb:SOAPConnection>
<sb:URI>/axis2/services/UACInbound</sb:URI>
<sb:Listeners>
<sb:SOAPListener>
<sb:Operation>process</sb:Operation>
<sb:Actions>
<sb:SOAPFileWriter>
<sb:Directory>/export/home/control/indesca/soap_listener/</sb:Directory>
<sb:FilenamePattern>process_%Seq%.xml</sb:FilenamePattern>
<sb:StartSequenceNumber>1</sb:StartSequenceNumber>
<sb:WriteEnvelope>true</sb:WriteEnvelope>
</sb:SOAPFileWriter>
</sb:Actions>
</sb:SOAPListener>
</sb:Listeners>
</sb:SOAPConnection>
</sb:UAC>
If required, additional SOAP connections can be defined to the UAC.xml.
Universal Event Monitor for SOA writes the payload of the inbound SOAP message to the following directory / file mask:
/export/home/control/indesca/soap_listener/process_%Seq%.xml
The variable %Seq% is resolved to a sequence number generated by Universal Event Monitor. The sequence number is incremented by one for each file created and is reset to 1 each time Universal Event Monitor for SOA is started.
Inbound SOAP Request - Message Payload Written to process_%Seq%.xml File
The following shows an example of the inbound message payload written to the process_%Seq%.xml file.
<?xml version='1.0' encoding='utf\-8'?><soapenv:Envelope xmlns:soapenv=
"http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soapenv:Body><NS1:process
xmlns:NS1="http://inbound.uac.stonebranch.com">
<NS1:identitySourceApplicationId>RBS</NS1:identitySourceApplicationId><NS1:identitySourceUserId />
<NS1:identitySourcePassword /><NS1:identitySourceToken />
<NS1:activityRequestId>AUT4210021109265970293000</NS1:activityRequestId>
<NS1:activityStatus>PROCESS CLOSE ACCOUNTING YYYY MM</NS1:activityStatus>
<NS1:activityState>ACCOUNTING MONTH CLOSING INPROGRESS</NS1:activityState>
<NS1:activityStateReason>INFO</NS1:activityStateReason>
<NS1:activityAction>ODPT0001</NS1:activityAction>
<NS1:activityStartDate>2010-02-24</NS1:activityStartDate>
<NS1:activityStartTime>08:35:42.397682</NS1:activityStartTime></NS1:process></soapenv:Body></soapenv:Envelope>
The following fields in the process_%Seq%.xml file are used to create the z/OS console message:
<NS1:identitySourceApplicationId>RBS</NS1:identitySourceApplicationId>
<NS1:activityRequestId>AUT4210021109265970293000</NS1:activityRequestId>
<NS1:activityAction>ODPT0001</NS1:activityAction>
Inbound SOAP Request - Universal Event Monitor Event Definition
The following figure illustrates the event definition that Universal Event Monitor uses to detect the file created by Universal Event Monitor for SOA.
BEGIN_EVENT
EVENT_ID "ABC SOA EVENT"
EVENT_TYPE FILE
COMP_NAME UEMS
STATE ENABLE
TRACKING_INT 10
TRIGGERED_ID "ABC SOA HANDLER"
FILESPEC "/export/home/ control/indesca/soap_listener/*.*"
MIN_FILE_SIZE 0
RENAME_FILE YES
RENAME_FILESPEC "/export/home/ control/indesca/soap_listener/$(origname).$(origext)"
END_EVENT
Event Definition Options
The Event Definition options used in this example are:
Option | Description |
|---|---|
Identifier that uniquely identifies an event definition record. | |
Type of system event represented by the event definition record. | |
Event-driven UEM Server responsible for monitoring the event. | |
Event definitions that should be processed or ignored by UEM. | |
Event definitions that should be processed or ignored by UEM. | |
ID of an event handler record that UEM will execute when an event occurrence is triggered. | |
Name of a file to monitor. | |
Size a file must be in order to be considered complete by UEM. | |
Specifies whether or not UEM should rename a monitored file when an event occurrence is triggered. | |
Specifies how a file should be renamed when an event occurrence is triggered. |
Loading the Event Definition
The event definition is loaded to Universal Event Monitor using the following command issued on the Linux server running Universal Command Agent for SOA.
/opt/universal/bin/uemload -add -deffile event_definition.txt
Command Line Options
The Event Definition options used in this example are:
Changing the Event Definition
Alternatively, changes to the event definition can be effected using the following command:
/opt/universal/bin/uemload -update -deffile event_definition.txt