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.
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.
Initialize the FetchIpamIPAddressResponse.FetchIpamIPAddressResult to an empty collection.
Validate that the input FetchIpamIPAddress.address is usable, as follows. Otherwise an appropriate SOAP fault MUST be returned.
The FetchIpamIPAddress.address MUST a valid IPv4 or IPv6 address
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
The IPv6 address MUST NOT be one of the following:
::0
::1
IPv6 Link local address
IPv6 Site local address
IPv6 Multicast address
If the addressfamily of FetchIpamIPAddress.address is not equal to FetchIpamIPAddress.addressFamily, an appropriate SOAP fault MUST be returned.
Enumerate the rows in ADM_IPAddressTable where IPAddress is same as FetchIpamIPAddress.address.
For each row found above:
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.
If the result addresses is obtained, add it to the FetchIpamIPAddressResponse.FetchIpamIPAddressResult.