Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Service Contract

Data Source:  COA Hub

Service Contracts:  

COAValidator_v1.xlsx

COAValidator_v2.xlsx

For XML Parsing please see these notes: XML Parsing

Restful Service Implementation

...

  • 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.

...


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

https://gw.its.yale.edu/rest/coavalidator 

https://gw.its.yale.edu/soa-gateway/rest/v2/coavalidator

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)

 


SOAP Service Implementation

...

Code Block
languagexml
titleCOA Validator Web Service WSDL
collapsetrue
<?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

...

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.

...

Filter by label (Content by label)
showLabelsfalse
max5
spacesBASP
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "coa" and type = "page" and space = "BASP"
labelsCOA