VIP Web Service
A web service was a method of communication that allowed data exchange among applications and systems over the internet. To avoid dependence upon a particular programing language and most current software can interpret Extensible Markup Language (XML) tags, the World Wide Web Consortium (W3C) developed Web Services Description Language (WSDL) an XML-based interface definition language to descript the functionality of data exchange offered by a web service. Th Veterans Information Portal (VIP) utilized WSDL to provide machine-readable file formats, such as XML, for machine-to-machine communication. The purpose of this documentation is to provide the WSDL description and code sample to help with the client application to utilize the web service from VIP.
Building a Client Application
The client application that interacts with VIP web services must be written by the client's company or organization. In the process of data exchange among web applications, the data transaction utilizes the Simple Object Access Protocol (SOAP) technology and is encrypted with Secure Sockets Layer (SSL). The performance of responding the request for data transactions may vary by the number of responded records and the type of data requested. To communicate with the VIP server, the client application should call the web service using SOAP. The client application needs to construct the XML request string and call the VIP "GetVerifiedBusinesses", "GetAllVerifiedBusinesses", or "GetBusinessByDuns" web method at the web service URL. "https://www.vip.vetbiz.va.gov/VIPService/VIPService.svc". Using the XML request string as the single parameter to call, the VIP web service then returns the response "GetVerifiedBusinessesResult", "GetAllVerifiedBusinessesResult". or "GetBusinessByDunsResult" as an array which the client application can then take the xml response and parse it to extract the data.
Request an API Interconnection
To request an API Interconnection, please click on the button below. After you submit your request, a member of our team will reach out to you when your request is complete.
Things to Know
GetVerifiedBusinesses | Use ModifiedDate |
GetAllVerifiedBusinesses | No parameter - pulls all currently verified firms |
GetBusinessByDuns | Use DunsNumber |
AccountId | CompanyName | NumberingOfOperatingLocations |
AddressLine1 | County | NumberOfVeteranEmployees |
AddressLine2 | Duns | Phone |
Aggregate | DoingBusinessAs | PurchaseCard |
AnnualRevenue | EightA | RegistrationStatus |
BondingLevel | ExpirationDate | SDVOSB |
BusinessFSC | Fax | StateTerritory |
BusinessNaics | HubZone | VOSB |
BusinessPSC | IsVerifid | WebAdress |
BusinessType | JointVenture | WomanOwnedSB |
CageCode | LargestContract | WorkflowStatus |
CapabilitiesKeywords | LastVerified | YearEstablished |
CapabilitiesNarative | MentorProtege | Zip |
City | MinorityOwnedSB | |
CompanyEmail | NumberOfEmployees |
The following example uses the GetAllVerifiedBusinesses web method:
Ad-hoc Tool to Test the Web Service
To begin the code development for retrieving the data set from the VIP web service, a user can use the ad-hoc tool to test the web service first. To make any HTTP SOAP request, "Postman" is the tool used to test the VIP webservice in this document. Because the support for the Postman Chrome app is being deprecated, the Native Apps "Postman" from this link: https://www.getpostman.com/apps is used to demostrate how Postman can be configured to test the VIP web service with the folowing steps:
- Providing the path "https://vetbiz.va.gov/VIPService/VIPService.svc" to the WSDL as the URL
- Setting the request method to "POST"
- Clicking "Authorization" tab and making sure Type "No Auth" was selected
- Clicking "Headers" tab and adding key "SOAPAction" with value "http://tempuri.org/IVIPService?GetVerfiedBusinesses
- Also in the "Headers" tab add key "Content-Type" with value "text/xml;charset=utf-8"
- Clicking "Body" tab and selecting the "raw" option with the setting the body type as "XML"
- Providing the SOAP Envelope, Header and Body tags as required in the request body, and defining all the namespaces: