About the EagleML Web Service

The EagleML Web Service is a SOAP-based Web service with a WSDL declaration.

The EagleML Web Service can be found at %host%/EagleMLWebService20, where %host% is the name of Eagle Message Center region (e.g. https://sv14web00009.eagleinvsys.com/EagleMLWebService20).

The WSDL specification is declared at %host%/EagleMLWebService20?wsdl

EagleML Web Service (WS) is used for command and data message exchange with Eagle Message Center streams. WS is based on EagleML XSD schema which defines simple and effective document structure.

EagleML Web Service uses Eagle Job Management Tasks (EJM Tasks) to interact with Eagle Message Center (MC). Consequently, each time EagleML Web Service is used, an EJM Task in the Message Center is run.

EagleML Web Service Methods

The EagleML Web Service provides two general methods to interact with the Message Center: RunTaskRequest and RunTaskRequestSync.

The RunTaskRequest method is used to make asynchronous requests. An ACK message is generated as a result of execution.

The RunTaskRequestSync method is used to make synchronous requests. A TSR message is generated as a result of execution.

EagleML Messages

The operator prepares a special Run Task Request (RTR) control message based on EagleML XSD schema to execute the EJM task. The RTR control message is a xml file based on EagleML XSD schema which provides the MC with required information to run a EJM Task. 

 Example of such message (click to expand)
EagleML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="RunTaskRequest" eaglemlVersion="2-0" eaglemlType="RunTaskRequest" xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0">
    <header>
        <messageId messageIdScheme="messageIdScheme">skdjfwir0iweopri</messageId>
        <sentBy>http://www.vendor.com</sentBy>
        <sentTo>http://www.eagleinvsys.com/eagleml-2-0_control_messages</sentTo>
        <creationTimestamp>2013-05-28T00:32:50.785-05:00:00</creationTimestamp>
        <expiryTimestamp>2013-05-28T15:32:50.785-05:00:00</expiryTimestamp>
    </header>
    <taskIdentifier>
        <correlationId correlationIdScheme="correlationIdScheme">unique_correlation_id</correlationId>
        <businessTaskId correlationIdScheme="businessTaskIdScheme">ACQUIRE_Factset_smf_constituence_LOAD</businessTaskId>
    </taskIdentifier>
    <taskTypeEnum>LOAD</taskTypeEnum>
    <taskParameters>
        <taskParameter>
            <name>ActionType</name>
            <datatype>S</datatype>
            <value>ACQUIRE</value>
        </taskParameter>
        <taskParameter>
            <name>FeedType</name>
            <datatype>S</datatype>
            <value>FACTSET</value>
        </taskParameter>
        <taskParameter>
            <name>FeedSubType</name>
            <datatype>S</datatype>
            <value>SMF_CONSTITUENCE</value>
        </taskParameter>
        <taskParameter>
            <name>DeliveryMethod</name>
            <datatype>S</datatype>
            <value>FTP</value>
        </taskParameter>
        <taskParameter>
            <name>SMF</name>
            <datatype>S</datatype>
            <value>smf_file_name_goes_here.csv</value>
        </taskParameter>
        <taskParameter>
            <name>WAREHOUSE</name>
            <datatype>S</datatype>
            <value>constituence_file_name_here.csv</value>
        </taskParameter>
    </taskParameters>
</EagleML>


Note

The RTR message examples are shown without the SOAP envelope. Before sending the RTR message to EagleML Web Service, it should be wrapped into the SOAP envelope.

SOAP Envelope 

<s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
   <runTaskRequest xmlns="http://www.eagleinvsys.com/2011/wsdl/EagleML-2-0">
      <EagleML eaglemlVersion="2-0" actualBuild="1" xmlns=”http://www.eagleinvsys.com/2011/EagleML-2-0” … >
         ....
      </EagleML>
   </runTaskRequest>
</s:Body>
</s:Envelope>

Once the EJM Task is run, the Message Center creates a Task Acknowledgement (ACK) message which indicates that MC has received the RTR message. After the Message Center finishes the EJM Task execution, it will create a Task Status Response (TSR) message reporting that the EJM task is complete.