Upgrading to Applicant Web Service Library V2.0
The latest version of the Grants.gov Applicant Web Service Library is Version 2.0 (V2.0). It consists of the following major enhancements:
Resources for Upgrading to Version 2.0
For applicants that are upgrading to Applicant Web Services Version 2.0:
From Web Service Library V0 to V1
The following web services were added to the Applicant Web Service Library V1:
The Submit Application web service was updated to include multi-project submissions.
The following are the changes to the Applicant WSDL:
From Web Service Library V1 to V2.0
In V2.0, the concept of provisioning and versioning was introduced. Whenever an enhancement is required for the Interface, a new version of the Web Services Library will be created. A new WSDL will be generated and assigned the next logical version number.
The following changes were made to the web services:
All V2.0 web services were changed to use strongly typed objects to allow the interfaces to become more descriptive in their input and output parameters. Clients are no longer passing an XML string; rather the client is populating the values in a value object and then dispatching it to the server in the input message. This change allows Grants.gov to perform an initial validation on the structure and the contents of each parameter upon invocation of the web service.
Using strongly typed objects and validation upon invocation requires optional parameters are set to null instead of an empty string. Empty tags can no longer be included in the XML for null fields. This validation checks the structure and the contents of each parameter. For example, CFDANumber is an optional field in the GetOpportunities web service and must be set to null to exclude this field from the web service call.
V2.0 upgraded to the Message Transmission Optimization Mechanism (MTOM) in the application server for attachment streaming to support large submissions. This required a change in the signatures for the web services for receiving and sending attachments.
On the client side, the enabling of the MTOM feature is through setting properties when acquiring the service port. The code snippet below shows how the client can enable the MTOM feature:
ApplicantWebServicesPortType port = service.getApplicantWebServicesSoapPort( new MTOMFeature(true) );
New External Schemas
In V2.0, the WSDL references external schemas act as a central repository for the different object types and elements used in each WSDL. This technique enables consistency of the various data structures used throughout the web service interfaces. The following are the active schemas for the Applicant web services:
The following common schema was added to standardize the naming convention:
To use this common schema, set the GrantsCommonElements-V1.0 namespace declaration to ‘xmlns:GrantsCommonElements’. The following common schema was added to standardize the definition of the common elements: