You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 19
Next »
For XML Parsing please see these notes: XML Parsing
Restful Service Implementation
The COA Validation Web Service can be invoked via the following protocols and formats:
- Representational State Transfer (REST) (** Preferred Option **)
- REST permits many different data formats. Formats supported will include XML or JSON.
- Additional information as to the use of REST services include
- REST allows better support for browser clients due to it’s support for JSON.
- REST has better performance and scalability.
- REST reads can be cached, SOAP based reads cannot be cached.
SOAP Service Implementation
Simple Object Access Protocol (SOAP).
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="validateCOA" targetNamespace="esb/YaleWDFDM.ws:validateCOA" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapjms="http://www.w3.org/2010/soapjms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="esb/YaleWDFDM.ws:validateCOA" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<wsdl:types>
<xsd:schema targetNamespace="esb/YaleWDFDM.ws:validateCOA" xmlns:tns="esb/YaleWDFDM.ws:validateCOA" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="validateCOA" type="tns:validateCOA"/>
<xsd:element name="validateCOAResponse" type="tns:validateCOAResponse"/>
<xsd:complexType name="validateCOA">
<xsd:sequence>
<xsd:element name="Mode" nillable="true" type="xsd:string"/>
<xsd:element name="Transaction_Date" nillable="true" type="xsd:string"/>
<xsd:element name="Company_Code" nillable="true" type="xsd:string"/>
<xsd:element name="Grant_Code" nillable="true" type="xsd:string"/>
<xsd:element name="Gift_Code" nillable="true" type="xsd:string"/>
<xsd:element name="Yale_Designated_Code" nillable="true" type="xsd:string"/>
<xsd:element name="Cost_Center_Code" nillable="true" type="xsd:string"/>
<xsd:element name="Program_Code" nillable="true" type="xsd:string"/>
<xsd:element name="Project_Code" nillable="true" type="xsd:string"/>
<xsd:element name="Assignee_Code" nillable="true" type="xsd:string"/>
<xsd:element name="Location_Code" nillable="true" type="xsd:string"/>
<xsd:element name="Revenue_Category_Code" nillable="true" type="xsd:string"/>
<xsd:element name="Spend_Category_Code" nillable="true" type="xsd:string"/>
<xsd:element name="Ledger_Account_Code" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="validateCOAResponse">
<xsd:sequence>
<xsd:element name="Transaction_Date" nillable="true" type="xsd:string"/>
<xsd:element name="Transaction_Date_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Company" nillable="true" type="xsd:string"/>
<xsd:element name="Company_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Company_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Grant" nillable="true" type="xsd:string"/>
<xsd:element name="Grant_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Grant_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Gift" nillable="true" type="xsd:string"/>
<xsd:element name="Gift_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Gift_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Yale_Designated" nillable="true" type="xsd:string"/>
<xsd:element name="Yale_Designated_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Yale_Designated_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Fund" nillable="true" type="xsd:string"/>
<xsd:element name="Fund_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Cost_Center" nillable="true" type="xsd:string"/>
<xsd:element name="Cost_Center_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Cost_Center_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Program" nillable="true" type="xsd:string"/>
<xsd:element name="Program_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Program_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Project" nillable="true" type="xsd:string"/>
<xsd:element name="Project_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Project_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Assignee" nillable="true" type="xsd:string"/>
<xsd:element name="Assignee_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Assignee_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Location" nillable="true" type="xsd:string"/>
<xsd:element name="Location_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Location_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Revenue_Category" nillable="true" type="xsd:string"/>
<xsd:element name="Revenue_Category_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Revenue_Category_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Spend_Category" nillable="true" type="xsd:string"/>
<xsd:element name="Spend_Category_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Spend_Category_Message" nillable="true" type="xsd:string"/>
<xsd:element name="Ledger_Account" nillable="true" type="xsd:string"/>
<xsd:element name="Ledger_Account_Description" nillable="true" type="xsd:string"/>
<xsd:element name="Ledger_Account_Message" nillable="true" type="xsd:string"/>
<xsd:element name="ErrorMessage" nillable="true" type="tns:ErrorMessage"/>
<xsd:element maxOccurs="unbounded" name="ErrorMessageList" nillable="true" type="xsd:string"/>
<xsd:element name="Number_Of_Errors" nillable="true" type="xsd:string"/>
<xsd:element name="Number_Of_Warnings" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ErrorMessage">
<xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="validateCOA_PortType_validateCOA">
<wsdl:part name="parameters" element="tns:validateCOA">
</wsdl:part>
</wsdl:message>
<wsdl:message name="validateCOA_PortType_validateCOAResponse">
<wsdl:part name="parameters" element="tns:validateCOAResponse">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="validateCOA_PortType">
<wsdl:operation name="validateCOA">
<wsdl:input message="tns:validateCOA_PortType_validateCOA">
</wsdl:input>
<wsdl:output message="tns:validateCOA_PortType_validateCOAResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="YaleWDFDM_ws_validateCOA_Binder" type="tns:validateCOA_PortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="validateCOA">
<soap:operation soapAction="YaleWDFDM_ws_validateCOA_Binder_validateCOA" style="document"/>
<wsdl:input>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body parts="parameters" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="YaleWDFDM.ws.validateCOA">
<wsdl:port name="YaleWDFDM_ws_validateCOA_Port" binding="tns:YaleWDFDM_ws_validateCOA_Binder">
<soap:address location="https://gw-tst.its.yale.edu/soap/coavalidator"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Data Availability for the Web Service
Due to the volumes projected against the COA Validation Service, the validation being performed will be going against a COA Integration Hub (SQL DB). Unfortunately, performance concerns were a primary reason that the service was not designed to go against Workday directly. Currently the COA integration hub is being updated once per day (early AM). All efforts are to ensure that the COA Validation Service is available for consumption by service consumers 24x7.
Defaulting of COA Segments
The COA Validation service will only validate the segments that are provided as input to the service. If a partial COA segment structure is provided, the Validator service will not default to the full COA segment structure.
Data Dependencies
- COA Hub database will be refreshed with COA data from Workday, every Mon – Fri by 2 AM. The refresh takes about 15 mins to complete. Since this is a truncate/reload process, data in some of the COA segment tables may not be fully available until the process is complete.
- COA Hub won’t refresh if Workday is down for any reasons.
- COA Hub might not refresh if the windows server where the Hub is hosted need to be down due to Windows patch updates.
- The above dependencies also apply to other COA web services that are dependent on COA Hub (COA Segment, GetRoles).
Input and Output Parameters
The COA Validation Web Service has the following input and output parameters:
Input Parameters
The Service will accept the following segment inputs:
Column | Content | Required | Example | Comments |
1 | Transaction_Date | Yes | 01/19/2016 | MM/DD/YYYY format |
2 | Company_code | Yes | CO01 | |
3 | Grant_code | No | GRN004010 | |
4 | Gift_code | No | BFT56001 | |
5 | Yale_Designated_code | No | YD000001 | |
6 | Cost_Center_code | No | CC000942 | |
7 | Program_code | No | PGM00003 | |
8 | Project_code | No | PJ0000001 | |
9 | Assignee_code | No | LS666 | |
10 | Location_code | No | 0750 | |
11 | Revenue_Category_code | No | RC00123 | |
12 | Spend_Category_code | No | SC00001 | |
13 | Ledger_Account_code | No | 110007 | |
Output Parameters
The service will return the validated versions for each COA segment data that was submitted, plus descriptions for each segment and any validation errors or warnings that may have been found per segment and an additional message field for overall messages.
There can be multiple error messages and/or warnings for a single input. They will be returned as single text string (array) delimited by semi-colon.
Column | Content | Comment |
1 | Transaction_Date | The transaction date that was submitted or the current date |
2 | Transaction_Date Message(s) | Error corresponding to the Transaction Date |
3 | Company | Validated company code |
4 | Company_Description | company description |
5 | Company_Message(s) | error corresponding to Company |
6 | Grant | Validated Grant code |
7 | Grant_Description | Grant description |
8 | Grant_Message(s) | error corresponding to Grant |
9 | Gift | Validated Gift code |
10 | Gift_Description | Gift description |
11 | Gift_Message(s) | error corresponding to Gift |
12 | Yale_Designated | Validated Yale Designated code |
13 | Yale_Designated_Description | Yale Designated description |
14 | Yale_Designated_Message | error corresponding to Yale Designated |
15 | Fund | Fund code based on Grant/Gift/ Yale Designated |
16 | Fund Description | Fund description |
17 | Cost_Center | Validated cost center code |
18 | Cost_Center_Description | cost center description |
19 | Cost_Center_Message | error corresponding to Cost Center |
20 | Program | Validated program code |
21 | Program_Description | program description |
22 | Program_Message | error corresponding to Program |
23 | Project | Validated project code |
24 | Project_Description | Project description |
25 | Project_Message | error corresponding to Project |
26 | Assignee | Validated assignee code |
27 | Assignee_Description | assignee description |
28 | Assignee_Message | error corresponding to Assignee |
29 | Location | Validated Location code |
30 | Location_Description | location description |
31 | Location_Message | error corresponding to Location |
32 | Revenue_Category | Validated revenue category code |
33 | Revenue_Category_Description | Revenue category description |
34 | Revenue_Category_Message | error corresponding to Revenue Category |
35 | Spend_Category | Validated spend category code |
36 | Spend_Category_Description | spend category description |
37 | Spend_Category_Message | error corresponding to Spend Category |
38 | Ledger Account | Validated Ledger Account |
39 | Ledger_Account_Description | Ledger Account description |
40 | Ledger_Account_Message | error corresponding to Ledger Account |
41 | ErrorMessage | Array of Multiple error/warning messages that are shown as XML tags. Error code/warning code denotes whether message is error or warning. |
42 | ErrorMessageList | Array of Multiple error/warning messages resulting form validation rules. |
43 | Number_of_errors | This is the total number of errors that are found in each row |
44 | Number_of_warnings | This is the total number of warnings that are found in each row |
Related articles
-
Page:
-
Page:
-
Page:
-
Page:
-
Page: