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:
URL Test v1 URL Test v2 | https://gw-tst.its.yale.edu/rest/coavalidator https://gw-tst.its.yale.edu/soa-gateway/rest/v2/coavalidator |
URL Production v1 URL Production v2 | |
Methods | GET |
QueryString | Transaction_Date= Company_code= Grant_code= Gift_code= Yale_Designated_code= Cost_Center_code= Program_code= Project_code= Assignee_code= Location_code= Revenue_Category_code= Spend_Category_code= Ledger_Account_code= |
Returns | XML (JSON – **Work in progress) |
Simple Object Access Protocol (SOAP).
To support different transport protocols, such as HTTP and SMTP
URL Test | |
URL Production | https://gw.its.yale.edu/soap/coavalidator |
Returns | XML |
<?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> |
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
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 appear here based on the labels you select. Click to edit the macro and add or change labels.