Inbound SOAP Implementation - Windows and UNIX

Inbound SOAP Implementation - Windows and UNIX

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

Option

Description

EVENT_ID

Identifier that uniquely identifies an event definition record.

EVENT_TYPE

Type of system event represented by the event definition record.

COMP_NAME

Event-driven UEM Server responsible for monitoring the event.

STATE

Event definitions that should be processed or ignored by UEM.

TRACKING_INT

Event definitions that should be processed or ignored by UEM.

TRIGGERED_ID

ID of an event handler record that UEM will execute when an event occurrence is triggered.

FILESPEC

Name of a file to monitor.

MIN_FILE_SIZE

Size a file must be in order to be considered complete by UEM.

RENAME_FILE

Specifies whether or not UEM should rename a monitored file when an event occurrence is triggered.

RENAME_FILESPEC

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:

Option

Description

Option

Description

-add

Writes one or more new event definition and/or event handler records to the appropriate database.

-deffile

Name of a file that contains event definition and/or event handler parameters.

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