Digital - AIM | NOTAM WFS
Release 1.0
FNS Distribution Service (In Demo)Register for service
FNS distribution service currently in demo is implemented according to OGC's WFS v2.0.0 specification, with filtering via the FES v2.0.0 specification. This provides a standard interface over which NOTAM data can be disseminated. Currently two output formats are supported:
        a) AIXM 5.1 using the AIXMBasicMessage and the
        b) FNS customized XML for FNS Mobile applications
Capabilities
The GetCapabilities document can be retrieved through WFS SOAP Request.
Output Formats
As specified in the specification, multiple formats are supported by this service. The default output format is for FNS mobile applications using a customized XML. By setting the 'OUTPUTFORMAT' to "application/aixm+xml; version=5.1", data in AIXM 5.1 AIXMBasicMessage can be obtained.
Request Methods and Encoding
The FNS WFS v2.0.0 services could be accessed through HTTP SOAP interface.
The URL for the WSDL is http://notamdemo.aim.nas.faa.gov/notamWFSservices/NOTAMDistributionService?wsdl. In order to use this service, you need to first register an account following this link. Then, you need to provide user name and password in the SOAP header as specified in the OASIS WS-Security Core Specification 1.1. The examples below would also show you how to construct the proper SOAP security header.
These examples of the FNS distribution service (demonstration) are provided for technical informational purposes only. Additional information will be provided on agreements regarding the use and availability of the NOTAM data. At that time, access to account registration to the distribution web service will also be made available.
Example 1: Get all NOTAMs for airport ACY (Click to expand/collapse)
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:fes="http://www.opengis.net/fes/2.0">
    <soapenv:Header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:Security>
             <wsse:UsernameToken>
                 <wsse:Username>username</wsse:Username>
                 <wsse:Password>password</wsse:Password>
             </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
         <wfs:GetFeature service="WFS" version="2.0.0" resultType="results" outputFormat="application/aixm+xml; version=5.1">
             <wfs:Query typeNames="">
                 <fes:Filter>
                     <fes:Function name="SearchByDesignator">
                         <fes:Literal>ACY</fes:Literal>
                     </fes:Function>
                 </fes:Filter>
             </wfs:Query>
         </wfs:GetFeature>
     </soapenv:Body>
</soapenv:Envelope>
Example 2: Free Text Search on text 'CLOSURE' (Click to expand/collapse)
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:fes="http://www.opengis.net/fes/2.0">
    <soapenv:Header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:Security>
             <wsse:UsernameToken>
                 <wsse:Username>username</wsse:Username>
                 <wsse:Password>password</wsse:Password>
             </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
         <wfs:GetFeature service="WFS" version="2.0.0" resultType="results" outputFormat="application/aixm+xml; version=5.1">
             <wfs:Query typeNames="">
                 <fes:Filter>
                     <fes:Function name="FreeTextSearch">
                         <fes:Literal>CLOSURE</fes:Literal>
                     </fes:Function>
                 </fes:Filter>
             </wfs:Query>
         </wfs:GetFeature>
     </soapenv:Body>
</soapenv:Envelope>
Example 3: Geographic Search 100 NM around lat/long 40/-75 (Click to expand/collapse)
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:fes="http://www.opengis.net/fes/2.0">
    <soapenv:Header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:Security>
             <wsse:UsernameToken>
                 <wsse:Username>username</wsse:Username>
                 <wsse:Password>password</wsse:Password>
             </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
         <wfs:GetFeature service="WFS" version="2.0.0" resultType="results" outputFormat="application/aixm+xml; version=5.1">
             <wfs:Query typeNames="">
                 <fes:Filter>
                    <fes:Function name="SearchByLatLong">
                         <fes:Literal>40 -75</fes:Literal>
                         <fes:Literal>100</fes:Literal>
                     </fes:Function>
                 </fes:Filter>
             </wfs:Query>
         </wfs:GetFeature>
     </soapenv:Body>
</soapenv:Envelope>
Example 4: Get a specific NOTAM by providing FNS transaction ID '3480809' (Click to expand/collapse)
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:fes="http://www.opengis.net/fes/2.0">
    <soapenv:Header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:Security>
             <wsse:UsernameToken>
                 <wsse:Username>username</wsse:Username>
                 <wsse:Password>password</wsse:Password>
             </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
         <wfs:GetFeature service="WFS" version="2.0.0" resultType="results" outputFormat="application/aixm+xml; version=5.1">
             <wfs:Query typeNames="">
                 <fes:Filter>
                    <fes:ResourceId rid="3480809"/>
                 </fes:Filter>
             </wfs:Query>
         </wfs:GetFeature>
     </soapenv:Body>
</soapenv:Envelope>
Example 5: Get a specific NOTAM by providing FNS location and NOTAM number (Click to expand/collapse)
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:fes="http://www.opengis.net/fes/2.0">
    <soapenv:Header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:Security>
             <wsse:UsernameToken>
                 <wsse:Username>username</wsse:Username>
                 <wsse:Password>password</wsse:Password>
             </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
         <wfs:GetFeature service="WFS" version="2.0.0" resultType="results" outputFormat="application/aixm+xml; version=5.1">
             <wfs:Query typeNames="">
                 <fes:Filter>
                     <fes:Function name="SearchByDesignator">
                         <fes:Literal>ACY</fes:Literal>
                         <fes:Literal>09/014</fes:Literal>
                     </fes:Function>
                 </fes:Filter>
             </wfs:Query>
         </wfs:GetFeature>
     </soapenv:Body>
</soapenv:Envelope>
Example 6: Bulk Request, get all the active NOTAMs for Domestic NOTAM type (Click to expand/collapse)
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:fes="http://www.opengis.net/fes/2.0">
    <soapenv:Header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:Security>
             <wsse:UsernameToken>
                 <wsse:Username>username</wsse:Username>
                 <wsse:Password>password</wsse:Password>
             </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
         <wfs:GetFeature service="WFS" version="2.0.0" resultType="results" outputFormat="application/aixm+xml; version=5.1">
             <wfs:Query typeNames="">
                 <fes:Filter >
                    <fes:Function name="BulkRequest">
                         <fes:Literal>Domestic NOTAM</fes:Literal>
                     </fes:Function>
                 </fes:Filter>
             </wfs:Query>
         </wfs:GetFeature>
     </soapenv:Body>
</soapenv:Envelope>
Example 7: Delta Request, get all the active and canceled NOTAMs updated after June 5, 2012 (Click to expand/collapse)
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:fes="http://www.opengis.net/fes/2.0">
    <soapenv:Header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:Security>
             <wsse:UsernameToken>
                 <wsse:Username>username</wsse:Username>
                 <wsse:Password>password</wsse:Password>
             </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
         <wfs:GetFeature service="WFS" version="2.0.0" resultType="results" outputFormat="application/aixm+xml; version=5.1">
             <wfs:Query typeNames="">
                 <fes:Filter>
                    <fes:Function name="SearchByLastUpdateDate">
                         <fes:Literal>2012-06-05T00:00:00</fes:Literal>
                     </fes:Function>
                 </fes:Filter>
             </wfs:Query>
         </wfs:GetFeature>
     </soapenv:Body>
</soapenv:Envelope>
Example 8: Search By Accountability, get all the active NOTAMs of accountability KADW (Click to expand/collapse)
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:fes="http://www.opengis.net/fes/2.0">
    <soapenv:Header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:Security>
             <wsse:UsernameToken>
                 <wsse:Username>username</wsse:Username>
                 <wsse:Password>password</wsse:Password>
             </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
         <wfs:GetFeature service="WFS" version="2.0.0" resultType="results" outputFormat="application/aixm+xml; version=5.1">
             <wfs:Query typeNames="">
                 <fes:Filter>
                    <fes:Function name="SearchByAccountability">
                         <fes:Literal>KADW</fes:Literal>
                     </fes:Function>
                 </fes:Filter>
             </wfs:Query>
         </wfs:GetFeature>
     </soapenv:Body>
</soapenv:Envelope>