4.3 Enumerating the Address Ranges
This section captures the enumeration sequence between the client and server for enumerating the address ranges.
The following is the SOAP message request for enumerating all the address ranges.
-
<s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:Header> <a:Action s:mustUnderstand="1">http://Microsoft.Windows.Ipam/IIpamEnumerator/InitializeEnumeration</a:Action> <a:MessageID>urn:uuid:33923ed6-9a09-4c54-bd39-4e7b13f370e8</a:MessageID> <a:ReplyTo> <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address> </a:ReplyTo> </s:Header> <s:Body> <InitializeEnumeration xmlns="http://Microsoft.Windows.Ipam"> <parameters xmlns:i="http://www.w3.org/2001/XMLSchema-instance" i:type="IPRangeRootEnumerationParameters"> <ObjectType>IPRange</ObjectType> <AddressCategory i:nil="true" /> <AddressFamily>InterNetwork</AddressFamily> </parameters> </InitializeEnumeration> </s:Body> </s:Envelope>
The following is the SOAP response to the above request denoting the successful processing of the request.
-
<s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:Header> <a:Action s:mustUnderstand="1">http://Microsoft.Windows.Ipam/IIpamEnumerator/InitializeEnumerationResponse</a:Action> <a:RelatesTo>urn:uuid:33923ed6-9a09-4c54-bd39-4e7b13f370e8</a:RelatesTo> <a:To s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/anonymous</a:To> </s:Header> <s:Body> <InitializeEnumerationResponse xmlns="http://Microsoft.Windows.Ipam"></InitializeEnumerationResponse> </s:Body> </s:Envelope> The client sends the following message to start the enumeration. <s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:Header> <a:Action s:mustUnderstand="1">http://Microsoft.Windows.Ipam/IIpamEnumerator/StartEnumeration</a:Action> </s:Header> <s:Body> <StartEnumeration xmlns="http://Microsoft.Windows.Ipam" /> </s:Body> </s:Envelope>
The server sends the following message to denote the start of the enumeration.
-
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"> <s:Header> <a:Action s:mustUnderstand="1">http://Microsoft.Windows.Ipam/IIpamEnumerator/NotifyEnumerationStart</a:Action> <a:To s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/anonymous</a:To> </s:Header> <s:Body> <NotifyEnumerationStart xmlns="http://Microsoft.Windows.Ipam"></NotifyEnumerationStart> </s:Body> </s:Envelope>
The following is the EnumeratedRowsCallback message generated by the server to pass the requested data to the client.
-
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"> <s:Header> <a:Action s:mustUnderstand="1">http://Microsoft.Windows.Ipam/IIpamEnumerator/EnumeratedRowsCallback</a:Action> <a:To s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/anonymous</a:To> </s:Header> <s:Body> <EnumeratedRowsCallback xmlns="http://Microsoft.Windows.Ipam"> <data xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <IpamObject z:Id="i1" i:type="IPv4Range" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/"> <ModifiedProperties i:nil="true" xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"></ModifiedProperties> <SetProperties i:nil="true" xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"></SetProperties> <AddressAssignment>Static</AddressAssignment> <AddressCategory>Private</AddressCategory> <CustomFieldValues> <CustomFieldValue z:Id="i2"> <ModifiedProperties xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <b:string>ParentCustomFieldRecordId</b:string> <b:string>ParentCustomFieldName</b:string> <b:string>ParentCustomFieldNumber</b:string> <b:string>Value</b:string> </ModifiedProperties> <SetProperties xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <b:string>ParentCustomFieldRecordId</b:string> <b:string>ParentCustomFieldName</b:string> <b:string>ParentCustomFieldNumber</b:string> <b:string>Value</b:string> </SetProperties> <BuiltInCustomFieldValueId>1</BuiltInCustomFieldValueId> <ParentCustomFieldName>Region</ParentCustomFieldName> <ParentCustomFieldNumber>2</ParentCustomFieldNumber> <ParentCustomFieldRecordId>2</ParentCustomFieldRecordId> <RecordId>6</RecordId> <Value>Asia</Value> </CustomFieldValue> <CustomFieldValue z:Id="i3"> <ModifiedProperties xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <b:string>ParentCustomFieldRecordId</b:string> <b:string>ParentCustomFieldName</b:string> <b:string>ParentCustomFieldNumber</b:string> <b:string>Value</b:string> </ModifiedProperties> <SetProperties xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <b:string>ParentCustomFieldRecordId</b:string> <b:string>ParentCustomFieldName</b:string> <b:string>ParentCustomFieldNumber</b:string> <b:string>Value</b:string> </SetProperties> <BuiltInCustomFieldValueId>1</BuiltInCustomFieldValueId> <ParentCustomFieldName>Managed by Service</ParentCustomFieldName> <ParentCustomFieldNumber>8</ParentCustomFieldNumber> <ParentCustomFieldRecordId>8</ParentCustomFieldRecordId> <RecordId>298</RecordId> <Value>IPAM</Value> </CustomFieldValue> <CustomFieldValue z:Id="i4"> <ModifiedProperties xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <b:string>ParentCustomFieldRecordId</b:string> <b:string>ParentCustomFieldName</b:string> <b:string>ParentCustomFieldNumber</b:string> <b:string>Value</b:string> </ModifiedProperties> <SetProperties xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <b:string>ParentCustomFieldRecordId</b:string> <b:string>ParentCustomFieldName</b:string> <b:string>ParentCustomFieldNumber</b:string> <b:string>Value</b:string> </SetProperties> <BuiltInCustomFieldValueId>1</BuiltInCustomFieldValueId> <ParentCustomFieldName>Service Instance</ParentCustomFieldName> <ParentCustomFieldNumber>9</ParentCustomFieldNumber> <ParentCustomFieldRecordId>9</ParentCustomFieldRecordId> <RecordId>303</RecordId> <Value>Localhost</Value> </CustomFieldValue> </CustomFieldValues> <DefaultGateway i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System.Net"></DefaultGateway> <Description i:nil="true"></Description> <DhcpScopeName i:nil="true"></DhcpScopeName> <DhcpServerGuid i:nil="true"></DhcpServerGuid> <DhcpServerName i:nil="true"></DhcpServerName> <EndIPAddress xmlns:b="http://schemas.datacontract.org/2004/07/System.Net"> <b:m_Address>4261521600</b:m_Address> <b:m_Family>InterNetwork</b:m_Family> <b:m_HashCode>0</b:m_HashCode> <b:m_Numbers xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> </b:m_Numbers> <b:m_ScopeId>0</b:m_ScopeId> </EndIPAddress> <ExclusionRanges></ExclusionRanges> <IsOverlapping>false</IsOverlapping> <LastAssignedDate i:nil="true"></LastAssignedDate> <LastChangeDate>2012-01-10T02:05:54.8438966</LastChangeDate> <LastReclaimRuntime i:nil="true"></LastReclaimRuntime> <NumberOfChildAddresses>0</NumberOfChildAddresses> <Owner i:nil="true"></Owner> <ParentIPBlockRecordId i:nil="true"></ParentIPBlockRecordId> <PartialCustomFieldValues> <CustomFieldPartialValue> <ParentCustomFieldId>2</ParentCustomFieldId> <ParentCustomFieldType>Multivalued</ParentCustomFieldType> <Value>Asia</Value> <ValueId>6</ValueId> </CustomFieldPartialValue> <CustomFieldPartialValue> <ParentCustomFieldId>8</ParentCustomFieldId> <ParentCustomFieldType>Multivalued</ParentCustomFieldType> <Value>IPAM</Value> <ValueId>298</ValueId> </CustomFieldPartialValue> <CustomFieldPartialValue> <ParentCustomFieldId>9</ParentCustomFieldId> <ParentCustomFieldType>Multivalued</ParentCustomFieldType> <Value>Localhost</Value> <ValueId>303</ValueId> </CustomFieldPartialValue> </PartialCustomFieldValues> <PrefixLength>24</PrefixLength> <RecordId>451</RecordId> <ScopeRecordId i:nil="true"></ScopeRecordId> <StartIPAddress xmlns:b="http://schemas.datacontract.org/2004/07/System.Net"> <b:m_Address>16885952</b:m_Address> <b:m_Family>InterNetwork</b:m_Family> <b:m_HashCode>0</b:m_HashCode> <b:m_Numbers xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> </b:m_Numbers> <b:m_ScopeId>0</b:m_ScopeId> </StartIPAddress> <SubnetId xmlns:b="http://schemas.datacontract.org/2004/07/System.Net"> <b:m_Address>108736</b:m_Address> <b:m_Family>InterNetwork</b:m_Family> <b:m_HashCode>0</b:m_HashCode> <b:m_Numbers xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> </b:m_Numbers> <b:m_ScopeId>0</b:m_ScopeId> </SubnetId> <SubnetMask xmlns:b="http://schemas.datacontract.org/2004/07/System.Net"> <b:m_Address>16777215</b:m_Address> <b:m_Family>InterNetwork</b:m_Family> <b:m_HashCode>0</b:m_HashCode> <b:m_Numbers xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> <c:unsignedShort>0</c:unsignedShort> </b:m_Numbers> <b:m_ScopeId>0</b:m_ScopeId> </SubnetMask> <UtilizationCalculationType>Auto</UtilizationCalculationType> <UtilizationEventLogStatus>None</UtilizationEventLogStatus> <UtilizationStatistics z:Id="i5" i:type="IPv4Utilization"> <EndTime i:nil="true"></EndTime> <IsValid>true</IsValid> <StartTime i:nil="true"></StartTime> <TotalAssignedAddresses>0</TotalAssignedAddresses> <TotalAvailableAddresses>0</TotalAvailableAddresses> <TotalUtilizedAddresses>0</TotalUtilizedAddresses> </UtilizationStatistics> </IpamObject> </data> </EnumeratedRowsCallback> </s:Body> </s:Envelope>
The following is the enumeration completion notification by the server to the client.
-
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"> <s:Header> <a:Action s:mustUnderstand="1">http://Microsoft.Windows.Ipam/IIpamEnumerator/NotifyEnumerationComplete</a:Action> <a:To s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/anonymous</a:To> </s:Header> <s:Body> <NotifyEnumerationComplete xmlns="http://Microsoft.Windows.Ipam"> <result i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"></result> <exception i:nil="true" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"></exception> </NotifyEnumerationComplete> </s:Body> </s:Envelope>