Адепты 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>
Кто знает как работать с пакетным префиксом? Как его правильно задать?
Адепты Metadata API просвятите меня в такой мелочи. Всю голову сломал уже. Хочу через Metadata API создать Email Service. Вот запрос [code] <?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> [/code] Он отрабатывает. НО вот мне не дает покоя <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> Кто знает как работать с пакетным префиксом? Как его правильно задать?