Microsoft.Protocols.TestSuites.MS_OXCMAPIHTTP.GetAddressBookUrlResponseBody.Parse C# (CSharp) Method

Parse() public static method

Parse the GetAddressBookUrl request type response body.
public static Parse ( byte rawData ) : GetAddressBookUrlResponseBody
rawData byte The raw data of response.
return GetAddressBookUrlResponseBody
        public static GetAddressBookUrlResponseBody Parse(byte[] rawData)
        {
            GetAddressBookUrlResponseBody responseBody = new GetAddressBookUrlResponseBody();
            int index = 0;
            responseBody.StatusCode = BitConverter.ToUInt32(rawData, index);
            index += 4;
            responseBody.ErrorCode = BitConverter.ToUInt32(rawData, index);
            index += 4;

            // The length in bytes of the Unicode string to parse
            int strBytesLen = 0;

            // Find the string with '\0''\0' end
            for (int i = index; i < rawData.Length; i += 2)
            {
                strBytesLen += 2;
                if ((rawData[i] == 0) && (rawData[i + 1] == 0))
                {
                    break;
                }
            }

            byte[] serverUrlBuffer = new byte[strBytesLen];
            Array.Copy(rawData, index, serverUrlBuffer, 0, strBytesLen);
            index += strBytesLen;
            responseBody.ServerUrl = Encoding.Unicode.GetString(serverUrlBuffer);
            responseBody.AuxiliaryBufferSize = BitConverter.ToUInt32(rawData, index);
            index += 4;
            responseBody.AuxiliaryBuffer = new byte[responseBody.AuxiliaryBufferSize];
            Array.Copy(rawData, index, responseBody.AuxiliaryBuffer, 0, responseBody.AuxiliaryBufferSize);
            return responseBody;
        }
    }

Usage Example

        /// <summary>
        /// This method is used by the client to get the URL of the specified address book server endpoint.
        /// </summary>
        /// <param name="getAddressBookUrlRequestBody">The GetAddressBookUrl request type request body.</param>
        /// <returns>The response body of GetAddressBookUrl request type.</returns>
        public GetAddressBookUrlResponseBody GetAddressBookUrl(GetAddressBookUrlRequestBody getAddressBookUrlRequestBody)
        {
            CommonResponse commonResponse = this.SendAddressBookRequest(getAddressBookUrlRequestBody, RequestType.GetAddressBookUrl, cookieChange: false);
            GetAddressBookUrlResponseBody getAddressBookUrlResponseBody = GetAddressBookUrlResponseBody.Parse(commonResponse.ResponseBodyRawData);

            this.VerifyGetAddressBookUrlResponseBody(getAddressBookUrlResponseBody);

            return(getAddressBookUrlResponseBody);
        }
GetAddressBookUrlResponseBody