GetUserProfileByName サービスを使用して、AD からユーザーの詳細を取得しようとしているだけです。このために、javascript を使用することにしました。少しの調査とかなりの調整を行った後、なんとか Web サービスに接続し、データを正常に取得することができました。
必要な特定の値を取得するために、単純な if ステートメントを使用してプロパティの「名前」を比較しました。
if(xmlDoc.getElementsByTagName("Name")[i].childNodes[0].nodeValue == "Department")
{
property = xmlDoc.getElementsByTagName("Value")[i].childNodes[0].nodeValue;
}
この時点で、いくつかの不一致に気付き始めました。比較で指定したプロパティを取得していないようです。たとえば、「Department」を指定すると、メールが返されます。多くの苦労の末、最終的にすべての「名前」フィールドと「値」フィールドを比較せずに2つの配列にドロップし、それらを並べて表示することにしました。
for(i = 0; i < 13 ; i++)
{
description[i] = xmlDoc.getElementsByTagName("Name")[i].childNodes[0].nodeValue;
elements[i] = xmlDoc.getElementsByTagName("Value")[i].childNodes[0].nodeValue;
}
ここから得た結論は、2 つのフィールドが明らかに一致しないということでした。
UserProfile_GUID: 65f017dc-b892-4afa-8730-5e8f73aa7b86
AccountName: CAPETOWN\ANEL5
FirstName: Abraham
SPS-PhoneticFirstName: Nel
LastName: Abraham Nel
SPS-PhoneticLastName: 021 ### ####
PreferredName: CRS - Info Sys & Tech
SPS- PhoneticDisplayName: Contractor
WorkPhone: Contractor
Department: ANEL5
Title: CN=Abraham Nel,OU=Standard,OU=Users,OU=End-User Services,DC=###,DC=###,DC=###
SPS-役職: ###@###.###
マネージャー:ケープタウン シビック センター ポディウム ブロック
なぜこれが起こっているのでしょうか?
XML ドキュメント全体を文字列に解析しようとした結果:
falsefalseUserProfile_GUIDNotSetb21ec99c-2ad9-40a8-9d45-a3273c92ee5afalsefalseAccountNameNotSetCAPETOWN\AHEYNESfalsefalseFirstNameNotSetAshleyfalsefalseSPS-PhoneticFirstNameNotSetfalsefalseLastNameNotSetHeynesfalsefalseSPS-PhoneticLastNameNotSetfalsefalsePreferredNameNotSetAshley HeynesfalsefalseSPS-PhoneticDisplayNameNotSetfalsefalseWorkPhoneNotSet021 400 ####falsefalseDepartmentNotSetCRS - Info Sys &TechfalsefalseTitleNotSetAssistant Professional OfficerfalsefalseSPS-JobTitleNotSetAssistant ProfessionalOfficerfalsefalseManagerNotSetCAPETOWN\DSISSINGfalsefalseAboutMeNotSetfalsefalsePersonalSpaceNotSetfalsefalsePictureURLNotSetfalsefalseUserNameNotSetAHEYNESfalsefalseQuickLinksNotSetfalsefalseWebSiteNotSetfalsefalsePublicSiteRedirectNotSetfalsefalseSPS-Dotted-lineNotSetfalsefalseSPS-PeersNotSetfalsefalseSPS-ResponsibilityNotSetfalsefalseSPS-SipAddressNotSetfalsefalseSPS-MySiteUpgradeNotSetfalsefalseSPS-ProxyAddressesNotSetfalsefalseSPS-HireDateNotSetfalsefalseSPS-DisplayOrderNotSetfalsefalseSPS-ClaimIDNotSetfalsefalseSPS-ClaimProviderIDNotSetfalsefalseSPS-ClaimProviderTypeNotSetfalsefalseSPS-SavedAccountNameNotSetfalsefalseSPS-ResourceAccountNameNotSetfalsefalseSPS-ObjectExistsNotSetfalsefalseSPS-MasterAccountNameNotSetfalsefalseSPS-DistinguishedNameNotSetCN=Ashley Heynes,OU=Developers,OU=Users,OU =エンドユーザー サービス,DC=##,DC=##,DC=##falsefalseSPS-SourceObjectDNNotSetfalsefalseWorkEmailNotSet##.##@##.##.##falsefalseCellPhoneNotSetfalsefalseFaxNotSetfalsefalseOfficeNotSetCape Town Paul Sauer BuildingfalsefalseSPS-LocationNotSetfalsefalseSPS-TimeZoneNotSetfalsefalseAssistantNotSetfalsefalseSPS-PastProjectsNotSetfalsefalseSPS-SkillsNotSetfalsefalseSPS-SchoolNotSetfalsefalseSPS-BirthdayNotSetfalsefalseSPS-StatusNotesNotSetfalsefalseSPS-InterestsNotSetfalsefalseSPS-EmailOptinNotSet##falsefalseCellPhoneNotSetfalsefalseFaxNotSetfalsefalseOfficeNotSetCape Town Paul Sauer BuildingfalsefalseSPS-LocationNotSetfalsefalseSPS-TimeZoneNotSetfalsefalseAssistantNotSetfalsefalseSPS-PastProjectsNotSetfalsefalseSPS-SkillsNotSetfalsefalseSPS-SchoolNotSetfalsefalseSPS-BirthdayNotSetfalsefalseSPS-StatusNotesNotSetfalsefalseSPS-InterestsNotSetfalsefalseSPS-EmailOptinNotSet##falsefalseCellPhoneNotSetfalsefalseFaxNotSetfalsefalseOfficeNotSetCape Town Paul Sauer BuildingfalsefalseSPS-LocationNotSetfalsefalseSPS-TimeZoneNotSetfalsefalseAssistantNotSetfalsefalseSPS-PastProjectsNotSetfalsefalseSPS-SkillsNotSetfalsefalseSPS-SchoolNotSetfalsefalseSPS-BirthdayNotSetfalsefalseSPS-StatusNotesNotSetfalsefalseSPS-InterestsNotSetfalsefalseSPS-EmailOptinNotSet