どうも、メタデータでの名前と通常目にするプロファイル名は違うみたいです。
#readMetadataが例外をスローしないのはなぜですか?
前の例では、readMetadata操作を使用しています。この操作に指定されたフルネームのいずれかが無効な場合(カスタムオブジェクトが存在しない場合など)、この操作は例外をスローしません。代わりに、空のレコードが返されます。たとえば、次の例は、無効なカスタムオブジェクトのフルネームを使用してもメタデータレコードが返されるが、フルネームがnullであることを示しています。したがって、ここでのアドバイスは、readMetadataから返された情報の内容を信頼する前に、FullNameがnullでないことを確認することです…
MetadataService.CustomObject customObject =
(MetadataService.CustomObject) service.readMetadata('CustomObject',
new String[] { 'DoesNotExist__c' }).getRecords()[0];
System.assertEquals(customObject.FullName, null);