3.3.4.23 FetchIpamIPAddress

This operation is used to get the IpamIPAddress data having the specified record identifier from IPAM data store.

 <wsdl:operation name="FetchIpamIPAddress">
   <wsdl:input wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/FetchIpamIPAddress" message="ipam:IIpamServer_FetchIpamIPAddress_InputMessage" />
   <wsdl:output wsaw:Action="http://Microsoft.Windows.Ipam/IIpamServer/FetchIpamIPAddressResponse" message="ipam:IIpamServer_FetchIpamIPAddress_OutputMessage" />
 </wsdl:operation>

Upon receiving the IIpamServer_FetchIpamIPAddress_InputMessage request message, the server performs the following processing steps. Upon successful completion of the steps specified below, the server MUST respond with the IIpamServer_FetchIpamIPAddress_OutputMessage message. In the event of a failure, an appropriate SOAP fault MUST be sent to the client as specified in section 2.2.2.1.

  1. If the FetchIpamIPAddress.addressFamily is Internet, the rest of the processing is done with the IPv4-specific tables. The FetchIpamIPAddressResponse. FetchIpamIPAddressResult will be composed of a collection of IpamIPv4Address. Otherwise IPv6-specific tables are used for further processing. The FetchIpamIPAddressResponse.FetchIpamIPAddressResult will be composed of a collection of IpamIPv6Address.

  2. Initialize the FetchIpamIPAddressResponse.FetchIpamIPAddressResult to an empty collection.

  3. Validate that the input FetchIpamIPAddress.address is usable, as follows. Otherwise an appropriate SOAP fault MUST be returned.

    1. The FetchIpamIPAddress.address MUST a valid IPv4 or IPv6 address

    2. The IPv4 address MUST NOT fall within the following subnets. This is ascertained by checking the individual address octets of the IPv4 IP address:

      • 0/8 – First octet of the address MUST NOT be 0

      • 127/8 – First octet of the address MUST NOT be 127

      • 169.254/16 – First and second octet of the address MUST not be 169 and 254 respectively

      • 255.255.255.255 – All octext of the address MUST not be 255

    3. The IPv6 address MUST NOT be one of the following:

      • ::0

      • ::1

      • IPv6 Link local address

      • IPv6 Site local address

      • IPv6 Multicast address

  4. If the addressfamily of FetchIpamIPAddress.address is not equal to FetchIpamIPAddress.addressFamily, an appropriate SOAP fault MUST be returned.

  5. Enumerate the rows in ADM_IPAddressTable where IPAddress is same as FetchIpamIPAddress.address.

  6. For each row found above:

    1. Call the GetIPAddressFromTable procedure of ADM_IPAddressTable passing the recordId value as Param_id input parameter and FetchIpamIPAddress.addressFamily as the Param_addressfamily input parameter.

    2. If the result addresses is obtained, add it to the FetchIpamIPAddressResponse.FetchIpamIPAddressResult.