+---+----------------------------------------------------------------------+
|   |                                                                      |
+---+----------------------------------------------------------------------+
| ! |                                                                      |
| [ |                                                                      |
| ] |                                                                      |
| ( |                                                                      |
| m |                                                                      |
| e |                                                                      |
| d |                                                                      |
| i |                                                                      |
| a |                                                                      |
| / |                                                                      |
| i |                                                                      |
| m |                                                                      |
| a |                                                                      |
| g |                                                                      |
| e |                                                                      |
| 1 |                                                                      |
| . |                                                                      |
| p |                                                                      |
| n |                                                                      |
| g |                                                                      |
| ) |                                                                      |
| { |                                                                      |
| w |                                                                      |
| i |                                                                      |
| d |                                                                      |
| t |                                                                      |
| h |                                                                      |
| = |                                                                      |
| " |                                                                      |
| 3 |                                                                      |
| . |                                                                      |
| 7 |                                                                      |
| 9 |                                                                      |
| 0 |                                                                      |
| 2 |                                                                      |
| 7 |                                                                      |
| 7 |                                                                      |
| 7 |                                                                      |
| 7 |                                                                      |
| 7 |                                                                      |
| 7 |                                                                      |
| 7 |                                                                      |
| 7 |                                                                      |
| 7 |                                                                      |
| 7 |                                                                      |
| 8 |                                                                      |
| i |                                                                      |
| n |                                                                      |
| " |                                                                      |
| h |                                                                      |
| e |                                                                      |
| i |                                                                      |
| g |                                                                      |
| h |                                                                      |
| t |                                                                      |
| = |                                                                      |
| " |                                                                      |
| 0 |                                                                      |
| . |                                                                      |
| 9 |                                                                      |
| 1 |                                                                      |
| 5 |                                                                      |
| 9 |                                                                      |
| 7 |                                                                      |
| 2 |                                                                      |
| 2 |                                                                      |
| 2 |                                                                      |
| 2 |                                                                      |
| 2 |                                                                      |
| 2 |                                                                      |
| 2 |                                                                      |
| 2 |                                                                      |
| 2 |                                                                      |
| 2 |                                                                      |
| 2 |                                                                      |
| i |                                                                      |
| n |                                                                      |
| " |                                                                      |
| } |                                                                      |
|   |                                                                      |
| > |                                                                      |
|   |                                                                      |
| A |                                                                      |
| g |                                                                      |
| e |                                                                      |
| n |                                                                      |
| c |                                                                      |
| y |                                                                      |
| > |                                                                      |
|   |                                                                      |
| I |                                                                      |
| n |                                                                      |
| t |                                                                      |
| e |                                                                      |
| g |                                                                      |
| r |                                                                      |
| a |                                                                      |
| t |                                                                      |
| i |                                                                      |
| o |                                                                      |
| n |                                                                      |
| > |                                                                      |
|   |                                                                      |
| D |                                                                      |
| E |                                                                      |
| S |                                                                      |
| I |                                                                      |
| G |                                                                      |
| N |                                                                      |
| > |                                                                      |
|   |                                                                      |
| S |                                                                      |
| P |                                                                      |
| E |                                                                      |
| C |                                                                      |
| I |                                                                      |
| F |                                                                      |
| I |                                                                      |
| C |                                                                      |
| A |                                                                      |
| T |                                                                      |
| I |                                                                      |
| O |                                                                      |
| N |                                                                      |
| S |                                                                      |
|   |                                                                      |
| * |                                                                      |
| * |                                                                      |
| S |                                                                      |
| y |                                                                      |
| s |                                                                      |
| t |                                                                      |
| e |                                                                      |
| m |                                                                      |
| s |                                                                      |
| I |                                                                      |
| n |                                                                      |
| t |                                                                      |
| e |                                                                      |
| g |                                                                      |
| r |                                                                      |
| a |                                                                      |
| t |                                                                      |
| i |                                                                      |
| o |                                                                      |
| n |                                                                      |
| * |                                                                      |
| * |                                                                      |
|   |                                                                      |
| V |                                                                      |
| e |                                                                      |
| r |                                                                      |
| s |                                                                      |
| i |                                                                      |
| o |                                                                      |
| n |                                                                      |
| 1 |                                                                      |
| . |                                                                      |
| 0 |                                                                      |
+---+----------------------------------------------------------------------+
|   |                                                                      |
+---+----------------------------------------------------------------------+

***Prepared by:***

**Northrop Grumman Information Technology**

1700 Research Boulevard

Rockville, Maryland 20850

**September 17, 2003**

*This report is confidential and intended solely for the use and*

*information of the client to whom it is addressed.*

Table of Contents

[1. Introduction 5](#introduction)

[1.1 Purpose 5](#purpose)

[1.2 Scope 5](#scope)

[1.3 Format of This Document 6](#format-of-this-document)

[2. Summary of Grants.gov Interface Mechanism
7](#summary-of-grants.gov-interface-mechanism)

[2.1 System-to-System Integration Details
8](#system-to-system-integration-details)

[2.1.1 Client-Server Relationship (Polling) Model
8](#client-server-relationship-polling-model)

[2.1.2 Peer-to-Peer Relationship Model
8](#peer-to-peer-relationship-model)

[2.1.3 Message Interaction Pattern 9](#message-interaction-pattern)

[2.1.4 Grants.gov-Agency Interface "Conversation"
9](#grants.gov-agency-interface-conversation)

[2.2 Web Services Description Language (WSDL) Overview
11](#web-services-description-language-wsdl-overview)

[2.3 SOAP Message Structure Overview
12](#soap-message-structure-overview)

[2.3.1 WSDL Bindings with SOAP 13](#wsdl-bindings-with-soap)

[2.4 Grants.gov Web Services Invocation Frame Work
14](#grants.gov-web-services-invocation-frame-work)

[2.5 System-to-System WSDL Specifications
15](#system-to-system-wsdl-specifications)

[2.5.1 Sample SOAP Message with Attachment
19](#sample-soap-message-with-attachment)

[2.6 Error handling 23](#error-handling)

[2.6.1 SOAP Fault Structure 24](#soap-fault-structure)

[2.6.2 Error Codes and Messages 24](#error-codes-and-messages)

[2.6.3 Sample SOAP Fault Message 25](#sample-soap-fault-message)

[3. Web Services Security 25](#web-services-security)

[3.1 Secure Socket Layer (SSL) and Digital Certificates
25](#secure-socket-layer-ssl-and-digital-certificates)

[3.2 Agency System to Grants.gov Authentication
25](#agency-system-to-grants.gov-authentication)

[3.3 Grants.gov to Agency System Authentication
26](#grants.gov-to-agency-system-authentication)

[4. Acronyms 27](#acronyms)

[Appendix A Agency Integration WSDL 1](#__RefHeading___Toc51574033)

**List of Tables**

[Table 2‑1. Grants.gov-Agency Interface Conversation
10](#__RefHeading___Toc51574069)

[Table 4‑1. Acronyms/Definitions 27](#__RefHeading___Toc51574070)

**List of Figures**

[Figure 1‑1. Grant Lifecycle View 6](#__RefHeading___Toc51574075)

[Figure 2‑1. Grants.gov Interfaces 7](#__RefHeading___Toc51574076)

[Figure 2‑2. Peer-Peer Model 8](#__RefHeading___Toc51574077)

[Figure 2‑3. Request/Response "Conversation" between an Agency System
and Grants.gov 9](#__RefHeading___Toc51574078)

[Figure 2‑4. Main Structure of a WSDL Document
11](#__RefHeading___Toc51574079)

[Figure 2‑5. SOAP Message Structure 12](#__RefHeading___Toc51574080)

[Figure 2‑6. A Request-Response WSDL Using SOAP Binding
13](#__RefHeading___Toc51574081)

[Figure 2‑7. WSDL Binding with SOAP 14](#__RefHeading___Toc51574082)

**Record of Changes**

  ------------- -------------- --------------- ---------------------------
  **Version     **Date of      **Made By**     **Description of Change**
  Number**      Change**                       

  1.0           8/14/2003      Ray Kalantar    Original Draft

  1.0           8/15/2003      Yvonne Duncan   Editing/formatting

  1.0           9/172003       Ray Kalantar    Error Codes, WSDL, Sample
                                               SOAP Messages
  ------------- -------------- --------------- ---------------------------

#  Introduction

Grantee-organizations are often faced with overwhelming challenges when
applying for federal government grants, regardless of which agency they
address. Various program requirements and administrative differences
necessitate the constant updating of procedures, and disparate data
standards and business processes require redundant data entry, often
resulting in inaccurate application submissions. Twenty-six agencies
with approximately 900 programs collect grant information. However, the
grant information is typically not shared among the programs, the
grantee is often left with a time-consuming follow-up through a
multitude of databases, web sites, and telephone calls.

The Grants.gov initiative aims to produce a simple, unified "Storefront"
for all customers of Federal grants to electronically find
opportunities, apply, and manage grants, as well as facilitate the
quality, coordination, effectiveness, and efficiency of operations for
grant makers and grant recipients.

The four primary goals of the Grants.gov initiative defined by consensus
among the grant-making agencies include:

1.  Eliminate the burden of redundant or disparate electronic and
    paper-based data collection requirements.

2.  Define and implement simplified standard processes and standard data
    definitions for Federal grant customer interactions.

3.  Protect the confidentiality, availability, and integrity of data.

4.  Standardize the collection of financial and progress report data in
    support of audit and performance measurement activities.

Implementing the Grants.gov Storefront is only a part of the process of
deploying an effective government-wide grants application system. Other
significant challenges in ensuring system success involve supporting
individuals and organizations at each end of Grants.gov's external
interfaces -- the applicants and grant-making agencies. Grants.gov must
be adopted and used by these stakeholders if the system is to be
successful.

## Purpose

The Agency Integration Design Specifications is a key component in the
adoption and use of the Grants.gov system by grant-making agencies. Its
primary purpose is to provide detail design specifications for
system-to-system integration so that grant-making agencies can develop
and adapt their back office systems based on given standards and systems
requirements. It provides agency IT personnel detail technical
information needed to interface with Grants.gov.

## Scope

The Grants.gov Agency Integration Design Specifications describes all of
the interfaces between the Grants.gov "Front Office" operations and an
agency's "Back Office" operations; i.e., the interfaces between the
grantee-facing and agency-facing aspects of the grant lifecycle. The
following figure represents a general, two-sided view of the grant
lifecycle that identifies some of the more common parts of the lifecycle
that are grantee-facing ("Front Office") as well as those that are
solely internal agency processes ("Back Office"):

> ![](media/image2.png){width="2.352755905511811in"
> height="1.1751968503937007in"}

[]{#__RefHeading___Toc51574075 .anchor}Figure 1‑1. Grant Lifecycle View

This design document will focus primarily on the Application Retrieval
options available to agencies via the Agency Integration interfaces once
an applicant has successfully submitted (filed) an application. It will
also describe the one-stop set of interfaces where emerging e-business
technologies and best practices are used to give agencies access to
grantee applications gathered in a full service manner. The Agency
Integration interfaces will be the single point of entry for agencies,
offering both application data retrieval and secure e-business
transaction processing.

## Format of This Document

The Agency Integration Design Specifications is a document that provides
specific technical requirements and standards in which Grants.gov has
adopted for System-to-System integration with grant making agencies. The
agencies can utilize these detail specifications to enhance their
existing grants management systems or develop new components in order to
use the technology.

This document contains the following sections:

**Section 2** Summarizes Grants.gov and Agency interface mechanisms, Web
Services Description Language, system-to-system conversation exchange,
SOAP message structure, and Web Services error handling.

**Section 3** Describes web services security and
system-to-system-authentication.

**Section 4** Presents the Acronyms used in this document, and

**Appendix A** Provides a detail listing of Agency Integration WSDL.

# Summary of Grants.gov Interface Mechanism

This section describes two proposed solutions to the question of how
agencies electronically interface with Grants.gov:

-   Grants.gov to Agency integration via system-to-system interfaces,
    and

-   Grants.gov to Agency integration via system-to-person interfaces.

Applicants can interact with Grants.gov via person-to-system or
system-to-system interfaces. These are referred to as *inbound*
interfaces. Similarly, Grants.gov can interact with the agencies in two
ways, system-to-system or system-to-person interfaces. These are
referred to as *outbound* interfaces.

A Person-to-System *inbound* interface is basically a set of Grants.gov
provided Graphical User Interface (GUI's) through which an applicant can
download a grant application, complete it, and submit (file) it to
Grants.gov. Similarly, a System-to-Person *outbound* interface is
basically a set of Grants.gov provided Graphical User Interfaces (GUI's)
through which an agency user can pull (download) the submitted
application in a PDF or PureEdge format with any related attachments in
their native format. Details of these interfaces have been provided in
the Agency Integration Toolkit Document.

There are two options under the system-to-system *inbound* and
*outbound* interfaces. The first option provides SOAP Client to Web
Services exchange (inbound), and Web Services to SOAP Client exchange
(outbound). The second option provides Web Services to Web Services
exchange (inbound and outbound). Since the Grants.gov system will
provide Web Services, (as opposed to just implementing a SOAP Client)
any interfacing organization (applicant or agency) can use either of the
above options to integrate with Grants.gov.

If an Agency uses a SOAP Client, no exchange of messages will occur
until a request is initiated from the Agency (client). In the case of
Web Services to Web Services interaction, both Grants.gov and Agency
systems will be running and both can request and respond to messages. In
either of these cases, once the message exchange "hand shake" is
established, the transfer protocol and transfer of SOAP messages occurs
in the same manner. Figure 2-1 below provides a high level visual of the
Grants.gov interfaces.

[]{#__RefHeading___Toc51574076 .anchor}Figure 2‑2. Grants.gov Interfaces

The following sections discuss detail system specifications for the
system-to-system interface.

## System-to-System Integration Details 

For the *outbound* system-to-system interfaces, Grants.gov-to-agency
integration will be achieved via a message exchange that utilizes XML
Web Services using SOAP v1.1 with Attachments and HTTP with Secure
Socket Layer (SSL).

Two versions of the message exchange model are being proposed: a
*client-server* relationship (polling) model, and a *peer-to-peer*
relationship model. In both solutions the manner in which web services
are implemented within Grants.gov does not change. The differences arise
in the sequence of transactions and the degree of automation implemented
by a given Agency.

In the Client-Server model, agencies *will not* implement their own web
services. Instead, agencies will simply implement SOAP clients that
invoke the Grants.gov web services. In this usage of the exchange model,
a *client-server* relationship has been established between an Agency
and the Grants.gov systems, respectively.

In the Peer-to-Peer model, agencies *will* implement not only SOAP
clients, but also web services that the Grants.gov system can invoke to
notify the agency that new applications/submissions are available for
download. In this usage of the exchange model, a *peer-to-peer*
relationship has been established between an Agency and the Grants.gov
system.

The implications of each of the two uses of the exchange model is
further detailed below.

### Client-Server Relationship (Polling) Model

In this model, the agency has *not* implemented any Web Services that
the Grants.gov system can invoke. The implication is that an agency SOAP
client always initiates the communication exchange with Grants.gov web
services, and only the Grants.gov web services will be up and running at
all times (or within certain predetermined hours of the day), listening
for agency requests.

### Peer-to-Peer Relationship Model

In this model, both the agency and Grants.gov will implement web
services that can be invoked by either partner. The implication is that
both Grants.gov and agency web services will need to be up and running
at all times (or within certain predetermined hours of the day),
listening for messages. Also, either Grants.gov or the agency system may
initiate a message exchange. Figure 2-2 shows an example of a web
service and a client invoking in two different ways. Each invocation
consists of a request and a response message.

![](media/image3.png){width="6.0in" height="1.8479166666666667in"}

[]{#__RefHeading___Toc51574077 .anchor}Figure 2‑3. Peer-Peer Model

### Message Interaction Pattern

Since all agencies may not choose to implement their own web services,
any system-to-system message exchange between Grants.gov and agency
systems will be conducted (at least initially) using an *asynchronous
request/response interaction pattern*. A connection will be established
directly to the ultimate recipient (Agency) instead of using a provider
that would store (queue) and forward messages until they can be
delivered.

### Grants.gov-Agency Interface "Conversation"

The following depicts a typical request/response "conversation" between
an Agency System and Grants.gov:

**Agency System** **Grants.gov**

> *Requests a list of Pending Applications*
>
> GetApplicationList()Request
>
> *Retrieves a list of Pending Applications*
>
> GetApplicationList()Response
>
> *Requests Specific Application (repeat for each application)*
>
> GetApplication()Request
>
> *Retrieves Requested Application*
>
> GetApplication()Response
>
> *Requests Application Delivery Confirmation*
>
> ConfirmApplicationDelivery()Request
>
> *Confirms Application Delivery*

ConfirmApplicationDelivery()Response

> *Assigns Agency Tracking Number (repeat for each application)*
>
> assignAgencyTrackingNumber()Request
>
> *Confirms Assign Agency Tracking Number*

assignAgencyTrackingNumber()Response

> *Notifies Application Availability*

NotifyApplicationAvailable()Request

[]{#__RefHeading___Toc51574078 .anchor}Figure 2‑4. Request/Response
"Conversation" between an Agency System and Grants.gov

Table 2-1 summarizes the interface "conversation" described above with
corresponding request-response including input-output messages used in
Agency Integration WSDL:

[]{#__RefHeading___Toc51574069 .anchor}Table 2‑1. Grants.gov-Agency
Interface Conversation

+------------------------------+------------------+-------------------+
| **Method Name**              | **Description**  | **Parameters**    |
+------------------------------+------------------+-------------------+
| GetApplicationList()Request  | Used by an       | **Input**: Filter |
|                              | *Agency* to      | Type, Filter      |
|                              | request a list   | Value = Pending   |
|                              | of applications. | Download,         |
|                              |                  | Downloaded,       |
|                              |                  | Agency Assigned   |
|                              |                  | Tracking Number.  |
+------------------------------+------------------+-------------------+
| GetApplicationList()Response | Used by          | **Output**:       |
|                              | *Grants.gov* to  | Application       |
|                              | provide the list | Status,           |
|                              | of applications  | Grants.gov        |
|                              | that are ready   | Tracking Number,  |
|                              | to be            | Opportunity       |
|                              | downloaded.      | Number, CFDA      |
|                              |                  | Number, Received  |
|                              |                  | Date and Time.    |
+------------------------------+------------------+-------------------+
| GetApplication()Request      | Used by an       | **Input**:        |
|                              | *Agency* to      | Grants.gov        |
| (Repeat for each             | request a        | Tracking Number   |
| application)                 | specific         |                   |
|                              | application.     |                   |
+------------------------------+------------------+-------------------+
| GetApplication()Response     | Used by          | **Output**:       |
|                              | *Grants.gov* to  | Application       |
| (Repeat for each             | provide the      | Package           |
| application)                 | requested        |                   |
|                              | application.     |                   |
+------------------------------+------------------+-------------------+
| Confirm                      | Used by an       | **Input**:        |
| ApplicationDelivery()Request | *Agency* to      | Grants.gov        |
|                              | confirm the      | Tracking Number.  |
|                              | retrieval of an  |                   |
|                              | application.     |                   |
+------------------------------+------------------+-------------------+
| ConfirmA                     | Used by          | **Output**:       |
| pplicationDelivery()Response | *Grants.gov* to  | Succeed or        |
|                              | acknowledge      | Failed,           |
|                              | confirmation.    | Grants.gov        |
|                              |                  | Tracking Number   |
+------------------------------+------------------+-------------------+
| AssignA                      | Used by an       | **Input**:        |
| gencyTrackingNumber()Request | *Agency* to      | Grants.gov        |
|                              | notify           | Tracking Number,  |
|                              | Grants.gov of an | Agency Tracking   |
|                              | agency's         | Number.           |
|                              | internal         |                   |
|                              | tracking number  |                   |
|                              | for a given      |                   |
|                              | application.     |                   |
+------------------------------+------------------+-------------------+
| AssignAg                     | Used by          | **Output**:       |
| encyTrackingNumber()Response | *Grants.gov* to  | Succeed or        |
|                              | acknowledge the  | Failed, Agency    |
|                              | receipt of       | Tracking Number.  |
|                              | Agency Tracking  |                   |
|                              | Number for a     |                   |
|                              | specific         |                   |
|                              | application.     |                   |
+------------------------------+------------------+-------------------+
| NotifyA                      | Used by          | **Input**:        |
| pplicationAvailable()Request | Grants.gov to    | Literal.          |
|                              | notify an agency |                   |
|                              | that a given     |                   |
|                              | application is   |                   |
|                              | ready to be      |                   |
|                              | downloaded.      |                   |
+------------------------------+------------------+-------------------+

## Web Services Description Language (WSDL) Overview

A WSDL is an XML-based document that describes web services and how to
access them. A WSDL document defines services as collections of network
endpoints, or ports. In WSDL, the abstract definition of endpoints and
messages is separated from their concrete network deployment or data
format binding. A WSDL document defines a web service using the
following elements:

  -------------- --------------------------------------------------------
  **Element**    **Defines**

  \<portType\>   The operations performed by the web service. The
                 **\<**portType**\>** element is the most important WSDL
                 element. It defines a web service, the operations that
                 can be performed, and the messages that are involved.
                 The \<portType\> element can be compared to a function
                 library (or a module, or a class) in a traditional
                 programming language.

  \<message\>    The messages used by the web service. The
                 **\<**message**\>** element defines the data elements of
                 an operation. Each message can consist of one or more
                 parts. The parts can be compared to the parameters of a
                 function call in a traditional programming language.

  \<types\>      The data types used by the web service. For maximum
                 platform neutrality, WSDL uses XML Schema syntax to
                 define data types.

  \<binding\>    The communication protocols used by the web service. The
                 **\<**binding**\>** element defines the message format
                 and protocol details for each port.
  -------------- --------------------------------------------------------

The main structure of a WSDL document is as follows:

+-----------------------------------------------------------------------+
| \<definitions\>                                                       |
|                                                                       |
| \<types\>                                                             |
|                                                                       |
| definition of types\...\.....                                         |
|                                                                       |
| \</types\>                                                            |
|                                                                       |
| \<message\>                                                           |
|                                                                       |
| definition of a message\....                                          |
|                                                                       |
| \</message\>                                                          |
|                                                                       |
| \<portType\>                                                          |
|                                                                       |
| definition of a port\...\....                                         |
|                                                                       |
| \</portType\>                                                         |
|                                                                       |
| \<binding\>                                                           |
|                                                                       |
| definition of a binding\....                                          |
|                                                                       |
| \</binding\>                                                          |
|                                                                       |
| \</definitions\>                                                      |
+-----------------------------------------------------------------------+

[]{#__RefHeading___Toc51574079 .anchor}Figure 2‑5. Main Structure of a
WSDL Document

A WSDL document can also contain other elements, like extension elements
and a service element that makes it possible to group together the
definitions of several web services in one single WSDL.

## SOAP Message Structure Overview

This section provides a brief summary of the structure of the SOAP v1.1
with Attachment compliant messages to be used by any system-to-system
message exchange between the Grants.gov and agency systems, or
vice-versa. A more detailed breakdown of the message is provided in the
Agency Integration Toolkit Document.

Messages used in Grants.gov system-to-system message exchange are
formatted according to the SOAP with Attachments (SwA)
specifications[^1]. Some applications may not have any attachments;
however, the corresponding SOAP messages are still encapsulated in MIME
via the transport protocol.

Figure 2-5 depicts, at a high level, the structure of a SOAP message
object, which is compliant with SOAP v1.1 with Attachments
specifications. It consists of a MIME envelope that embeds other MIME
parts. The primary part of the multipart MIME message is the XML SOAP
document itself; the subsequent parts contain any attached data.

![](media/image4.png){width="2.723611111111111in"
height="4.001388888888889in"}

[]{#__RefHeading___Toc51574080 .anchor}Figure 2‑6. SOAP Message
Structure

The grant applications that are received by Grants.gov may include
attachments such as Budget Narrative, Project Narrative, as well as any
other user-selected attachments in their native format, as part of the
application package. The subsequent XML documents that are produced by
Grants.gov for delivery to corresponding agencies in a system-to-system
integration environment will have the following structure:

1.  SF424 and other Agency-related forms in text format,

2.  A description of each attachment in the XML Document, and

3.  Attachments in their native binary format.

### WSDL Bindings with SOAP

As WSDL describes the request-response interaction between systems, SOAP
is the transport mechanism of message exchanges. Generally, a
request-response WSDL using SOAP binding is constructed as follows:

+-----------------------------------------------------------------------+
| \<message name=\"getTermRequest\"\>                                   |
|                                                                       |
| \<part name=\"term\" type=\"xs:string\"/\>                            |
|                                                                       |
| \</message\>                                                          |
|                                                                       |
| \<message name=\"getTermResponse\"\>                                  |
|                                                                       |
| \<part name=\"value\" type=\"xs:string\"/\>                           |
|                                                                       |
| \</message\>                                                          |
|                                                                       |
| \<portType name=\"glossaryTerms\"\>\                                  |
| \<operation name=\"getTerm\"\>\                                       |
| \<input message=\"getTermRequest\"/\>\                                |
| \<output message=\"getTermResponse\"/\>\                              |
| \</operation\>\                                                       |
| \</portType\>                                                         |
|                                                                       |
| \<binding type=\"glossaryTerms\" name=\"b1\"\>                        |
|                                                                       |
| \<soap:binding style=\"document\"                                     |
|                                                                       |
| transport=\"https://schemas.xmlsoap.org/soap/http\" /\>               |
|                                                                       |
| \<operation\>                                                         |
|                                                                       |
| \<soap:operation                                                      |
|                                                                       |
| soapAction=\"http://example.com/getTerm\"/\>                          |
|                                                                       |
| \<input\>                                                             |
|                                                                       |
| \<soap:body use=\"literal\"/\>                                        |
|                                                                       |
| \</input\>                                                            |
|                                                                       |
| \<output\>                                                            |
|                                                                       |
| \<soap:body use=\"literal\"/\>                                        |
|                                                                       |
| \</output\>                                                           |
|                                                                       |
| \</operation\>                                                        |
|                                                                       |
| \</binding\>                                                          |
+-----------------------------------------------------------------------+

[]{#__RefHeading___Toc51574081 .anchor}Figure 2‑7. A Request-Response
WSDL Using SOAP Binding

The *binding* element has two attributes - the name attribute and the
type attribute. The name attribute defines the name of the binding, and
the type attribute points to the port for the binding, in this case the
\"glossaryTerms\" port.

The *soap:binding* element has two attributes - the style attribute and
the transport attribute. The style attribute can be \"rpc\" or
\"document\". In the above example, document attribute is used. The
transport attribute defines the SOAP protocol to be used. The above
example uses HTTPS.

The *operation* element defines each operation that the port exposes.

Figure 2-7 below shows the example that was shown earlier with WSDL
terminology pointing to the various items that WSDL describes.

> ![](media/image5.wmf)

[]{#__RefHeading___Toc51574082 .anchor}Figure 2‑8. WSDL Binding with
SOAP

## Grants.gov Web Services Invocation Frame Work

Grants.gov uses Document-style web services. Document-style web services
are loosely coupled and document-driven. The client sends the parameter
to the web service as an XML document, instead of a discrete set of
parameter values. The input XML document can also be described in WSDL.
Unlike RPC-Style Web Services, which are synchronous (i.e., the client
sends the request and waits for the response until the request is
processed completely), Document-style web service does not follow
call/response semantics.  The web service receives the entire document,
processes it and may or may not return a response message. The SOAP Body
of a Document-style carries one or more XML documents, within its body.
The protocol places no constraint on how that document needs to be
structured, which is totally handled at the application level.
Document-style web service follows asynchronous processing.

Grants.gov utilizes WebLogic web services with SOAP v1.1 with
attachments. Grants.gov will also use JAXM v1.1.2 which is Java's API
for XML Messaging for enabling message exchange between web services.

To show the capability and as a proof of concept, the Grants.gov System
Integration team has developed the system-to-system integration
functionality in a two phased Reference Implementation.

In the first phase, an application was developed that consumed an XML
document generated by InFlowSuite; parsed the document, created Java
object classes for the data elements, and inserted the data into a
relational database. To demonstrate the capability in this phase,
several Java sever pages were developed that showed the selection,
import, and display of the parsed data. The standalone application can
be downloaded from the Grants.gov web site.

In the second phase, another standalone application was developed that
retrieved sample XML list and documents from the local file system via
SOAP stubs to simulate the InFlowSuite wrappers, parsed the documents
and load the parsed data into a relational database. Two instances of
Tomcat application servers were installed on separate PCs to provide web
services message exchange functionality and JAXM was used as the API to
establish the message exchange. The application performs
G*etApplicationList* and G*etApplication* functions described above and
it is integrated with the functionality in Phase I. This application can
also be downloaded from the Grants.gov site.

## System-to-System WSDL Specifications

The following are the specifications of the Grants.gov system-to-system
Agency Integration WSDL. The detail WSDL listing has been provided in
Appendix A. Note that references to certain file locations such as WSDL
Location, soapOperation, etc. will be changed when WSDL is implemented
in production.

  ------------------ ----------------------------------------------------------------------------
  WSDL location:     **http://apps.grants.gov/WebServices/AgencyIntegrationServices-V1.0.wsdl**

  targetnamespace:   **http://apps.grants.gov/WebServices/AgencyIntegrationServices**
  ------------------ ----------------------------------------------------------------------------

  -------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------
  services                                                                                                                   bindings                                                                                                                       porttypes                                                                                                                   messages

  **[AgencyIntegrationService](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link033F77F0)**   **[AgencyIntegrationSoapBinding](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03E647D8)**   **[AgencyIntegrationPortType](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8)**   **[AssignAgencyTrackingNumberRequestMessage](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03DD4F80)**

                                                                                                                                                                                                                                                                                                                                                                                        **[AssignAgencyTrackingNumberResponseMessage](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link040877C8)**

                                                                                                                                                                                                                                                                                                                                                                                        **[ConfirmApplicationDeliveryRequestMessage](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link04127B08)**

                                                                                                                                                                                                                                                                                                                                                                                        **[ConfirmApplicationDeliveryResponseMessage](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03FED958)**

                                                                                                                                                                                                                                                                                                                                                                                        **[ErrorMessage](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0402DE00)**

                                                                                                                                                                                                                                                                                                                                                                                        **[GetApplicationListRequestMessage](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link034276B0)**

                                                                                                                                                                                                                                                                                                                                                                                        **[GetApplicationListResponseMessage](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03FFDE20)**

                                                                                                                                                                                                                                                                                                                                                                                        **[GetApplicationRequestMessage](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03FA8A20)**

                                                                                                                                                                                                                                                                                                                                                                                        **[GetApplicationResponseMessage](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03E5EEF0)**

                                                                                                                                                                                                                                                                                                                                                                                        **[NotifyApplicationAvailableMessage](../../../../../../../../D:/MyProjects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03D9F910)**
  -------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------

**service** AgencyIntegrationService

+-------+--------------------------------------------------------------+
| ports | +---------------------------------------------------------+  |
|       | | AgencyIntegrationSoapPort                               |  |
|       | |                                                         |  |
|       | |   ------------------- ---------------------             |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | |   **binding**         [**agis:AgencyInteg               |  |
|       | | rationSoapBinding**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03E647D8) |  |
|       | |                                                         |  |
|       | |   **extensibility**   **\<soap:address lo               |  |
|       | | cation=\"https://ws.grants.gov/AgencyIntegration\"/\>** |  |
|       | |   ------------------- ---------------------             |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:service name=\"AgencyIntegrationService\"\>           |
| ource |                                                              |
|       | \<wsdl:port name=\"AgencyIntegrationSoapPort\"               |
|       | binding=\"agis:AgencyIntegrationSoapBinding\"\>              |
|       |                                                              |
|       | \<soap:address                                               |
|       | location=\"https://ws.grants.gov/AgencyIntegration\"/\>      |
|       |                                                              |
|       | \</wsdl:port\>                                               |
|       |                                                              |
|       | \</wsdl:service\>                                            |
+-------+--------------------------------------------------------------+

**binding** AgencyIntegrationSoapBinding

+-------+--------------------------------------------------------------+
| type  | [**agi                                                       |
|       | s:AgencyIntegrationPortType**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) |
+-------+--------------------------------------------------------------+
| ext   | \<soap:binding style=\"document\"                            |
| ensib | transport=\"http://schemas.xmlsoap.org/soap/http\"/\>        |
| ility |                                                              |
+-------+--------------------------------------------------------------+
| opera | +---------------------------------------------------------+  |
| tions | | GetApplication                                          |  |
|       | |                                                         |  |
|       | |   ------------------- ----------------                  |  |
|       | | ------------------------------------------------------- |  |
|       | |   **extensibility**   **\<soap:operation                |  |
|       | |                       soapAction=\"h                    |  |
|       | | ttps://ws.grants.gov/AgencyIntegration/GetApplication\" |  |
|       | |                       style=\"document\"/\>**           |  |
|       | |                                                         |  |
|       | |                                                         |  |
|       | |  **input**           **\<soap:body use=\"literal\"/\>** |  |
|       | |                                                         |  |
|       | |                                                         |  |
|       | |  **output**          **\<soap:body use=\"literal\"/\>** |  |
|       | |   ------------------- ----------------                  |  |
|       | | ------------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
|       | | GetApplicationList                                      |  |
|       | |                                                         |  |
|       | |   ------------------- --------------------              |  |
|       | | ------------------------------------------------------- |  |
|       | |   **extensibility**   **\<soap:operation                |  |
|       | |                       soapAction=\"https                |  |
|       | | ://ws.grants.gov/AgencyIntegration/GetApplicationList\" |  |
|       | |                       style=\"document\"/\>**           |  |
|       | |                                                         |  |
|       | |                                                         |  |
|       | |  **input**           **\<soap:body use=\"literal\"/\>** |  |
|       | |                                                         |  |
|       | |                                                         |  |
|       | |  **output**          **\<soap:body use=\"literal\"/\>** |  |
|       | |   ------------------- --------------------              |  |
|       | | ------------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
|       | | ConfirmApplicationDelivery                              |  |
|       | |                                                         |  |
|       | |   ------------------- ----------------------------      |  |
|       | | ------------------------------------------------------- |  |
|       | |   **extensibility**   **\<soap:operation                |  |
|       | |                       soapAction=\"https://ws.gr        |  |
|       | | ants.gov/AgencyIntegration/ConfirmApplicationDelivery\" |  |
|       | |                       style=\"document\"/\>**           |  |
|       | |                                                         |  |
|       | |                                                         |  |
|       | |  **input**           **\<soap:body use=\"literal\"/\>** |  |
|       | |                                                         |  |
|       | |                                                         |  |
|       | |  **output**          **\<soap:body use=\"literal\"/\>** |  |
|       | |   ------------------- ----------------------------      |  |
|       | | ------------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
|       | | AssignAgencyTrackingNumber                              |  |
|       | |                                                         |  |
|       | |   ------------------- ----------------------------      |  |
|       | | ------------------------------------------------------- |  |
|       | |   **extensibility**   **\<soap:operation                |  |
|       | |                       soapAction=\"https://ws.gr        |  |
|       | | ants.gov/AgencyIntegration/AssignAgencyTrackingNumber\" |  |
|       | |                       style=\"document\"/\>**           |  |
|       | |                                                         |  |
|       | |                                                         |  |
|       | |  **input**           **\<soap:body use=\"literal\"/\>** |  |
|       | |                                                         |  |
|       | |                                                         |  |
|       | |  **output**          **\<soap:body use=\"literal\"/\>** |  |
|       | |   ------------------- ----------------------------      |  |
|       | | ------------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
|       | | NotifyApplicationAvailable                              |  |
|       | |                                                         |  |
|       | |   ------------------- ----------------------------      |  |
|       | | ------------------------------------------------------- |  |
|       | |   **extensibility**   **\<soap:operation                |  |
|       | |                       soapAction=\"https://ws.gr        |  |
|       | | ants.gov/AgencyIntegration/NotifyApplicationAvailable\" |  |
|       | |                       style=\"document\"/\>**           |  |
|       | |                                                         |  |
|       | |   **input**                                             |  |
|       | |                                                         |  |
|       | |                                                         |  |
|       | |  **output**          **\<soap:body use=\"literal\"/\>** |  |
|       | |   ------------------- ----------------------------      |  |
|       | | ------------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ---                                                        |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   Service                                                    |
|       |   [**                                                        |
|       | AgencyIntegrationService**](../../../../../../../../D:/MyPro |
|       | jects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link033F77F0) in |
|       |   Port                                                       |
|       |   [                                                          |
|       | **AgencyIntegrationSoapPort**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link040E4A30) |
|       |                                                              |
|       |   ---                                                        |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:binding name=\"AgencyIntegrationSoapBinding\"         |
| ource | type=\"agis:AgencyIntegrationPortType\"\>                    |
|       |                                                              |
|       | \<soap:binding style=\"document\"                            |
|       | transport=\"http://schemas.xmlsoap.org/soap/http\"/\>        |
|       |                                                              |
|       | \<wsdl:operation name=\"GetApplication\"\>                   |
|       |                                                              |
|       | \<soap:operation                                             |
|       | soapActio                                                    |
|       | n=\"https://ws.grants.gov/AgencyIntegration/GetApplication\" |
|       | style=\"document\"/\>                                        |
|       |                                                              |
|       | \<wsdl:input\>                                               |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:input\>                                              |
|       |                                                              |
|       | \<wsdl:output\>                                              |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:output\>                                             |
|       |                                                              |
|       | \<wsdl:fault name=\"GetApplicationErrorMessage\"\>           |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:fault\>                                              |
|       |                                                              |
|       | \</wsdl:operation\>                                          |
|       |                                                              |
|       | \<wsdl:operation name=\"GetApplicationList\"\>               |
|       |                                                              |
|       | \<soap:operation                                             |
|       | soapAction=\"                                                |
|       | https://ws.grants.gov/AgencyIntegration/GetApplicationList\" |
|       | style=\"document\"/\>                                        |
|       |                                                              |
|       | \<wsdl:input\>                                               |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:input\>                                              |
|       |                                                              |
|       | \<wsdl:output\>                                              |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:output\>                                             |
|       |                                                              |
|       | \<wsdl:fault name=\"GetApplicationListErrorMessage\"\>       |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:fault\>                                              |
|       |                                                              |
|       | \</wsdl:operation\>                                          |
|       |                                                              |
|       | \<wsdl:operation name=\"ConfirmApplicationDelivery\"\>       |
|       |                                                              |
|       | \<soap:operation                                             |
|       | soapAction=\"https://                                        |
|       | ws.grants.gov/AgencyIntegration/ConfirmApplicationDelivery\" |
|       | style=\"document\"/\>                                        |
|       |                                                              |
|       | \<wsdl:input\>                                               |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:input\>                                              |
|       |                                                              |
|       | \<wsdl:output\>                                              |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:output\>                                             |
|       |                                                              |
|       | \<wsdl:fault                                                 |
|       | name=\"ConfirmApplicationDeliveryErrorMessage\"\>            |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:fault\>                                              |
|       |                                                              |
|       | \</wsdl:operation\>                                          |
|       |                                                              |
|       | \<wsdl:operation name=\"AssignAgencyTrackingNumber\"\>       |
|       |                                                              |
|       | \<soap:operation                                             |
|       | soapAction=\"https://                                        |
|       | ws.grants.gov/AgencyIntegration/AssignAgencyTrackingNumber\" |
|       | style=\"document\"/\>                                        |
|       |                                                              |
|       | \<wsdl:input\>                                               |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:input\>                                              |
|       |                                                              |
|       | \<wsdl:output\>                                              |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:output\>                                             |
|       |                                                              |
|       | \<wsdl:fault                                                 |
|       | name=\"AssignAgencyTrackingNumberErrorMessage\"\>            |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:fault\>                                              |
|       |                                                              |
|       | \</wsdl:operation\>                                          |
|       |                                                              |
|       | \<wsdl:operation name=\"NotifyApplicationAvailable\"\>       |
|       |                                                              |
|       | \<soap:operation                                             |
|       | soapAction=\"https://                                        |
|       | ws.grants.gov/AgencyIntegration/NotifyApplicationAvailable\" |
|       | style=\"document\"/\>                                        |
|       |                                                              |
|       | \<wsdl:output\>                                              |
|       |                                                              |
|       | \<soap:body use=\"literal\"/\>                               |
|       |                                                              |
|       | \</wsdl:output\>                                             |
|       |                                                              |
|       | \</wsdl:operation\>                                          |
|       |                                                              |
|       | \</wsdl:binding\>                                            |
+-------+--------------------------------------------------------------+

**porttype** AgencyIntegrationPortType

+-------+--------------------------------------------------------------+
| opera | +---------------------------------------------------------+  |
| tions | | GetApplication                                          |  |
|       | |                                                         |  |
|       | |   ------------ ----------------------                   |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | |   **input**    [**agis:GetApplicat                      |  |
|       | | ionRequestMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03FA8A20) |  |
|       | |                                                         |  |
|       | |   **output**   [**agis:GetApplicati                     |  |
|       | | onResponseMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03E5EEF0) |  |
|       | |                                                         |  |
|       | |   **fault**    [**                                      |  |
|       | | agis:ErrorMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0402DE00) |  |
|       | |   ------------ ----------------------                   |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
|       | | GetApplicationList                                      |  |
|       | |                                                         |  |
|       | |   ------------ --------------------------               |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | |   **input**    [**agis:GetApplicationL                  |  |
|       | | istRequestMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link034276B0) |  |
|       | |                                                         |  |
|       | |   **output**   [**agis:GetApplicationLi                 |  |
|       | | stResponseMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03FFDE20) |  |
|       | |                                                         |  |
|       | |   **fault**    [**                                      |  |
|       | | agis:ErrorMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0402DE00) |  |
|       | |   ------------ --------------------------               |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
|       | | ConfirmApplicationDelivery                              |  |
|       | |                                                         |  |
|       | |   ------------ ----------------------------------       |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | |   **input**    [**agis:ConfirmApplicationDeliv          |  |
|       | | eryRequestMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link04127B08) |  |
|       | |                                                         |  |
|       | |   **output**   [**agis:ConfirmApplicationDelive         |  |
|       | | ryResponseMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03FED958) |  |
|       | |                                                         |  |
|       | |   **fault**    [**                                      |  |
|       | | agis:ErrorMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0402DE00) |  |
|       | |   ------------ ----------------------------------       |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
|       | | AssignAgencyTrackingNumber                              |  |
|       | |                                                         |  |
|       | |   ------------ ----------------------------------       |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | |   **input**    [**agis:AssignAgencyTrackingNum          |  |
|       | | berRequestMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03DD4F80) |  |
|       | |                                                         |  |
|       | |   **output**   [**agis:AssignAgencyTrackingNumb         |  |
|       | | erResponseMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link040877C8) |  |
|       | |                                                         |  |
|       | |   **fault**    [**                                      |  |
|       | | agis:ErrorMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0402DE00) |  |
|       | |   ------------ ----------------------------------       |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
|       | | NotifyApplicationAvailable                              |  |
|       | |                                                         |  |
|       | |   ------------ --------------------------               |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | |   **output**   [**agis:NotifyApplicatio                 |  |
|       | | nAvailableMessage**](../../../../../../../../D:/MyProje |  |
|       | | cts/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03D9F910) |  |
|       | |                                                         |  |
|       | |   ------------ --------------------------               |  |
|       | | ------------------------------------------------------- |  |
|       | | ------------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ------                                                     |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   binding                                                    |
|       |   [**A                                                       |
|       | gencyIntegrationSoapBinding**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03E647D8) |
|       |                                                              |
|       |   ------                                                     |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:portType name=\"AgencyIntegrationPortType\"\>         |
| ource |                                                              |
|       | \<wsdl:operation name=\"GetApplication\"\>                   |
|       |                                                              |
|       | \<wsdl:input                                                 |
|       | message=\"agis:GetApplicationRequestMessage\"/\>             |
|       |                                                              |
|       | \<wsdl:output                                                |
|       | message=\"agis:GetApplicationResponseMessage\"/\>            |
|       |                                                              |
|       | \<wsdl:fault name=\"GetApplicationErrorMessage\"             |
|       | message=\"agis:ErrorMessage\"/\>                             |
|       |                                                              |
|       | \</wsdl:operation\>                                          |
|       |                                                              |
|       | \<wsdl:operation name=\"GetApplicationList\"\>               |
|       |                                                              |
|       | \<wsdl:input                                                 |
|       | message=\"agis:GetApplicationListRequestMessage\"/\>         |
|       |                                                              |
|       | \<wsdl:output                                                |
|       | message=\"agis:GetApplicationListResponseMessage\"/\>        |
|       |                                                              |
|       | \<wsdl:fault name=\"GetApplicationListErrorMessage\"         |
|       | message=\"agis:ErrorMessage\"/\>                             |
|       |                                                              |
|       | \</wsdl:operation\>                                          |
|       |                                                              |
|       | \<wsdl:operation name=\"ConfirmApplicationDelivery\"\>       |
|       |                                                              |
|       | \<wsdl:input                                                 |
|       | message=\"agis:ConfirmApplicationDeliveryRequestMessage\"/\> |
|       |                                                              |
|       | \<wsdl:output                                                |
|       | m                                                            |
|       | essage=\"agis:ConfirmApplicationDeliveryResponseMessage\"/\> |
|       |                                                              |
|       | \<wsdl:fault name=\"ConfirmApplicationDeliveryErrorMessage\" |
|       | message=\"agis:ErrorMessage\"/\>                             |
|       |                                                              |
|       | \</wsdl:operation\>                                          |
|       |                                                              |
|       | \<wsdl:operation name=\"AssignAgencyTrackingNumber\"\>       |
|       |                                                              |
|       | \<wsdl:input                                                 |
|       | message=\"agis:AssignAgencyTrackingNumberRequestMessage\"/\> |
|       |                                                              |
|       | \<wsdl:output                                                |
|       | m                                                            |
|       | essage=\"agis:AssignAgencyTrackingNumberResponseMessage\"/\> |
|       |                                                              |
|       | \<wsdl:fault name=\"AssignAgencyTrackingNumberErrorMessage\" |
|       | message=\"agis:ErrorMessage\"/\>                             |
|       |                                                              |
|       | \</wsdl:operation\>                                          |
|       |                                                              |
|       | \<wsdl:operation name=\"NotifyApplicationAvailable\"\>       |
|       |                                                              |
|       | \<wsdl:output                                                |
|       | message=\"agis:NotifyApplicationAvailableMessage\"/\>        |
|       |                                                              |
|       | \</wsdl:operation\>                                          |
|       |                                                              |
|       | \</wsdl:portType\>                                           |
+-------+--------------------------------------------------------------+

**message** GetApplicationListRequestMessage

+-------+--------------------------------------------------------------+
| parts | +---------------------------------------------------------+  |
|       | | ApplicationListFilters                                  |  |
|       | +---------------------------------------------------------+  |
|       | |   ------ ---------------------------------------------- |  |
|       | |   type   **agis:ApplicationFilterTypeList**             |  |
|       | |                                                         |  |
|       | |   ------ ---------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ---                                                        |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   PortType                                                   |
|       |   [                                                          |
|       | **AgencyIntegrationPortType**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) |
|       |   in Operation                                               |
|       |   [**GetApplicationList**](../../../../../../../../D:/My     |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link040FDC10) |
|       |                                                              |
|       |   ---                                                        |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:message name=\"GetApplicationListRequestMessage\"\>   |
| ource |                                                              |
|       | \<wsdl:part name=\"ApplicationListFilters\"                  |
|       | type=\"agis:ApplicationFilterTypeList\"/\>                   |
|       |                                                              |
|       | \</wsdl:message\>                                            |
+-------+--------------------------------------------------------------+

**message** GetApplicationListResponseMessage

+-------+--------------------------------------------------------------+
| parts | +---------------------------------------------------------+  |
|       | | ReturnedApplicationList                                 |  |
|       | +---------------------------------------------------------+  |
|       | |   ------ ---------------------------------------------- |  |
|       | |   type   **agis:ApplicationListType**                   |  |
|       | |                                                         |  |
|       | |   ------ ---------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ---                                                        |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   PortType                                                   |
|       |   [                                                          |
|       | **AgencyIntegrationPortType**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) |
|       |   in Operation                                               |
|       |   [**GetApplicationList**](../../../../../../../../D:/My     |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link040FDC10) |
|       |                                                              |
|       |   ---                                                        |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:message name=\"GetApplicationListResponseMessage\"\>  |
| ource |                                                              |
|       | \<wsdl:part name=\"ReturnedApplicationList\"                 |
|       | type=\"agis:ApplicationListType\"/\>                         |
|       |                                                              |
|       | \</wsdl:message\>                                            |
+-------+--------------------------------------------------------------+

**message** GetApplicationRequestMessage

+-------+--------------------------------------------------------------+
| parts | +---------------------------------------------------------+  |
|       | | Grants_govTrackingNumber                                |  |
|       | +---------------------------------------------------------+  |
|       | |   ------ ---------------------------------------------- |  |
|       | |   type                                                  |  |
|       | |                                                         |  |
|       | |   ------ ---------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ---                                                        |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   PortType                                                   |
|       |   [                                                          |
|       | **AgencyIntegrationPortType**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) |
|       |   in                                                         |
|       | Operation [**GetApplication**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0268DC10) |
|       |                                                              |
|       |   ---                                                        |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:message name=\"GetApplicationRequestMessage\"\>       |
| ource |                                                              |
|       | \<wsdl:part name=\"Grants_govTrackingNumber\"                |
|       | ref=\"footer:Grants_govTrackingNumber\"/\>                   |
|       |                                                              |
|       | \</wsdl:message\>                                            |
+-------+--------------------------------------------------------------+

**message** GetApplicationResponseMessage

+-------+--------------------------------------------------------------+
| parts | +---------------------------------------------------------+  |
|       | | ReturnedApplication                                     |  |
|       | +---------------------------------------------------------+  |
|       | |   ------ ---------------------------------------------- |  |
|       | |   type                                                  |  |
|       | |                                                         |  |
|       | |   ------ ---------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ---                                                        |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   PortType                                                   |
|       |   [                                                          |
|       | **AgencyIntegrationPortType**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) |
|       |   in                                                         |
|       | Operation [**GetApplication**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0268DC10) |
|       |                                                              |
|       |   ---                                                        |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:message name=\"GetApplicationResponseMessage\"\>      |
| ource |                                                              |
|       | \<wsdl:part name=\"ReturnedApplication\"                     |
|       | ref=\"grant:GrantApplication\"/\>                            |
|       |                                                              |
|       | \</wsdl:message\>                                            |
+-------+--------------------------------------------------------------+

**message** ConfirmApplicationDeliveryRequestMessage

+-------+--------------------------------------------------------------+
| parts | +---------------------------------------------------------+  |
|       | | Grants_govTrackingNumber                                |  |
|       | +---------------------------------------------------------+  |
|       | |   ------ ---------------------------------------------- |  |
|       | |   type                                                  |  |
|       | |                                                         |  |
|       | |   ------ ---------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ----                                                       |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   PortType                                                   |
|       |   [**A                                                       |
|       | gencyIntegrationPortType**](../../../../../../../../D:/MyPro |
|       | jects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) in |
|       |   Operation                                                  |
|       |   [*                                                         |
|       | *ConfirmApplicationDelivery**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0337D198) |
|       |                                                              |
|       |   ----                                                       |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:message                                               |
| ource | name=\"ConfirmApplicationDeliveryRequestMessage\"\>          |
|       |                                                              |
|       | \<wsdl:part name=\"Grants_govTrackingNumber\"                |
|       | ref=\"footer:Grants_govTrackingNumber\"/\>                   |
|       |                                                              |
|       | \</wsdl:message\>                                            |
+-------+--------------------------------------------------------------+

**message** ConfirmApplicationDeliveryResponseMessage

+-------+--------------------------------------------------------------+
| parts | +---------------------------------------------------------+  |
|       | | Grants_govTrackingNumber                                |  |
|       | +---------------------------------------------------------+  |
|       | |   ------ ---------------------------------------------- |  |
|       | |   type                                                  |  |
|       | |                                                         |  |
|       | |   ------ ---------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
|       | | ResponseMessage                                         |  |
|       | +---------------------------------------------------------+  |
|       | |   ------ ---------------------------------------------- |  |
|       | |   type   **agis:ResponseMessageType**                   |  |
|       | |                                                         |  |
|       | |   ------ ---------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ----                                                       |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   PortType                                                   |
|       |   [**A                                                       |
|       | gencyIntegrationPortType**](../../../../../../../../D:/MyPro |
|       | jects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) in |
|       |   Operation                                                  |
|       |   [*                                                         |
|       | *ConfirmApplicationDelivery**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0337D198) |
|       |                                                              |
|       |   ----                                                       |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:message                                               |
| ource | name=\"ConfirmApplicationDeliveryResponseMessage\"\>         |
|       |                                                              |
|       | \<wsdl:part name=\"Grants_govTrackingNumber\"                |
|       | ref=\"footer:Grants_govTrackingNumberType\"/\>               |
|       |                                                              |
|       | \<wsdl:part name=\"ResponseMessage\"                         |
|       | type=\"agis:ResponseMessageType\"/\>                         |
|       |                                                              |
|       | \</wsdl:message\>                                            |
+-------+--------------------------------------------------------------+

**message** AssignAgencyTrackingNumberRequestMessage

+-------+--------------------------------------------------------------+
| parts | +---------------------------------------------------------+  |
|       | | AssignAgencyTrackingNumber                              |  |
|       | +---------------------------------------------------------+  |
|       | |   ------ ---------------------------------------------- |  |
|       | |   type   **agis:AssignAgencyTrackingNumberType**        |  |
|       | |                                                         |  |
|       | |   ------ ---------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ----                                                       |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   PortType                                                   |
|       |   [**A                                                       |
|       | gencyIntegrationPortType**](../../../../../../../../D:/MyPro |
|       | jects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) in |
|       |   Operation                                                  |
|       |   [*                                                         |
|       | *AssignAgencyTrackingNumber**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0403CBF0) |
|       |                                                              |
|       |   ----                                                       |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:message                                               |
| ource | name=\"AssignAgencyTrackingNumberRequestMessage\"\>          |
|       |                                                              |
|       | \<wsdl:part name=\"AssignAgencyTrackingNumber\"              |
|       | type=\"agis:AssignAgencyTrackingNumberType\"/\>              |
|       |                                                              |
|       | \</wsdl:message\>                                            |
+-------+--------------------------------------------------------------+

**message** AssignAgencyTrackingNumberResponseMessage

+-------+--------------------------------------------------------------+
| parts | +---------------------------------------------------------+  |
|       | | AssignAgencyTrackingNumberResponse                      |  |
|       | +---------------------------------------------------------+  |
|       | |   -                                                     |  |
|       | | ----- ------------------------------------------------- |  |
|       | |                                                         |  |
|       | |  type   **agis:AssignAgencyTrackingNumberResponseType** |  |
|       | |                                                         |  |
|       | |   -                                                     |  |
|       | | ----- ------------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ----                                                       |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   PortType                                                   |
|       |   [**A                                                       |
|       | gencyIntegrationPortType**](../../../../../../../../D:/MyPro |
|       | jects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) in |
|       |   Operation                                                  |
|       |   [*                                                         |
|       | *AssignAgencyTrackingNumber**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0403CBF0) |
|       |                                                              |
|       |   ----                                                       |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:message                                               |
| ource | name=\"AssignAgencyTrackingNumberResponseMessage\"\>         |
|       |                                                              |
|       | \<wsdl:part name=\"AssignAgencyTrackingNumberResponse\"      |
|       | type=\"agis:AssignAgencyTrackingNumberResponseType\"/\>      |
|       |                                                              |
|       | \</wsdl:message\>                                            |
+-------+--------------------------------------------------------------+

**message** NotifyApplicationAvailableMessage

+-------+--------------------------------------------------------------+
| parts | +---------------------------------------------------------+  |
|       | | NotifyApplicationAvailable                              |  |
|       | +---------------------------------------------------------+  |
|       | |   ------ ---------------------------------------------- |  |
|       | |   type   **agis:ApplicationInformationType**            |  |
|       | |                                                         |  |
|       | |   ------ ---------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ----                                                       |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   PortType                                                   |
|       |   [**A                                                       |
|       | gencyIntegrationPortType**](../../../../../../../../D:/MyPro |
|       | jects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) in |
|       |   Operation                                                  |
|       |   [*                                                         |
|       | *NotifyApplicationAvailable**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link034353A8) |
|       |                                                              |
|       |   ----                                                       |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:message name=\"NotifyApplicationAvailableMessage\"\>  |
| ource |                                                              |
|       | \<wsdl:part name=\"NotifyApplicationAvailable\"              |
|       | type=\"agis:ApplicationInformationType\"/\>                  |
|       |                                                              |
|       | \</wsdl:message\>                                            |
+-------+--------------------------------------------------------------+

**message** ErrorMessage

+-------+--------------------------------------------------------------+
| parts | +---------------------------------------------------------+  |
|       | | ErrorMessage                                            |  |
|       | +---------------------------------------------------------+  |
|       | |   ------ ---------------------------------------------- |  |
|       | |   type                                                  |  |
|       | |                                                         |  |
|       | |   ------ ---------------------------------------------- |  |
|       | +---------------------------------------------------------+  |
+-------+--------------------------------------------------------------+
| used  |   ----                                                       |
| by    | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
|       |   PortType                                                   |
|       |   [**A                                                       |
|       | gencyIntegrationPortType**](../../../../../../../../D:/MyPro |
|       | jects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) in |
|       |                                                              |
|       | Operation [**GetApplication**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0268DC10) |
|       |                                                              |
|       |   PortType                                                   |
|       |   [**A                                                       |
|       | gencyIntegrationPortType**](../../../../../../../../D:/MyPro |
|       | jects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) in |
|       |   Oper                                                       |
|       | ation [**GetApplicationList**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link040FDC10) |
|       |                                                              |
|       |   PortType                                                   |
|       |   [**A                                                       |
|       | gencyIntegrationPortType**](../../../../../../../../D:/MyPro |
|       | jects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) in |
|       |   Operation                                                  |
|       |   [*                                                         |
|       | *ConfirmApplicationDelivery**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0337D198) |
|       |                                                              |
|       |   PortType                                                   |
|       |   [**A                                                       |
|       | gencyIntegrationPortType**](../../../../../../../../D:/MyPro |
|       | jects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link03F7C9A8) in |
|       |   Operation                                                  |
|       |   [*                                                         |
|       | *AssignAgencyTrackingNumber**](../../../../../../../../D:/My |
|       | Projects/Grants_gov/XML%20Schema/temp/wsdl.doc#Link0403CBF0) |
|       |   ----                                                       |
|       | ------------------------------------------------------------ |
|       | ------------------------------------------------------------ |
+-------+--------------------------------------------------------------+
| s     | \<wsdl:message name=\"ErrorMessage\"\>                       |
| ource |                                                              |
|       | \<wsdl:part name=\"ErrorMessage\" ref=\"soap:fault\"/\>      |
|       |                                                              |
|       | \</wsdl:message\>                                            |
+-------+--------------------------------------------------------------+

### Sample SOAP Message with Attachment

The following is a sample code of Grants.gov message exchange web
services using SOAP with Attachments. The XML document that is
represents the application contains forms SF424 and one PDF attachment.
Please note that this is just a sample and does not represent the
complete code and attachment data.

\-\-\-\-\--=\_Part_19_5704740.1063741728366

Content-Type: text/xml

\<?xml version=\"1.0\" ?\>

\<SOAP-ENV:Envelope
xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"\>\<SOAP-ENV:Header/\>\<SOAP-ENV:Body\>

\<grantapplication:GrantApplication
xsi:schemaLocation=\"http://www.grants.gov/grantapplication\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xmlns:grantapplication=\"http://www.grants.gov/grantapplication\"
xmlns:core=\"http://www.grants.gov/core\"
xmlns:sf424=\"http://www.grants.gov/sf424\"
xmlns:sys=\"http://www.grants.gov/system\"
xmlns:glob=\"http://www.grants.gov/global\"
xmlns:sf424a=\"http://www.grants.gov/sf424a\"
xmlns:sf424b=\"http://www.grants.gov/sf424b\"
xmlns:sf424c=\"http://www.grants.gov/sf424c\"
xmlns:sf424d=\"http://www.grants.gov/sf424d\"\>

\<sys:GrantSubmissionHeader
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xmlns:sys=\"http://www.grants.gov/system\"
xmlns:glob=\"http://www.grants.gov/global\"
xsi:schemaLocation=\"http://www.grants.gov/header\"
glob:schemaVersion=\"1.0\"\>

\<glob:HashValue
glob:hashAlgorithm=\"kkt1ftf\"\>LS0tLS0tLS0t\</glob:HashValue\>

\<sys:AgencyName\>HHS\</sys:AgencyName\>

\<sys:CFDANumber\>93.051\</sys:CFDANumber\>

\<sys:ActivityTitle\>Alzheimers Disease Demonstration Grants to
States\</sys:ActivityTitle\>

\<sys:OpportunityID\>99\</sys:OpportunityID\>

\<sys:OpportunityTitle\>Test opp\</sys:OpportunityTitle\>

\<sys:OpeningDate\>2003-01-01\</sys:OpeningDate\>

\<sys:ClosingDate\>2003-12-31\</sys:ClosingDate\>

\<sys:SubmissionTitle\>Testing 3\</sys:SubmissionTitle\>

\</sys:GrantSubmissionHeader\>

\<sf424:AwardingAgencyGrantApplication
xmlns:fo=\"http://www.w3.org/1999/XSL/Format\"
xmlns:glob=\"http://www.grants.gov/global\"
xmlns:sf424=\"http://www.grants.gov/sf424\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=\"http://www.grants.gov/sf424/ SF424.xsd\"
glob:coreSchemaVersion=\"1.0\" glob:agencySchemaVersion=\"1.0\"\>

\<glob:FormVersionIdentifier\>04/03\</glob:FormVersionIdentifier\>

\<sf424:SubmissionTypeCode\>AN\</sf424:SubmissionTypeCode\>

\<sf424:SubmittedDate\>2003-07-01\</sf424:SubmittedDate\>

\<sf424:ApplicationTypeCode\>N\</sf424:ApplicationTypeCode\>

\<sf424:Revision\>

\<sf424:RevisionCode1\>A\</sf424:RevisionCode1\>

\<sf424:RevisionCode2\>A\</sf424:RevisionCode2\>

\<sf424:RevisionOtherExplanation\>Some
Explanation\</sf424:RevisionOtherExplanation\>

\</sf424:Revision\>

\<sf424:AgencyName\>NIH\</sf424:AgencyName\>

\<sf424:CFDANumber\>93.051\</sf424:CFDANumber\>

\<sf424:ActivityTitle\>Alzheimers Disease Demonstration Grants to
States\</sf424:ActivityTitle\>

\<sf424:SubmittingOrganization\>

\<sf424:OrganizationIdentifyingInformation\>

\<sf424:ApplicantTypeCode\>Individual\</sf424:ApplicantTypeCode\>

\<sf424:Organization\>

\<sf424:OrganizationName\>Testing\</sf424:OrganizationName\>

\<sf424:DUNSID\>00-000-0000\</sf424:DUNSID\>

\<sf424:EmployerID\>12-1231231\</sf424:EmployerID\>

\</sf424:Organization\>

\</sf424:OrganizationIdentifyingInformation\>

\<sf424:Address\>

\<sf424:Street\>Test\</sf424:Street\>

\<sf424:City\>Test\</sf424:City\>

\<sf424:County\>Test\</sf424:County\>

\<sf424:StateCode\>MO\</sf424:StateCode\>

\<sf424:ZipCode\>32112\</sf424:ZipCode\>

\</sf424:Address\>

\<sf424:DelinquentFederalDebtIndicator\>N\</sf424:DelinquentFederalDebtIndicator\>

\<sf424:CongressionalDistrict\>23123123123\</sf424:CongressionalDistrict\>

\</sf424:SubmittingOrganization\>

\<sf424:Project\>

\<sf424:ProjectTitle\>test\</sf424:ProjectTitle\>

\<sf424:Location\>test\</sf424:Location\>

\<sf424:ProposedStartDate\>2003-10-01\</sf424:ProposedStartDate\>

\<sf424:ProposedEndDate\>2004-09-30\</sf424:ProposedEndDate\>

\<sf424:CongressionalDistrict\>312123132132\</sf424:CongressionalDistrict\>

\</sf424:Project\>

\<sf424:Budget sf424:currencyCode=\"USD\"\>

\<sf424:FederalEstimatedAmount\>5000000\</sf424:FederalEstimatedAmount\>

\<sf424:ApplicantEstimatedAmount\>100\</sf424:ApplicantEstimatedAmount\>

\<sf424:StateEstimatedAmount\>1500000\</sf424:StateEstimatedAmount\>

\<sf424:LocalEstimatedAmount\>0\</sf424:LocalEstimatedAmount\>

\<sf424:OtherEstimatedAmount\>0\</sf424:OtherEstimatedAmount\>

\<sf424:ProgramIncomeEstimatedAmount\>0\</sf424:ProgramIncomeEstimatedAmount\>

\<sf424:TotalEstimatedAmount\>6500100\</sf424:TotalEstimatedAmount\>

\</sf424:Budget\>

\<sf424:Assurance\>N\</sf424:Assurance\>

\<sf424:Individual\>

\<sf424:Contact\>

\<sf424:GivenName1\>test\</sf424:GivenName1\>

\<sf424:FamilyName\>test\</sf424:FamilyName\>

\<sf424:TelephoneNumber\>(703) 555-5555\</sf424:TelephoneNumber\>

\<sf424:FaxNumber\>(703) 555-5555\</sf424:FaxNumber\>

\</sf424:Contact\>

\<sf424:AuthorizedRepresentative\>

\<sf424:GivenName1\>Milton\</sf424:GivenName1\>

\<sf424:FamilyName\>Waddams\</sf424:FamilyName\>

\<sf424:TelephoneNumber\>(703) 555-5555\</sf424:TelephoneNumber\>

\<sf424:RepresentativeTitle\>Software
Engineer\</sf424:RepresentativeTitle\>

\</sf424:AuthorizedRepresentative\>

\</sf424:Individual\>

\<sf424:StateReviewCode\>Not Reviewed\</sf424:StateReviewCode\>

\</sf424:AwardingAgencyGrantApplication\>

\<sf424a:BudgetInformation xmlns:glob=\"http://www.grants.gov/global\"
xmlns:sf424a=\"http://www.grants.gov/sf424a\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=\"http://www.grants.gov/sf424a SF424A.xsd\"
sf424a:programType=\"Non-Construction\" glob:coreSchemaVersion=\"1.0\"\>

\<glob:FormVersionIdentifier\>XXXX\</glob:FormVersionIdentifier\>

\<sf424a:BudgetSummary\>

\<sf424a:SummaryLineItem sf424a:activityTitle=\"activityTitle1\"\>

\<sf424a:CFDANumber\>93.051\</sf424a:CFDANumber\>

\<sf424a:BudgetFederalEstimatedUnobligatedAmount\>5000000.00\</sf424a:BudgetFederalEstimatedUnobligatedAmount\>

\<sf424a:BudgetNonFederalEstimatedUnobligatedAmount\>1500100.00\</sf424a:BudgetNonFederalEstimatedUnobligatedAmount\>

\<sf424a:BudgetTotalNewOrRevisedAmount\>6500100.00\</sf424a:BudgetTotalNewOrRevisedAmount\>

\</sf424a:SummaryLineItem\>

\<sf424a:SummaryLineItem sf424a:activityTitle=\"activityTitle2\"\>

\<sf424a:CFDANumber\>93.051\</sf424a:CFDANumber\>

\<sf424a:BudgetTotalNewOrRevisedAmount\>0.00\</sf424a:BudgetTotalNewOrRevisedAmount\>

\</sf424a:SummaryLineItem\>

\<sf424a:SummaryLineItem sf424a:activityTitle=\"activityTitle3\"\>

\<sf424a:CFDANumber\>93.051\</sf424a:CFDANumber\>

\<sf424a:BudgetTotalNewOrRevisedAmount\>0.00\</sf424a:BudgetTotalNewOrRevisedAmount\>

\</sf424a:SummaryLineItem\>

\<sf424a:SummaryLineItem sf424a:activityTitle=\"activityTitle4\"\>

\<sf424a:CFDANumber\>93.051\</sf424a:CFDANumber\>

\<sf424a:BudgetTotalNewOrRevisedAmount\>0.00\</sf424a:BudgetTotalNewOrRevisedAmount\>

\</sf424a:SummaryLineItem\>

\<sf424a:SummaryTotals\>

\<sf424a:BudgetFederalEstimatedUnobligatedAmount\>5000000.00\</sf424a:BudgetFederalEstimatedUnobligatedAmount\>

\<sf424a:BudgetNonFederalEstimatedUnobligatedAmount\>1500100.00\</sf424a:BudgetNonFederalEstimatedUnobligatedAmount\>

\<sf424a:BudgetFederalNewOrRevisedAmount\>0.00\</sf424a:BudgetFederalNewOrRevisedAmount\>

\<sf424a:BudgetNonFederalNewOrRevisedAmount\>0.00\</sf424a:BudgetNonFederalNewOrRevisedAmount\>

\<sf424a:BudgetTotalNewOrRevisedAmount\>6500100.00\</sf424a:BudgetTotalNewOrRevisedAmount\>

\</sf424a:SummaryTotals\>

\</sf424a:BudgetSummary\>

\<sf424a:BudgetCategories\>

\<sf424a:CategorySet sf424a:activityTitle=\"activityTitle5\"\>

\<sf424a:BudgetOtherRequestedAmount\>6500100.00\</sf424a:BudgetOtherRequestedAmount\>

\<sf424a:BudgetTotalDirectChargesAmount\>6500100.00\</sf424a:BudgetTotalDirectChargesAmount\>

\<sf424a:BudgetTotalAmount\>6500100.00\</sf424a:BudgetTotalAmount\>

\</sf424a:CategorySet\>

\<sf424a:CategorySet sf424a:activityTitle=\"activityTitle6\"\>

\<sf424a:BudgetTotalDirectChargesAmount\>0.00\</sf424a:BudgetTotalDirectChargesAmount\>

\<sf424a:BudgetTotalAmount\>0.00\</sf424a:BudgetTotalAmount\>

\</sf424a:CategorySet\>

\<sf424a:CategorySet sf424a:activityTitle=\"activityTitle7\"\>

\<sf424a:BudgetTotalDirectChargesAmount\>0.00\</sf424a:BudgetTotalDirectChargesAmount\>

\<sf424a:BudgetTotalAmount\>0.00\</sf424a:BudgetTotalAmount\>

\</sf424a:CategorySet\>

\<sf424a:CategorySet sf424a:activityTitle=\"activityTitle8\"\>

\<sf424a:BudgetTotalDirectChargesAmount\>0.00\</sf424a:BudgetTotalDirectChargesAmount\>

\<sf424a:BudgetTotalAmount\>0.00\</sf424a:BudgetTotalAmount\>

\</sf424a:CategorySet\>

\<sf424a:CategoryTotals\>

\<sf424a:BudgetPersonnelRequestedAmount\>0.00\</sf424a:BudgetPersonnelRequestedAmount\>

\<sf424a:BudgetFringeBenefitsRequestedAmount\>0.00\</sf424a:BudgetFringeBenefitsRequestedAmount\>

\<sf424a:BudgetTravelRequestedAmount\>0.00\</sf424a:BudgetTravelRequestedAmount\>

\<sf424a:BudgetEquipmentRequestedAmount\>0.00\</sf424a:BudgetEquipmentRequestedAmount\>

\<sf424a:BudgetSuppliesRequestedAmount\>0.00\</sf424a:BudgetSuppliesRequestedAmount\>

\<sf424a:BudgetContractualRequestedAmount\>0.00\</sf424a:BudgetContractualRequestedAmount\>

\<sf424a:BudgetConstructionRequestedAmount\>0.00\</sf424a:BudgetConstructionRequestedAmount\>

\<sf424a:BudgetOtherRequestedAmount\>6500100.00\</sf424a:BudgetOtherRequestedAmount\>

\<sf424a:BudgetTotalDirectChargesAmount\>6500100.00\</sf424a:BudgetTotalDirectChargesAmount\>

\<sf424a:BudgetIndirectChargesAmount\>0.00\</sf424a:BudgetIndirectChargesAmount\>

\<sf424a:BudgetTotalAmount\>6500100.00\</sf424a:BudgetTotalAmount\>

\<sf424a:ProgramIncomeAmount\>0.00\</sf424a:ProgramIncomeAmount\>

\</sf424a:CategoryTotals\>

\</sf424a:BudgetCategories\>

\<sf424a:NonFederalResources\>

\<sf424a:ResourceLineItem sf424a:activityTitle=\"activityTitle9\"\>

\</sf424a:ResourceLineItem\>

\<sf424a:ResourceLineItem sf424a:activityTitle=\"activityTitle10\"\>

\</sf424a:ResourceLineItem\>

\<sf424a:ResourceLineItem sf424a:activityTitle=\"activityTitle11\"\>

\</sf424a:ResourceLineItem\>

\<sf424a:ResourceLineItem sf424a:activityTitle=\"activityTitle12\"\>

\</sf424a:ResourceLineItem\>

\<sf424a:ResourceTotals\>

\</sf424a:ResourceTotals\>

\</sf424a:NonFederalResources\>

\<sf424a:BudgetForecastedCashNeeds\>

\<sf424a:BudgetFirstYearAmounts\>

\</sf424a:BudgetFirstYearAmounts\>

\<sf424a:BudgetFirstQuarterAmounts\>

\</sf424a:BudgetFirstQuarterAmounts\>

\<sf424a:BudgetSecondQuarterAmounts\>

\</sf424a:BudgetSecondQuarterAmounts\>

\<sf424a:BudgetThirdQuarterAmounts\>

\</sf424a:BudgetThirdQuarterAmounts\>

\<sf424a:BudgetFourthQuarterAmounts\>

\</sf424a:BudgetFourthQuarterAmounts\>

\</sf424a:BudgetForecastedCashNeeds\>

\<sf424a:FederalFundsNeeded\>

\<sf424a:FundsLineItem sf424a:activityTitle=\"activityTitle13\"\>

\</sf424a:FundsLineItem\>

\<sf424a:FundsLineItem sf424a:activityTitle=\"activityTitle14\"\>

\</sf424a:FundsLineItem\>

\<sf424a:FundsLineItem sf424a:activityTitle=\"activityTitle15\"\>

\</sf424a:FundsLineItem\>

\<sf424a:FundsLineItem sf424a:activityTitle=\"activityTitle16\"\>

\</sf424a:FundsLineItem\>

\<sf424a:FundsTotals\>

\</sf424a:FundsTotals\>

\</sf424a:FederalFundsNeeded\>

\<sf424a:OtherInformation\>

\</sf424a:OtherInformation\>

\</sf424a:BudgetInformation\>

\<sys:GrantSubmissionFooter
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xmlns:sys=\"http://www.grants.gov/system\"
xmlns:glob=\"http://www.grants.gov/global\"
xsi:schemaLocation=\"http://www.grants.gov/footer\"
glob:schemaVersion=\"1.0\"\>

\<glob:HashValue
glob:hashAlgorithm=\"kkt1ftf\"\>LS0tLS0tLS0t\</glob:HashValue\>

\<sys:ReceivedDateTime\>2003-06-26T17:02:30\</sys:ReceivedDateTime\>

\<sys:SubmitterName\>Northrop Grumman\</sys:SubmitterName\>

\<sys:Grants_govTrackingNumber\>GRANT00000053\</sys:Grants_govTrackingNumber\>

\</sys:GrantSubmissionFooter\>

\</grantapplication:GrantApplication\>

\</SOAP-ENV:Body\>\</SOAP-ENV:Envelope\>

\-\-\-\-\--=\_Part_19_5704740.1063741728366

Content-Type: application/pdf

Content-Id: Data_Binding_With_JAXB.pdf

Content-Location: Data_Binding_With_JAXB.pdf

%PDF-1.3 %ª«¬­4 0 obj \<\< /Type /Info /Producer (null) \>\> endobj5 0
obj \<\< /Length 700 /Filter /FlateDecode \>\> stream
xœíXßo›0\~ç¯ðÛZis±ÁüØÛº­S«UêT¦Uªúà€"°ÎŒÓ,ÿýœ@æ#0eš&EjQ\^ü¹;Ÿ¿Ïßyâœ\]xˆú(™:.š9¹æG
\]0Š‚8Â4ˆPR¢û"¤\\óSô††vÑÉ\$¯²¼šÙ

«\\Ï-ºzww\~Š‑Pre\\ƒ\[¿Í"{„¡  ˜ú­ù%jQi'
­k;ÎÄ"(äB¨oR=Ö¯í‹µ\\\*‹jƒRañT‚---3%¸¶P/µT9/jè\~¤"x8@Ç0‹‚&Î\|RâT--gÝ€Z­ç‡Éä\'çþÁ\|Ÿ¡Gl"Åˆ¢1/¸@Ä §ºu¾8çI"§![](media/image4.png){width="2.723611111111111in"
height="4.001388888888889in"}zo¾Ž\\LB¿qžðI V\'§vü\^šäU,

\<\< /Type /Page /Parent 1 0 R /MediaBox \[ 0 0 612 792 \] /Resources 3
0 R /Contents 5 0 R /Annots 7 0 R \>\> endobj7 0 obj

%%EOF

## Error handling

The errors that may be generated during a system-to-system message
exchange between Grants.gov and an Agency system will be of two types:

-   Those that would be generated by Grants.gov application namely
    InFlowSuite, and

-   Those that would be generated during the message exchange between
    systems.

In both instances SOAP Fault element will handle the transport of error
messages.

The application-related errors occur when Grants.gov cannot fulfill a
request from an Agency system. For example, when an Agency system sends
a request in form of G*etApplication* function through a SOAP exchange,
it would need to provide a valid Grants.gov Tracking Number. If the
tracking number is incorrect, or there are no applications associated
with that tracking number, the InFlowSuite would generate an error code
for that incident. The error code would then be associated with a
message, which will then be transported via SOAP Fault element to the
agency system.

In the case of system-to-system message exchange, an error could occur
when a message cannot reach its destination. An example of that would be
interruption in network, issue with the message structure, or message
load, etc. In these instances, web services will generate an error
relevant to the incident and SOAP Fault element will transport the
message to the agency system, if it can be delivered.

### SOAP Fault Structure

As stated above, SOAP Fault element is used to carry error and/or status
information within a SOAP message. If a Fault element is present, it
must appear as a child element of the Body element. A Fault element can
only appear once in a SOAP message.

The SOAP Fault element has the following sub elements:

  ----------------- -----------------------------------------------------
  **Sub Element**   **Description**

  \<faultcode\>     A code for identifying the fault

  \<faultstring\>   A human readable explanation of the fault

  \<faultactor\>    Information about who caused the fault to happen

  \<detail\>        Holds application specific error information related
                    to the Body element
  ----------------- -----------------------------------------------------

The code values defined below must be used in the faultcode element when
describing faults:

  ----------------- -----------------------------------------------------
  **Error**         **Description**

  VersionMismatch   Found an invalid namespace for the SOAP Envelope
                    element

  MustUnderstand    An immediate child element of the Header element,
                    with the mustUnderstand attribute set to \"1\", was
                    not understood

  Client            The message was incorrectly formed or contained
                    incorrect information

  Server            There was a problem with the server so the message
                    could not proceed
  ----------------- -----------------------------------------------------

### Error Codes and Messages

The following are the error codes and associated messages that will be
used in the system-to-system integration:

  ------------------ ----------------------------------------------------
  **Error Code**     Message

  01                 No Session

  02                 No User Certificate

  03                 No User ID (serial #) in Certificate

  04                 Invalid Certificate

  05                 Missing Agency Tracking Number

  06                 Missing Grants.gov Tracking Number

  07                 Missing User ID

  08                 Unable to Retrieve Application
  ------------------ ----------------------------------------------------

### Sample SOAP Fault Message

The following is a sample code of Grants.gov message exchange web
services using SOAP Fault with errors:

\<soap-env:Envelope
xmlns:soap-env=\"http://schemas.xmlsoap.org/soap/envelope/\"\>\<soap-env:Header\>\</soap-env:Header\>\<soap-env:Body\>\<soap-env:Fault\>\<faultcode\>Server\</faultcode\>\<faultstring\>Error
in processing or replying to a message:
javax.xml.bind.UnmarshalException: tag name
\"att:GrantsNarrativeExplanations\" is not allowed. Possible tag names
are:
&lt;Assurances&gt;,&lt;BudgetInformation&gt;,&lt;GrantSubmissionFooter&gt;

\- with linked exception:

\[com.sun.msv.verifier.ValidityViolation: tag name
\"att:GrantsNarrativeExplanations\" is not allowed. Possible tag names
are:
&lt;Assurances&gt;,&lt;BudgetInformation&gt;,&lt;GrantSubmissionFooter&gt;\]\</faultstring\>\</soap-env:Fault\>\</soap-env:Body\>\</soap-env:Envelope\>

# Web Services Security 

## Secure Socket Layer (SSL) and Digital Certificates

SSL is a commonly used protocol for managing the security of a message
transmission on the Internet. SSL contains its own server-side
authentication and an optional client authentication. SSL is a framework
that specifies how two hosts connect, pass certificate between one
another, negotiate which keys to use, and decide on an encryption
mechanism. At this time SSL is the de-facto standard for all
Internet-based secure communications.

SSL comes in two strengths, 40-bit and 128-bit, which refer to the
length of the \"session key\" generated by every encrypted transaction.
The longer the key, the more difficult it is to break the encryption
code. Most browsers support 40-bit SSL sessions, and the latest browsers
enable users to encrypt transactions in 128-bit sessions - trillions of
times stronger than 40-bit sessions.

The encryption technique or Cryptography is performed in two ways:
symmetric and asymmetric. In symmetric cryptography, the sender and the
receiver share the same secret (key) about the information that is sent
between them. In asymmetric cryptography, the sender and the receiver
have different secrets (keys).

When HTTP is passed over the SSL infrastructure, HTTP can use all
features of SSL. This combination of HTTP and SSL is commonly used for
secure Internet systems and it is referred to as HTTPS.

SSL is normally used in tandem with a Digital Certificate. This means
that it uses a third party, a Certification Authority (CA), to identify
one end or both ends of the transactions. Digital certificates are
electronic files that are used to uniquely identify people and resources
over the Internet. They contain information about who owns the
certificate as well as information about the issuing certificate
authority. It also provides a legal basis to perform transactions on the
Internet.

Virtually all web servers and the leading browsers, including Internet
Explorer and Netscape Communicator, are optimized and ready for SSL. To
activate SSL sessions a digital certificate is required.

## Agency System to Grants.gov Authentication

Grants.gov will utilize SSL with digital certificate to authenticate
Agency systems. To do so, Grants.gov will install a server certificate
and Agency systems will install client certificates. The certificates
will be used during the authentication process to establish an SSL
connection between Agency systems and Grants.gov. The following are the
requirements for authenticating with Grants.gov:

-   Registration of Agency system with Grants.gov as part of their
    Profile Set up with the following information:

    -   Name and Telephone Number of Agency Point of Contact

    -   Information included in the client Digital Certificate to
        include certificate serial number, agency name, and
        certification authority. This certificate must be installed on
        the registered server. All the information on the installed
        certificate will subsequently be sent to Grants.gov via any
        https:// call.

-   Installation of a separate certificate on Grants.gov. The
    information on the certificate will be sent to the agency system
    during the authentication process via https://.

To establish a secure layer between an agency system and Grants.gov, the
following will occur:

-   Agency sends a request via an https:// call to Grants.gov web server
    that would include a copy of its certificate.

-   Grants.gov validates the agency certificate serial number against
    the information in the agency profile. It also checks the valid
    period and the CA of the certificate. If validation fails, the SSL
    will not be established, otherwise, the following steps will occur.

    -   Grants.gov web server presents the Agency with its certificate
        and sends certificate's public key.

    -   If the Agency accepts the certificate, it uses the public key to
        encrypt the data it is about to send.

    -   Grants.gov using its own certificate private key decrypts the
        sent encrypted data and a secure connection will be established.
        The subsequent request/response message exchanges occur over the
        secure socket.

Once the authentication step is completed and a secure connection is
established, the Grants.gov system conducts an internal authorization
process to ensure that the requesting Agency is allowed to retrieve the
requested application in form of an XML document.

## Grants.gov to Agency System Authentication

The question regarding Grants.gov authentication to agency systems
arises when Grants.gov notifies an agency system of the availability of
their submitted applications through the *NotifyApplicationAvailable*
function. Since the messages that are sent by Grants.gov to Agency
systems are informational in nature and non-sensitive, and agency
systems are required to authenticate to Grants.gov each time they
request a service, it appears that Grants.gov to Agency system
authentication serves no purpose and is unnecessary.

# Acronyms

[]{#__RefHeading___Toc51574070 .anchor}Table 4‑2. Acronyms/Definitions

  ------------------- ---------------------------------------------------
  **Acronym**         **Definition**

  API                 Application Program(ming) Interface

  CA                  Certification Authority

  CRL                 Certificate Revocation List

  GUI                 Graphical User Interface

  HTTP                Hyper Text Transfer Protocol

  HTTPS               Hyper Text Transfer Protocol Secure Sockets

  IT                  Information Technology

  JAXM                Java API for XML Messaging

  MIME                Multipurpose Internet Mail Extensions

  PDF                 Portable Document Format

  POC                 Point of Contact

  SOAP                Simple Object Access Protocol

  SSL                 Secure Socket Layer

  SwA                 SOAP with Attachment

  URL                 Uniform Resource Locator

  WSDL                Web Services Description Language

  XML                 eXtensible Markup Language
  ------------------- ---------------------------------------------------

A.  []{#__RefHeading___Toc51574033 .anchor}Agency Integration WSDL

The following is the Agency Integration Web Services Description
Language (WSDL):

\<wsdl:definitions xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\"
xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\"
xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\"
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\"
xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\"
xmlns:agis=\"http://apps.grants.gov/WebServices/AgencyIntegrationServices-V1.0\"
xmlns:grant=\"http://apps.grants.gov/system/MetaGrantApplication-V1.0\"
xmlns:globLib=\"http://apps.grants.gov/system/GlobalLibrary-V1.0\"
xmlns:header=\"http://apps.grants.gov/system/Header-V1.0\"
xmlns:footer=\"http://apps.grants.gov/system/Footer-V1.0\"
targetNamespace=\"http://apps.grants.gov/WebServices/AgencyIntegrationServices-V1.0\"
name=\"AgencyIntegrationServices\" version=\"1.0\"\>

\<wsdl:types\>

\<xsd:schema
targetNamespace=\"http://apps.grants.gov/WebServices/AgencyIntegrationServices-V1.0\"\>

\<xsd:import namespace=\"http://apps.grants.gov/system/Header-V1.0\"
schemaLocation=\"http://apps.grants.gov/system/Header-V1.0.xsd\"/\>

\<xsd:import namespace=\"http://apps.grants.gov/system/Footer-V1.0\"
schemaLocation=\"http://apps.grants.gov/system/Footer-V1.0.xsd\"/\>

\<xsd:import
namespace=\"http://apps.grants.gov/system/GlobalLibrary-V1.0\"
schemaLocation=\"http://apps.grants.gov/system/GlobalLibrary-V1.0.xsd\"/\>

\<xsd:import
namespace=\"http://apps.grants.gov/system/MetaGrantApplication-V1.0\"
schemaLocation=\"http://apps.grants.gov/system/MetaGrantApplication-V1.0.xsd\"/\>

\<xsd:simpleType name=\"FilterType\"\>

\<xsd:restriction base=\"xsd:string\"\>

\<xsd:enumeration value=\"Status\"/\>

\<!\-- the valid values for \"Status\" will be either \"Pending
Download\", \"Downloaded\" or \"Agency Assigned Tracking Number\", any
other values will be fault\--\>

\<xsd:enumeration value=\"OpportunityID\"/\>

\<xsd:enumeration value=\"CFDANumber\"/\>

\</xsd:restriction\>

\</xsd:simpleType\>

\<xsd:complexType name=\"ApplicationFilterTypeList\"\>

\<xsd:sequence\>

\<xsd:element name=\"ApplicationFilter\"
type=\"agis:ApplicationFilterType\" minOccurs=\"0\"
maxOccurs=\"unbounded\"\>

\<!\-- if there is no filter, it will return the list of ALL the
applications \--\>

\<xsd:unique name=\"filter\"\>

\<xsd:selector xpath=\"./ApplicationFilter/FilterType\"/\>

\</xsd:unique\>

\</xsd:element\>

\</xsd:sequence\>

\</xsd:complexType\>

\<xsd:complexType name=\"ApplicationFilterType\"\>

\<xsd:all\>

\<xsd:element name=\"Filter\" type=\"agis:FilterType\"/\>

\<xsd:element name=\"FilterValue\" type=\"xsd:string\"/\>

\</xsd:all\>

\</xsd:complexType\>

\<xsd:simpleType name=\"GrantsGovApplicationStatusType\"\>

\<xsd:restriction base=\"xsd:string\"\>

\<xsd:enumeration value=\"Pending Download\"/\>

\<xsd:enumeration value=\"Downloaded\"/\>

\<xsd:enumeration value=\"Agency Assigned Tracking Number\"/\>

\</xsd:restriction\>

\</xsd:simpleType\>

\<xsd:complexType name=\"ApplicationListType\"\>

\<xsd:sequence\>

\<xsd:element name=\"AvailableApplicationNumber\" type=\"xsd:int\"/\>

\<xsd:element name=\"ApplicationInformation\"
type=\"agis:ApplicationInformationType\" minOccurs=\"0\"
maxOccurs=\"unbounded\"/\>

\</xsd:sequence\>

\</xsd:complexType\>

\<xsd:complexType name=\"ApplicationInformationType\"\>

\<xsd:all\>

\<xsd:element ref=\"header:OpportunityID\" minOccurs=\"0\"/\>

\<xsd:element ref=\"header:CompetitionID\" minOccurs=\"0\"/\>

\<xsd:element ref=\"header:CFDANumber\" minOccurs=\"0\"/\>

\<xsd:element ref=\"footer:Grants_govTrackingNumber\"/\>

\<xsd:element ref=\"footer:ReceivedDateTime\" minOccurs=\"0\"/\>

\<xsd:element name=\"Grants_GovApplicationStatus\"
type=\"agis:GrantsGovApplicationStatusType\"/\>

\</xsd:all\>

\</xsd:complexType\>

\<xsd:complexType name=\"ConfirmApplicationDeliveryType\"\>

\<xsd:all\>

\<xsd:element ref=\"footer:Grants_govTrackingNumber\"/\>

\<xsd:element name=\"ConfirmationResponseMessage\"
type=\"agis:ResponseMessageType\"/\>

\</xsd:all\>

\</xsd:complexType\>

\<xsd:complexType name=\"AssignAgencyTrackingNumberType\"\>

\<xsd:all\>

\<xsd:element ref=\"footer:Grants_govTrackingNumber\"/\>

\<xsd:element ref=\"agis:AgencyTrackingNumber\"/\>

\</xsd:all\>

\</xsd:complexType\>

\<xsd:complexType name=\"AssignAgencyTrackingNumberResponseType\"\>

\<xsd:sequence\>

\<xsd:element ref=\"footer:Grants_govTrackingNumber\"/\>

\<xsd:element name=\"AssignAgencyTrackingNumberResponseMessage\"
type=\"agis:ResponseMessageType\"/\>

\</xsd:sequence\>

\</xsd:complexType\>

\<xsd:element name=\"AgencyTrackingNumber\" type=\"xsd:string\"/\>

\<xsd:simpleType name=\"ResponseMessageType\"\>

\<xsd:restriction base=\"xsd:string\"\>

\<xsd:enumeration value=\"Succeed\"/\>

\<xsd:enumeration value=\"Failed\"/\>

\</xsd:restriction\>

\</xsd:simpleType\>

\</xsd:schema\>

\</wsdl:types\>

\<wsdl:message name=\"GetApplicationListRequestMessage\"\>

\<wsdl:part name=\"ApplicationListFilters\"
type=\"agis:ApplicationFilterTypeList\"/\>

\</wsdl:message\>

\<wsdl:message name=\"GetApplicationListResponseMessage\"\>

\<wsdl:part name=\"ReturnedApplicationList\"
type=\"agis:ApplicationListType\"/\>

\</wsdl:message\>

\<wsdl:message name=\"GetApplicationRequestMessage\"\>

\<wsdl:part name=\"Grants_govTrackingNumber\"
ref=\"footer:Grants_govTrackingNumber\"/\>

\</wsdl:message\>

\<wsdl:message name=\"GetApplicationResponseMessage\"\>

\<wsdl:part name=\"ReturnedApplication\"
ref=\"grant:GrantApplication\"/\>

\</wsdl:message\>

\<wsdl:message name=\"ConfirmApplicationDeliveryRequestMessage\"\>

\<wsdl:part name=\"Grants_govTrackingNumber\"
ref=\"footer:Grants_govTrackingNumber\"/\>

\</wsdl:message\>

\<wsdl:message name=\"ConfirmApplicationDeliveryResponseMessage\"\>

\<wsdl:part name=\"Grants_govTrackingNumber\"
ref=\"footer:Grants_govTrackingNumberType\"/\>

\<wsdl:part name=\"ResponseMessage\"
type=\"agis:ResponseMessageType\"/\>

\</wsdl:message\>

\<wsdl:message name=\"AssignAgencyTrackingNumberRequestMessage\"\>

\<wsdl:part name=\"AssignAgencyTrackingNumber\"
type=\"agis:AssignAgencyTrackingNumberType\"/\>

\</wsdl:message\>

\<wsdl:message name=\"AssignAgencyTrackingNumberResponseMessage\"\>

\<wsdl:part name=\"AssignAgencyTrackingNumberResponse\"
type=\"agis:AssignAgencyTrackingNumberResponseType\"/\>

\</wsdl:message\>

\<wsdl:message name=\"NotifyApplicationAvailableMessage\"\>

\<wsdl:part name=\"NotifyApplicationAvailable\"
type=\"agis:ApplicationInformationType\"/\>

\</wsdl:message\>

\<wsdl:message name=\"ErrorMessage\"\>

\<wsdl:part name=\"ErrorMessage\" ref=\"soap:fault\"/\>

\</wsdl:message\>

\<wsdl:portType name=\"AgencyIntegrationPortType\"\>

\<wsdl:operation name=\"GetApplication\"\>

\<wsdl:input message=\"agis:GetApplicationRequestMessage\"/\>

\<wsdl:output message=\"agis:GetApplicationResponseMessage\"/\>

\<wsdl:fault name=\"GetApplicationErrorMessage\"
message=\"agis:ErrorMessage\"/\>

\</wsdl:operation\>

\<wsdl:operation name=\"GetApplicationList\"\>

\<wsdl:input message=\"agis:GetApplicationListRequestMessage\"/\>

\<wsdl:output message=\"agis:GetApplicationListResponseMessage\"/\>

\<wsdl:fault name=\"GetApplicationListErrorMessage\"
message=\"agis:ErrorMessage\"/\>

\</wsdl:operation\>

\<wsdl:operation name=\"ConfirmApplicationDelivery\"\>

\<wsdl:input
message=\"agis:ConfirmApplicationDeliveryRequestMessage\"/\>

\<wsdl:output
message=\"agis:ConfirmApplicationDeliveryResponseMessage\"/\>

\<wsdl:fault name=\"ConfirmApplicationDeliveryErrorMessage\"
message=\"agis:ErrorMessage\"/\>

\</wsdl:operation\>

\<wsdl:operation name=\"AssignAgencyTrackingNumber\"\>

\<wsdl:input
message=\"agis:AssignAgencyTrackingNumberRequestMessage\"/\>

\<wsdl:output
message=\"agis:AssignAgencyTrackingNumberResponseMessage\"/\>

\<wsdl:fault name=\"AssignAgencyTrackingNumberErrorMessage\"
message=\"agis:ErrorMessage\"/\>

\</wsdl:operation\>

\<wsdl:operation name=\"NotifyApplicationAvailable\"\>

\<wsdl:output message=\"agis:NotifyApplicationAvailableMessage\"/\>

\</wsdl:operation\>

\</wsdl:portType\>

\<wsdl:binding name=\"AgencyIntegrationSoapBinding\"
type=\"agis:AgencyIntegrationPortType\"\>

\<soap:binding style=\"document\"
transport=\"http://schemas.xmlsoap.org/soap/http\"/\>

\<wsdl:operation name=\"GetApplication\"\>

\<soap:operation
soapAction=\"https://ws.grants.gov/AgencyIntegration/GetApplication\"
style=\"document\"/\>

\<wsdl:input\>

\<soap:body use=\"literal\"/\>

\</wsdl:input\>

\<wsdl:output\>

\<soap:body use=\"literal\"/\>

\</wsdl:output\>

\<wsdl:fault name=\"GetApplicationErrorMessage\"\>

\<soap:body use=\"literal\"/\>

\</wsdl:fault\>

\</wsdl:operation\>

\<wsdl:operation name=\"GetApplicationList\"\>

\<soap:operation
soapAction=\"https://ws.grants.gov/AgencyIntegration/GetApplicationList\"
style=\"document\"/\>

\<wsdl:input\>

\<soap:body use=\"literal\"/\>

\</wsdl:input\>

\<wsdl:output\>

\<soap:body use=\"literal\"/\>

\</wsdl:output\>

\<wsdl:fault name=\"GetApplicationListErrorMessage\"\>

\<soap:body use=\"literal\"/\>

\</wsdl:fault\>

\</wsdl:operation\>

\<wsdl:operation name=\"ConfirmApplicationDelivery\"\>

\<soap:operation
soapAction=\"https://ws.grants.gov/AgencyIntegration/ConfirmApplicationDelivery\"
style=\"document\"/\>

\<wsdl:input\>

\<soap:body use=\"literal\"/\>

\</wsdl:input\>

\<wsdl:output\>

\<soap:body use=\"literal\"/\>

\</wsdl:output\>

\<wsdl:fault name=\"ConfirmApplicationDeliveryErrorMessage\"\>

\<soap:body use=\"literal\"/\>

\</wsdl:fault\>

\</wsdl:operation\>

\<wsdl:operation name=\"AssignAgencyTrackingNumber\"\>

\<soap:operation
soapAction=\"https://ws.grants.gov/AgencyIntegration/AssignAgencyTrackingNumber\"
style=\"document\"/\>

\<wsdl:input\>

\<soap:body use=\"literal\"/\>

\</wsdl:input\>

\<wsdl:output\>

\<soap:body use=\"literal\"/\>

\</wsdl:output\>

\<wsdl:fault name=\"AssignAgencyTrackingNumberErrorMessage\"\>

\<soap:body use=\"literal\"/\>

\</wsdl:fault\>

\</wsdl:operation\>

\<wsdl:operation name=\"NotifyApplicationAvailable\"\>

\<soap:operation
soapAction=\"https://ws.grants.gov/AgencyIntegration/NotifyApplicationAvailable\"
style=\"document\"/\>

\<wsdl:output\>

\<soap:body use=\"literal\"/\>

\</wsdl:output\>

\</wsdl:operation\>

\</wsdl:binding\>

\<wsdl:service name=\"AgencyIntegrationServices\"\>

\<wsdl:port name=\"AgencyIntegrationSoapPort\"
binding=\"agis:AgencyIntegrationSoapBinding\"\>

\<soap:address location=\"https://ws.grants.gov/AgencyIntegration\"/\>

\</wsdl:port\>

\</wsdl:service\>

\</wsdl:definitions\>

[^1]: http://www.w3.org/TR/SOAP-attachments