Адепты Metadata API просвятите меня в такой мелочи. Всю голову сломал уже.
Хочу через Metadata API создать Email Service.
Вот запрос
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
<SessionHeader xmlns="http://soap.sforce.com/2006/04/metadata">
<sessionId>ХХХХХХХХХХХХХХХХ</sessionId>
</SessionHeader>
</env:Header>
<env:Body>
<createMetadata xmlns="http://soap.sforce.com/2006/04/metadata">
<metadata xsi:type="EmailServicesFunction">
<fullName>Doom3</fullName>
<apexClass>ErrorEmailHandler</apexClass>
<attachmentOption>0</attachmentOption>
<authenticationFailureAction>2</authenticationFailureAction>
<authorizationFailureAction>2</authorizationFailureAction>
<functionInactiveAction>2</functionInactiveAction>
<functionName>Doom3</functionName>
<isActive>true</isActive>
<isAuthenticationRequired>false</isAuthenticationRequired>
<isErrorRoutingEnabled>false</isErrorRoutingEnabled>
<isTextAttachmentsAsBinary>false</isTextAttachmentsAsBinary>
<isTlsRequired>false</isTlsRequired>
<overLimitAction>2</overLimitAction>
</metadata>
</createMetadata>
</env:Body>
</env:Envelope>
Он отрабатывает.
НО вот мне не дает покоя
<apexClass>ErrorEmailHandler</apexClass>
Тут надо указывать имя Apex класса. НО почему его можно только указать в виде имени? Дело в том что у меня пакет и предполагается что должен быть еще package prefix.
Пробую делать так:
- pprefix__ErrorEmailHandler
- pprefix.ErrorEmailHandler
- 01p6F00000BB1mUQAT (предполагаю что ApexClass ID тоже должен приниматься)
и нифуя!
ответ везде один
<message>An Apex Class must be specified when creating an Email Service.</message>
Кто знает как работать с пакетным префиксом? Как его правильно задать?