Codeunit 5321 "Exchange Web Services Server"
Base Application · System.Integration
Across versions
- BC23-24present
- BC251 procedures changed, 1 procedures added
- BC26-27unchanged
- BC285 procedures changed, 1 procedures removed
- BC29-30unchanged
Neighbourhood 7 connected objects and pages
Base Application · System.Integration · BC23-30 · source at ea08af5e · facts from BC29
Events published
OnBeforeSaveHTMLEmailToInbox(var EmailSubject: Text; var EmailBodyHTML: Text; var SenderAddress: Text; var SenderName: Text; var RecipientAddress: Text)(integration)OnBeforeSendEmailMessageWithAttachment(var Subject: Text; var RecipientAddress: Text; var BodyHTML: Text; var SenderAddress: Text)(integration)OnAfterGetProdEndpoint(var ProdEndPointText: Text)(integration)
Procedures
Initialize(AutodiscoveryEmail: Text[250]; ServiceUri: Text; Credentials: DotNet ExchangeCredentials; Rediscover: Boolean): BooleanInitializeAndValidate(AutodiscoveryEmail: Text[250]; var ServiceUri: Text; Credentials: DotNet ExchangeCredentials): BooleanInitialize2010(AutodiscoveryEmail: Text[250]; ServiceUri: Text; Credentials: DotNet ExchangeCredentials; Rediscover: Boolean): BooleanInitialize2010WithUserImpersonation(AutodiscoveryEmail: Text[250]; ServiceUri: Text; Credentials: DotNet ExchangeCredentials; Rediscover: Boolean): BooleanInitializeWithCertificate(ApplicationID: Guid; Thumbprint: Text[40]; AuthenticationEndpoint: Text[250]; ExchangeEndpoint: Text[250]; ResourceUri: Text[250])InitializeWithOAuthToken(Token: SecretText; ExchangeEndpoint: Text)Δ BC25 + BC25 − BC28ValidCredentials()SetImpersonatedIdentity(Email: Text[250])InstallApp(ManifestPath: InStream)CreateAppointment(var Appointment: DotNet IAppointment)SendEmailMessageWithAttachment(Subject: Text; RecipientAddress: Text; BodyHTML: Text; AttachmentPath: Text; SenderAddress: Text)SaveEmailToInbox(EmailMessage: Text)SaveHTMLEmailToInbox(EmailSubject: Text; EmailBodyHTML: Text; SenderAddress: Text; SenderName: Text; RecipientAddress: Text)GetEmailFolder(FolderId: Text; var Folder: DotNet IEmailFolder): BooleanIdenticalMailExists(SampleMessage: DotNet IEmailMessage; TargetFolder: DotNet IEmailFolder; var TargetMessage: DotNet IEmailMessage): BooleanCompareEmailAttachments(LeftMsg: DotNet IEmailMessage; RightMsg: DotNet IEmailMessage): BooleanGetEmailAndAttachments(ItemID: Text[250]; var TempExchangeObject: Record "Exchange Object" temporary; Action: Option InitiateSendToOCR,InitiateSendToIncomingDocuments,InitiateSendToWorkFlow,IntiateSendToAttachments; RecRef: RecordRef)Δ BC28 (obsolete 28.0: Please use Microsoft Graph API instead e.gEmail - Outlook REST API)GetEmailBody(ItemID: Text[250]): TextΔ BC28 (obsolete 28.0: Please use Microsoft Graph API instead e.gEmail - Outlook REST API)EmailHasAttachments(ItemID: Text[250]): BooleanΔ BC28 (obsolete 28.0: Please use Microsoft Graph API instead e.gEmail - Outlook REST API)GetEndpoint(): TextProdEndpoint(): TextIsDefaultProdEndpoint(Endpoint: Text): BooleanGetCurrentUserTimeZone(): Text
Plus 4 local procedures.
Triggers
OnRun
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 6300 “Azure AD Mgt.” (1 call:
InitializeWithOAuthToken → CreateExchangeServiceWrapperWithToken) - Codeunit 6303 “Azure AD Auth Flow” (1 call:
ValidCredentials → CanHandle)
Called by
- Codeunit 5323 “Exchange Add-in Setup” (10 calls:
DeployAddin → InstallApp,DeploySampleEmails → SaveHTMLEmailToInbox,ImpersonateUser → SetImpersonatedIdentity, …) - Codeunit 5052 “AttachmentManagement” (6 calls:
InitializeExchangeWithToken → GetEndpoint,InitializeExchangeWithToken → InitializeWithCertificate,InitializeExchangeWithToken → InitializeWithOAuthToken, …) - Table 5080 “To-do” (6 calls:
Initialize → GetEndpoint,Initialize → InitializeWithCertificate,Initialize → InitializeWithOAuthToken, …) - Table 6700 “Exchange Sync” (2 calls:
GetExchangeEndpoint → GetEndpoint,GetExchangeEndpoint → IsDefaultProdEndpoint) - Codeunit 6700 “O365 Sync. Management” (1 call:
ValidateExchangeConnection → InitializeAndValidate)
Deprecations
- procedure EmailHasAttachments: Pending 28.0 (#if not CLEAN28), “Please use Microsoft Graph API instead e.g
Email - Outlook REST API” - procedure GetEmailAndAttachments: Pending 28.0 (#if not CLEAN28), “Please use Microsoft Graph API instead e.g
Email - Outlook REST API” - procedure GetEmailBody: Pending 28.0 (#if not CLEAN28), “Please use Microsoft Graph API instead e.g
Email - Outlook REST API” - procedure TryEmailHasAttachments: Pending 28.0 (#if not CLEAN28), “Please use Microsoft Graph API instead e.g
Email - Outlook REST API” - procedure TryGetEmailWithAttachments: Pending 28.0 (#if not CLEAN28), “Please use Microsoft Graph API instead e.g
Email - Outlook REST API”
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Exchange Web Services Server"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.