以寫程式方式管理端點

本檔案中的範例和範例僅適用於JEE環境上的AEM Forms。

關於端點註冊表服務

Endpoint Registry服務提供以寫程式方式管理端點的功能。 例如,您可以將下列類型的端點新增至服務:

  • EJB
  • SOAP
  • 監看資料夾
  • 電子郵件
  • (AEM表單已淘汰)遠端
  • 任務管理員
注意

SOAP、EJB和(JEE上的AEM表單已棄用)會為每個已激活的服務自動建立遠程端點。 SOAP和EJB終結點為所有服務操作啟用SOAP和EJB。

遠端端點可讓Flex用戶端叫用端點已新增至之AEM Forms服務上的作業。 建立與端點同名的Flex目標,Flex客戶端可以建立指向此目標的RemoteObjects,以調用相關服務上的操作。

電子郵件、任務管理器和監視的資料夾端點僅顯示服務的特定操作。 添加這些端點需要第二個配置步驟來選擇調用方法、設定配置參數以及指定輸入和輸出參數映射。

您可以將TaskManager端點組織為名為​categories​的組。 然後,這些類別將通過TaskManager公開到Workspace中,最終用戶將按分類查看TaskManager端點。 在工作區中,一般使用者會在導覽窗格中看到這些類別。 每個類別中的端點會在工作區的「啟動程式」頁面上顯示為程式卡。

您可以使用Endpoint Registry服務完成以下任務:

添加EJB終結點

可以使用AEM Forms Java API以寫程式方式將EJB端點添加到服務中。 通過將EJB端點添加到服務中,可以使客戶端應用程式使用EJB模式調用該服務。 也就是說,在設定調用AEM Forms所需的連接屬性時,可以選擇EJB模式。 (請參閱設定連接屬性。)

注意

不能使用Web服務添加EJB終結點。

注意

通常,EJB端點預設會添加到服務中。但是,EJB端點可以添加到以寫程式方式部署的進程中,或者在刪除EJB端點時添加到該進程中,並且必須重新添加。

步驟的摘要

要將EJB端點添加到服務,請執行以下任務:

  1. 包含專案檔案。
  2. 建立EndpointRegistry Client物件。
  3. 設定EJB終結點屬性。
  4. 建立EJB終結點。
  5. 啟用端點。

包含項目檔案

在您的開發專案中加入必要的檔案。 必須將以下JAR檔案添加到項目的類路徑中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-utilities.jar(若AEM Forms部署在JBoss Application Server上則為必要)
  • jbossall-client.jar(若AEM Forms部署在JBoss Application Server上則為必要)

有關這些JAR檔案的位置的資訊,請參閱包括AEM Forms Java庫檔案

建立EndpointRegistry客戶端對象

必須先建立EndpointRegistryClient對象,才能以寫程式方式添加EJB端點。

設定EJB終結點屬性

要為服務建立EJB端點,請指定以下值:

  • 連接器識別碼:指定要建立的端點類型。要建立EJB端點,請指定EJB
  • 說明:指定端點說明。
  • 名稱:指定端點的名稱。
  • 服務識別碼:指定端點所屬的服務。
  • 操作名稱:指定使用端點調用的操作的名稱。建立EJB端點時,請指定通配符(*)。 但是,如果要指定特定操作而不是調用所有服務操作,請指定操作的名稱,而不是使用通配符(*)。

建立EJB終結點

設定EJB終結點屬性後,可以為服務建立EJB終結點。

啟用端點

建立新端點後,必須啟用它。 啟用端點後,即可用來叫用服務。 啟用端點後,您就可以在管理控制台中檢視它。

另請參閱

使用Java API添加EJB端點

包含AEM Forms Java程式庫檔案

設定連接屬性

使用Java API添加EJB終結點

使用Java API添加EJB端點:

  1. 包含專案檔案。

    在您Java專案的類別路徑中加入用戶端JAR檔案,例如adobe-livecycle-client.jar。 (

  2. 建立EndpointRegistry客戶端對象。

    • 建立包含連接屬性的ServiceClientFactory對象。
    • 使用其建構子並傳遞ServiceClientFactory物件,以建立EndpointRegistryClient物件。
  3. 設定EJB終結點屬性。

    • 使用其建構子建立CreateEndpointInfo物件。
    • 叫用CreateEndpointInfo物件的setConnectorId方法並傳遞字串值EJB,以指定連接器識別碼值。
    • 通過調用CreateEndpointInfo對象的setDescription方法並傳遞描述該端點的字串值來指定端點的說明。
    • 通過調用CreateEndpointInfo對象的setName方法並傳遞指定名稱的字串值來指定端點的名稱。
    • 通過調用CreateEndpointInfo對象的setServiceId方法並傳遞指定服務名的字串值,指定端點所屬的服務。
    • 指定通過調用CreateEndpointInfo對象的setOperationName方法調用的操作,並傳遞指定操作名的字串值。 對於SOAP和EJB端點,請指定通配符(*),表示所有操作。
  4. 建立EJB終結點。

    叫用EndpointRegistryClient物件的createEndpoint方法並傳遞CreateEndpointInfo物件,以建立端點。 此方法返回一個Endpoint對象,它表示新的EJB端點。

  5. 啟用端點。

    調用EndpointRegistryClient對象的enable方法並傳遞createEndpoint方法返回的Endpoint對象,以啟用端點。

另請參閱

步驟摘要

快速入門:使用Java API添加EJB端點

包含AEM Forms Java程式庫檔案

設定連接屬性

添加SOAP端點

您可以使用AEM Forms Java API以程式設計方式將SOAP端點新增至服務。 通過添加SOAP端點,可以使客戶端應用程式能夠使用SOAP模式調用服務。 也就是說,在設定調用AEM Forms所需的連接屬性時,可以選擇SOAP模式。

注意

不能使用Web服務添加SOAP端點。

注意

通常,SOAP端點預設會添加到服務中。但是,SOAP端點可以添加到以寫程式方式部署的進程中,或者在刪除SOAP端點時添加,並且必須重新添加。

步驟的摘要

要向服務添加SOAP端點,請執行以下任務:

  1. 包含專案檔案。
  2. 建立EndpointRegistryClient物件。
  3. 設定SOAP終結點屬性。
  4. 建立SOAP端點。
  5. 啟用端點。

包含項目檔案

在您的開發專案中加入必要的檔案。 如果您是使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請務必包含Proxy檔案。

必須將以下JAR檔案添加到項目的類路徑中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-utilities.jar(若AEM Forms部署在JBoss Application Server上則為必要)
  • jbossall-client.jar(若AEM Forms部署在JBoss Application Server上則為必要)

建立SOAP端點時需要這些JAR檔案。 但是,如果使用SOAP端點調用服務,則需要添加JAR檔案。 有關AEM Forms JAR檔案的資訊,請參閱包含AEM Forms Java庫檔案

建立EndpointRegistry客戶端對象

要以寫程式方式將SOAP端點添加到服務,必須建立EndpointRegistryClient對象。

設定SOAP終結點屬性

要向服務添加SOAP端點,請指定以下值:

  • 連接器識別碼值:指定要建立的端點類型。要建立SOAP端點,請指定SOAP
  • 說明:指定端點說明。
  • 名稱:指定端點名稱。
  • 服務標識符值:指定端點所屬的服務。
  • 操作名稱:指定使用端點調用的操作的名稱。建立SOAP端點時,請指定通配符(*)。 但是,如果要指定特定操作而不是調用所有服務操作,請指定操作的名稱,而不是使用通配符(*)。

建立SOAP端點

設定SOAP端點屬性後,可以建立SOAP端點。

啟用端點

建立新端點後,必須啟用它。 啟用端點時,可用來叫用服務。 啟用端點後,您就可以在管理控制台中查看它。

另請參閱

使用Java API添加SOAP端點

包含AEM Forms Java程式庫檔案

設定連接屬性

使用Java API添加SOAP端點

使用Java API將SOAP端點新增至服務:

  1. 包含專案檔案。

    在您Java專案的類別路徑中加入用戶端JAR檔案,例如adobe-livecycle-client.jar。

  2. 建立EndpointRegistry客戶端對象。

    • 建立包含連接屬性的ServiceClientFactory對象。
    • 使用其建構子並傳遞ServiceClientFactory物件,以建立EndpointRegistryClient物件。
  3. 設定SOAP終結點屬性。

    • 使用其建構子建立CreateEndpointInfo物件。
    • 叫用CreateEndpointInfo物件的setConnectorId方法並傳遞字串值SOAP,以指定連接器識別碼值。
    • 通過調用CreateEndpointInfo對象的setDescription方法並傳遞描述該端點的字串值來指定端點的說明。
    • 通過調用CreateEndpointInfo對象的setName方法並傳遞指定名稱的字串值來指定端點的名稱。
    • 通過調用CreateEndpointInfo對象的setServiceId方法並傳遞指定服務名的字串值,指定端點所屬的服務。
    • 指定通過調用CreateEndpointInfo對象的setOperationName方法並傳遞指定操作名稱的字串值來調用的操作。 對於SOAP和EJB端點,請指定通配符(*),表示所有操作。
  4. 建立SOAP端點。

    叫用EndpointRegistryClient物件的createEndpoint方法並傳遞CreateEndpointInfo物件,以建立端點。 此方法會傳回一個Endpoint物件,代表新的SOAP端點。

  5. 啟用端點。

    調用EndpointRegistryClient對象的enable方法並傳遞createEndpoint方法返回的Endpoint對象,以啟用端點。

另請參閱

步驟摘要

快速入門:使用Java API添加SOAP端點

包含AEM Forms Java程式庫檔案

設定連接屬性

添加監視的資料夾端點

您可以使用AEM Forms Java API以程式設計方式將「監看資料夾」端點新增至服務。 新增「監看資料夾」端點,可讓使用者將檔案(例如PDF檔案)放入資料夾。 將檔案放在資料夾中時,會叫用已設定的服務並處理檔案。 服務執行指定操作後,會將修改的檔案保存在指定的輸出資料夾中。 已設定以固定速率間隔或cron排程(例如每週一、週三和週五中午)掃描受監視的資料夾。

為了以寫程式方式將「監看資料夾」端點添加到服務中,請考慮以下名為​EncryptDocument​的短時進程。 (請參閱了解AEM Forms流程。)

aw_aw_encryptdocumentprocess

此過程接受不安全的PDF文檔作為輸入值,然後將不安全的PDF文檔傳遞到加密服務的EncryptPDFUsingPassword操作。 PDF檔案使用密碼加密,而密碼加密的PDF檔案是此程式的輸出值。 輸入值的名稱(不安全的PDF文檔)為InDoc,資料類型為com.adobe.idp.Document。 輸出值的名稱(密碼加密的PDF文檔)為SecuredDoc,資料類型為com.adobe.idp.Document

注意

無法使用Web服務添加「監視的資料夾」端點。

步驟的摘要

要將「監看資料夾」端點添加到服務,請執行以下任務:

  1. 包含專案檔案。
  2. 建立EndpointRegistryClient物件。
  3. 設定「監看資料夾」端點屬性。
  4. 指定配置值。
  5. 定義輸入參數值。
  6. 定義輸出參數值。
  7. 建立「監看資料夾」端點。
  8. 啟用端點。

包含項目檔案

在您的開發專案中加入必要的檔案。 如果您是使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請務必包含Proxy檔案。

必須將以下JAR檔案添加到項目的類路徑中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-utilities.jar(若AEM Forms部署在JBoss Application Server上則為必要)
  • jbossall-client.jar(若AEM Forms部署在JBoss Application Server上則為必要)

有關這些JAR檔案的位置的資訊,請參閱包括AEM Forms Java庫檔案

建立EndpointRegistry客戶端對象

若要以程式設計方式新增「監看資料夾」端點,您必須建立EndpointRegistryClient物件。

設定「監看資料夾」端點屬性

若要為服務建立「監看資料夾」端點,請指定以下值:

  • 連接器識別碼:指定所建立的端點類型。若要建立「監看資料夾」端點,請指定WatchedFolder
  • 說明:指定端點的說明。
  • 名稱:指定端點的名稱。
  • 服務識別碼:指定端點所屬的服務。例如,要將「監看資料夾」端點新增至本節中引入的程式(使用Workbench啟動的程式會變成服務),請指定EncryptDocument
  • 操作名稱:指定使用端點調用的操作的名稱。通常,為源自於Workbench中建立的程式的服務建立「監看資料夾」端點時,操作的名稱為invoke

指定配置值

以程式設計方式將「監看資料夾」端點新增至服務時,必須指定「監看資料夾」端點的設定值。 如果使用管理控制台添加了「監看資料夾」端點,管理員將指定這些配置值。

以下清單指定當以寫程式方式將Watched Folder端點添加到服務時設定的配置值:

  • url:指定已監視的資料夾位置。在群集環境中,此值必須指向可從群集中的每台電腦訪問的共用網路資料夾。
  • 非同步:將調用類型標識為非同步或同步。只能同步調用瞬態和同步進程。 預設值為true。 建議使用非同步。
  • cronExpression:由石英用於調度輸入目錄的輪詢。有關配置cron表達式的詳細資訊,請參閱https://quartz.sourceforge.net/javadoc/org/quartz/CronTrigger.html
  • purgeDuration:這是必填屬性。結果資料夾中的檔案和資料夾早於此值時將被清除。 此值以天計量。 此屬性有助於確保結果資料夾未滿。 值為–1天表示絕不刪除結果資料夾。 預設值為–1。
  • repeatInterval:掃描「觀看」資料夾以進行輸入的間隔(秒)。除非啟用限制,否則此值應比處理平均作業的時間長;否則,系統可能會變得過載。 預設值為 5。
  • repeatCount:監視的資料夾掃描資料夾或目錄的次數。值–1表示掃描不確定。 預設值為–1。
  • throttleOn:限制可在任何指定時間處理的「已監看資料夾」作業數。作業的最大數量由batchSize值確定。
  • userName:從「觀看的資料夾」叫用目標服務時使用的使用者名稱。此值是必填的。 預設值為SuperAdmin。
  • domainName:使用者的網域。此值是必填的。 預設值為DefaultDom。
  • batchSize:每次掃描要提取的檔案或資料夾數。使用此值來防止系統過載;一次掃描太多檔案可能會導致當機。 預設值為 2。
  • waitTime:建立後掃描資料夾或檔案之前等待的時間(以毫秒為單位)。例如,如果等待時間是36,000,000毫秒(一小時),而檔案是在一分鐘前建立的,則此檔案會在59分鐘或更久的時間過後擷取。 此屬性對於確保檔案或資料夾被完全複製到輸入資料夾非常有用。 例如,若您有要處理的大型檔案,且該檔案需要10分鐘才能下載,請將等待時間設為10*60*1000毫秒。 如果已等待10分鐘,此設定將阻止監視的資料夾掃描該檔案。 預設值為 0。
  • excludeFilePattern:觀看的資料夾用於確定要掃描和拾取的檔案和資料夾的模式。系統不會掃描任何具有此模式的檔案或資料夾以進行處理。 當輸入是包含多個檔案的資料夾時,此設定很實用。 資料夾的內容可複製到具有名稱的資料夾中,該名稱將被觀看的資料夾擷取。 此步驟可防止觀看的資料夾在資料夾完全複製到輸入資料夾之前,擷取資料夾以進行處理。 例如,如果excludeFilePattern值為data*,則不會擷取符合data*的所有檔案和資料夾。 這包括名為data1data2等的檔案和資料夾。 此外,該模式可以用通配符模式來補充,以指定檔案模式。 監看的資料夾會修改規則運算式以支援萬用字元模式,例如*.**.pdf。 規則運算式不支援這些萬用字元模式。
  • includeFilePattern:觀看的資料夾用來決定要掃描和擷取的資料夾和檔案的模式。例如,如果此值為*,則會擷取符合input*的所有檔案和資料夾。 這包括名為input1input2等的檔案和資料夾。 預設值為 *. 此值表示所有檔案和資料夾。 此外,該模式可以用通配符模式來補充,以指定檔案模式。 監看的資料夾會修改規則運算式以支援萬用字元模式,例如*.**.pdf。 規則運算式不支援這些萬用字元模式。 此值是必填的。
  • resultFolderName:儲儲存存結果的資料夾。此位置可以是絕對路徑或相對目錄路徑。 如果結果未出現在此資料夾中,請檢查失敗資料夾。 不會處理唯讀檔案,且會儲存在失敗資料夾中。 預設值為 result/%Y/%M/%D/. 這是監看資料夾內的結果資料夾。
  • preserveFolderName:成功掃描和拾取檔案後儲存檔案的位置。此位置可以是絕對、相對或空目錄路徑。 預設值為 preserve/%Y/%M/%D/.
  • failureFolderName:保存故障檔案的資料夾。此位置一律與已觀看的資料夾相對。 不會處理唯讀檔案,且會儲存在失敗資料夾中。 預設值為 failure/%Y/%M/%D/.
  • preserveOnFailure:如果無法對服務執行操作,則保留輸入檔案。預設值為true。
  • overwriteDuplicateFilename:設為true時,會覆寫結果資料夾和保留資料夾中的檔案。設為false時,名稱會使用具有數值索引尾碼的檔案和資料夾。 預設值為false。

定義輸入參數值

建立「監看資料夾」端點時,必須定義輸入參數值。 也就是說,您必須說明傳遞至受監視資料夾叫用之操作的輸入值。 例如,請考量本主題中引入的程式。 它有一個名為InDoc的輸入值,其資料類型為com.adobe.idp.Document。 為此程式建立「監看資料夾」端點時(啟動程式後,該端點會變成服務),您必須定義輸入參數值。

要定義「監看資料夾」端點所需的輸入參數值,請指定以下值:

輸入參數名稱:輸入參數的名稱。輸入值的名稱是在Workbench中為流程指定的。 如果輸入值屬於服務操作(不是在Workbench中建立的進程的服務),則輸入名稱在component.xml檔案中指定。 例如,此部分引入的進程的輸入參數名稱為InDoc

對應類型:用於配置調用服務操作所需的輸入值。映射類型有兩種:

  • Literal:「監看資料夾」端點會使用在顯示時輸入欄位的值。支援所有基本Java類型。 例如,如果API使用String、long、int和Boolean等輸入,則會將字串轉換為適當的類型,並叫用服務。
  • Variable:輸入的值是檔案模式,監看資料夾用於選擇輸入。例如,如果為映射類型選擇「變數」,且輸入文檔必須是PDF檔案,則可以指定*.pdf作為映射值。

對應值:指定映射類型的值。例如,如果選擇Variable映射類型,則可以指定*.pdf作為檔案模式。

資料類型:指定輸入值的資料類型。例如,本部分引入的進程輸入值的資料類型為com.adobe.idp.Document

定義輸出參數值

建立「監看資料夾」端點時,必須定義輸出參數值。 也就是說,您必須說明由Watched Folder端點叫用的服務傳回的輸出值。 例如,請考量本主題中引入的程式。 其輸出值為SecuredDoc,其資料類型為com.adobe.idp.Document。 為此程式建立「監看資料夾」端點時(啟動程式後,該端點會變成服務),您必須定義輸出參數值。

要定義「監看資料夾」端點所需的輸出參數值,請指定以下值:

輸出參數名稱:輸出參數的名稱。流程輸出值的名稱在Workbench中指定。 如果輸出值屬於服務操作(不是在Workbench中建立的進程的服務),則輸出名稱在component.xml檔案中指定。 例如,本部分引入的進程的輸出參數名稱為SecuredDoc

對應類型:用於配置服務和操作的輸出。可使用下列選項:

  • 如果服務返回單個對象(單個文檔),則模式為%F.pdf,源目標為sourcefilename.pdf。 例如,本節中引入的程式會傳回單一檔案。 因此,映射類型可定義為%F.pdf%F表示使用給定的檔案名)。 模式%E指定輸入文檔的擴展。
  • 如果服務返回清單,則模式為Result\%F\,源目標為Result\sourcefilename\source1 (output 1)和Result\sourcefilename\source2 (output 2)。
  • 如果服務返回映射,則模式為Result\%F\,源目標為Result\sourcefilename\file1 and Result\sourcefilename\file2。 如果映射有多個對象,則模式為Result\%F.pdf,源目標為Result\sourcefilename1.pdf(output 1)、Result\sourcefilenam2.pdf(output 2)等。

資料類型:指定傳回值的資料類型。例如,本部分引入的進程返回值的資料類型為com.adobe.idp.Document

建立「監看資料夾」端點

設定端點的屬性、配置值,並定義輸入和輸出參數值後,必須建立「監看資料夾」端點。

啟用端點

建立「監看資料夾」端點後,必須啟用它。 啟用端點時,可用來叫用服務。 啟用端點後,您就可以在管理控制台中檢視它。

另請參閱

使用Java API新增「監看資料夾」端點

包含AEM Forms Java程式庫檔案

設定連接屬性

使用Java API新增「監看資料夾」端點

使用AEM Forms Java API新增「監看資料夾」端點:

  1. 包含專案檔案。

    在您Java專案的類別路徑中加入用戶端JAR檔案,例如adobe-livecycle-client.jar。

  2. 建立EndpointRegistry客戶端對象。

    • 建立包含連接屬性的ServiceClientFactory對象。
    • 使用其建構子並傳遞ServiceClientFactory物件,以建立EndpointRegistryClient物件。
  3. 設定「監看資料夾」端點屬性。

    • 使用其建構子建立CreateEndpointInfo物件。
    • 叫用CreateEndpointInfo物件的setConnectorId方法並傳遞字串值WatchedFolder,以指定連接器識別碼值。
    • 通過調用CreateEndpointInfo對象的setDescription方法並傳遞描述該端點的字串值來指定端點的說明。
    • 通過調用CreateEndpointInfo對象的setName方法並傳遞指定名稱的字串值來指定端點的名稱。
    • 通過調用CreateEndpointInfo對象的setServiceId方法並傳遞指定服務名的字串值,指定端點所屬的服務。
    • 指定通過調用CreateEndpointInfo對象的setOperationName方法並傳遞指定操作名稱的字串值來調用的操作。 通常,為源自於Workbench中建立的程式的服務建立「監看資料夾」端點時,會叫用操作的名稱。
  4. 指定配置值。

    對於要為「監看資料夾」端點設定的每個配置值,必須調用CreateEndpointInfo對象的setConfigParameterAsText方法。 例如,要設定url配置值,請調用CreateEndpointInfo對象的setConfigParameterAsText方法並傳遞以下字串值:

    • 指定配置值名稱的字串值。 設定url配置值時,請指定url
    • 指定配置值的字串值。 設定url配置值時,請指定監看的資料夾位置。
    注意

    要查看為EncryptDocument服務設定的所有配置值,請參閱位於QuickStart的Java代碼示例:使用Java API新增「監看資料夾」端點。

  5. 定義輸入參數值。

    調用CreateEndpointInfo對象的setInputParameterMapping方法,定義輸入參數值,並傳遞以下值:

    • 指定輸入參數名稱的字串值。 例如,EncryptDocument服務的輸入參數的名稱為InDoc
    • 一個字串值,它指定輸入參數的資料類型。 例如,InDoc輸入參數的資料類型為com.adobe.idp.Document
    • 指定映射類型的字串值。 例如,您可以指定variable
    • 指定映射類型值的字串值。 例如,您可以指定*.pdf作為檔案模式。
    注意

    調用setInputParameterMapping方法以定義每個輸入參數值。 由於EncryptDocument進程只有一個輸入參數,因此您需要調用此方法一次。

  6. 定義輸出參數值。

    調用CreateEndpointInfo對象的setOutputParameterMapping方法,定義輸出參數值,並傳遞以下值:

    • 指定輸出參數名稱的字串值。 例如,EncryptDocument服務的輸出參數的名稱為SecuredDoc
    • 一個字串值,它指定輸出參數的資料類型。 例如,SecuredDoc輸出參數的資料類型為com.adobe.idp.Document
    • 指定映射類型的字串值。 例如,您可以指定%F.pdf
  7. 建立「監看資料夾」端點。

    叫用EndpointRegistryClient物件的createEndpoint方法並傳遞CreateEndpointInfo物件,以建立端點。 此方法會傳回Endpoint物件,代表Watched資料夾端點。

  8. 啟用端點。

    調用EndpointRegistryClient對象的enable方法並傳遞createEndpoint方法返回的Endpoint對象,以啟用端點。

另請參閱

步驟摘要

快速入門:使用Java API新增「監看資料夾」端點

包含AEM Forms Java程式庫檔案

設定連接屬性

監看的資料夾配置值常數檔案

快速入門:使用Java API新增「監看資料夾」端點時,會使用必須是Java專案一部分的常數檔案,以便編譯快速入門。 此常數檔案表示在添加「監看資料夾」端點時必須設定的配置值。 以下Java代碼表示常數檔案。

 /**
     * This class contains constants that can be used when setting Watched Folder
     * configuration values
     */

 public final class WatchedFolderEndpointConfigConstants {

         public static final String PROPERTY_FILEPROVIDER_URL = "url";
         public static final String PROPERTY_PROPERTY_ASYNCHRONOUS = "asynchronous";
         public static final String PROPERTY_CRON_EXPRESSION = "cronExpression";
         public static final String PROPERTY_PURGE_DURATION = "purgeDuration";
         public static final String PROPERTY_REPEAT_INTERVAL = "repeatInterval";
         public static final String PROPERTY_REPEAT_COUNT = "repeatCount";
         public static final String PROPERTY_THROTTLE = "throttleOn";
         public static final String PROPERTY_USERNAMER = "userName";
         public static final String PROPERTY_DOMAINNAME = "domainName";
         public static final String PROPERTY_FILEPROVIDER_BATCH_SIZE = "batchSize";
         public static final String PROPERTY_FILEPROVIDER_WAIT_TIME = "waitTime";
         public static final String PROPERTY_EXCLUDE_FILE_PATTERN = "excludeFilePattern";
         public static final String PROPERTY_INCLUDE_FILE_PATTERN = "excludeFilePattern";
         public static final String PROPERTY_FILEPROVIDER_RESULT_FOLDER_NAME =  "resultFolderName";
         public static final String PROPERTY_FILEPROVIDER_PRESERVE_FOLDER_NAME = "preserveFolderName";
         public static final String PROPERTY_FILEPROVIDER_FAILURE_FOLDER_NAME = "failureFolderName";
         public static final String PROPERTY_FILEPROVIDER_PRESERVE_ON_FAILURE = "preserveOnFailure";
         public static final String PROPERTY_FILEPROVIDER_OVERWRITE_DUPLICATE_FILENAME = "overwriteDuplicateFilename";
        }

新增電子郵件端點

您可以使用AEM Forms Java API,以程式設計方式將電子郵件端點新增至服務。 通過添加電子郵件端點,用戶可以向指定的電子郵件帳戶發送包含一個或多個檔案附件的電子郵件。 然後叫用配置服務操作並處理這些檔案。 服務執行指定操作後,會向發送者發送一封電子郵件,其中修改的檔案作為檔案附件。

為了以寫程式方式將電子郵件端點添加到服務中,請考慮以下名為​MyApplication\EncryptDocument​的短期進程。 有關短期進程的資訊,請參閱了解AEM Forms進程

ae_ae_encryptdocumentprocess

此過程接受不安全的PDF文檔作為輸入值,然後將不安全的PDF文檔傳遞到加密服務的EncryptPDFUsingPassword操作。 此程式會使用密碼加密PDF檔案,並傳回以密碼加密的PDF檔案作為輸出值。 輸入值的名稱(不安全的PDF文檔)為InDoc,資料類型為com.adobe.idp.Document。 輸出值的名稱(密碼加密的PDF文檔)為SecuredDoc,資料類型為com.adobe.idp.Document

注意

您無法使用Web服務來添加電子郵件端點。

步驟的摘要

要向服務添加電子郵件端點,請執行以下任務:

  1. 包含專案檔案。
  2. 建立EndpointRegistryClient物件。
  3. 設定電子郵件端點屬性。
  4. 指定配置值。
  5. 定義輸入參數值。
  6. 定義輸出參數值。
  7. 建立電子郵件端點。
  8. 啟用端點。

包含項目檔案

在您的開發專案中加入必要的檔案。 如果您是使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請務必包含Proxy檔案。

必須將以下JAR檔案添加到項目的類路徑中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-utilities.jar(若AEM Forms部署在JBoss Application Server上則為必要)
  • jbossall-client.jar(若AEM Forms部署在JBoss Application Server上則為必要)

有關這些JAR檔案的位置的資訊,請參閱包括AEM Forms Java庫檔案

建立EndpointRegistry客戶端對象

您必須先建立EndpointRegistryClient物件,才能以程式設計方式新增電子郵件端點。

設定電子郵件端點屬性

若要為服務建立電子郵件端點,請指定下列值:

  • 連接器識別碼值:指定所建立的端點類型。若要建立電子郵件端點,請指定Email
  • 說明:指定端點的說明。
  • 名稱:指定端點的名稱。
  • 服務標識符值:指定端點所屬的服務。例如,若要將「電子郵件」端點新增至本節中引入的程式(使用Workbench啟動的程式會變成服務),請指定EncryptDocument
  • 操作名稱:指定使用端點調用的操作的名稱。通常,為源自於Workbench中建立之程式的服務建立電子郵件端點時,操作的名稱為invoke

指定配置值

以程式設計方式將電子郵件端點新增至服務時,您必須指定電子郵件端點的設定值。 如果使用管理控制台新增電子郵件端點,管理員會指定這些設定值。

注意

受監控的電子郵件帳戶是僅用於電子郵件端點的特殊帳戶。 此帳戶不是一般使用者的電子郵件帳戶。 常規用戶的電子郵件帳戶不能配置為電子郵件提供程式使用的帳戶,因為電子郵件提供程式在郵件完成後會從收件箱中刪除電子郵件郵件。

以程式設計方式將電子郵件端點新增至服務時,會設定下列設定值:

  • cronExpression:cron運算式(如果必須使用cron運算式排程電子郵件)。
  • repeatCount:電子郵件端點掃描資料夾或目錄的次數。值–1表示掃描不確定。 預設值為–1。
  • repeatInterval:接收者用於檢查傳入郵件的掃描速率(以秒為單位)。預設值為 10。
  • startDelay:排程器啟動後等待掃描的時間。預設時間為0。
  • batchSize:接收者在每次掃描時處理的電子郵件訊息數量,以獲得最佳效能。值–1表示所有電子郵件。 預設值為 2。
  • userName:從電子郵件叫用目標服務時使用的使用者名稱。預設值為 SuperAdmin.
  • domainName:強制設定值。預設值為 DefaultDom.
  • domainPattern:指定提供程式接受的傳入電子郵件的域模式。例如,若使用adobe.com,則只會處理adobe.com的電子郵件,而忽略其他網域的電子郵件。
  • filePattern:指定提供程式接受的傳入檔案附件模式。這包括具有特定檔案名副檔名(*.dat,*.xml)的檔案、具有特定名稱(資料)的檔案,以及在名稱和副檔名(*)中具有複合運算式的檔案。[dD][aA]'port')。預設值為 *.
  • recipientSuccessfulJob:傳送訊息以指出成功作業的電子郵件地址。預設情況下,成功的作業消息始終發送給發件人。 如果鍵入sender,則電子郵件結果將發送給發件人。 最多支援100個收件者。 使用電子郵件地址指定其他收件者,每個收件者以逗號分隔。 若要關閉此選項,請將此值留空。 在某些情況下,您可能會想要觸發程式,而不想要結果的電子郵件通知。 預設值為 sender.
  • recipientFailedJob:發送郵件以指示失敗作業的電子郵件地址。預設情況下,將始終向發件人發送失敗的作業消息。 如果鍵入sender,則電子郵件結果將發送給發件人。 最多支援100個收件者。 使用電子郵件地址指定其他收件者,每個收件者以逗號分隔。 若要關閉此選項,請將此值留空。 預設值為 sender.
  • inboxHost:要掃描的電子郵件提供程式的收件箱主機名或IP地址。
  • inboxPort:電子郵件伺服器使用的埠。POP3的預設值為110,IMAP的預設值為143。 如果啟用了SSL,則POP3的預設值為995,而IMAP的預設值為993。
  • inboxProtocol:用於掃描收件箱的電子郵件端點的電子郵件協定。選項為IMAPPOP3。 收件箱主機郵件伺服器必須支援這些協定。
  • inboxTimeOut:電子郵件提供者等待收件匣回應的逾時(秒)。預設值為 60。
  • inboxUser:登入電子郵件帳戶所需的使用者名稱。視電子郵件伺服器和設定而定,這可能只是電子郵件的使用者名稱部分,或可能是完整的電子郵件地址。
  • inboxPassword:收件匣使用者的密碼。
  • inboxSSLE已啟用:設定此值可在傳送結果或錯誤的通知訊息時,強制電子郵件提供者使用SSL。確保IMAP或POP3主機支援SSL。
  • smtpHost:電子郵件提供程式向其發送結果和錯誤消息的郵件伺服器的主機名。
  • smtpPort:SMTP埠的預設值為25。
  • smtpUser:電子郵件提供者在傳送結果和錯誤的電子郵件通知時要使用的使用者帳戶。
  • smtpPassword:SMTP帳戶的密碼。某些郵件伺服器不需要SMTP密碼。
  • charSet:電子郵件提供者使用的字元集。預設值為 UTF-8.
  • smtpSSLEnabled:設定此值可在傳送結果或錯誤的通知訊息時,強制電子郵件提供者使用SSL。確保SMTP主機支援SSL。
  • failedJobFolder:指定在SMTP郵件伺服器不運行時要儲存結果的目錄。
  • 非同步:設為同步時,會處理所有輸入檔案並傳回單一回應。設為非同步時,會針對每個處理的輸入檔案傳送回應。 例如,會為本主題中引入的程式建立電子郵件端點,並傳送電子郵件至端點的收件匣,其中包含多個不安全的PDF檔案。 當所有PDF檔案都使用密碼加密,且端點設定為同步時,會傳送單一回應電子郵件訊息,並附上所有安全的PDF檔案。 如果端點設定為非同步,則會為每個安全PDF檔案傳送個別的回應電子郵件訊息。 每封電子郵件都包含單一PDF檔案作為附件。 預設值為非同步。

定義輸入參數值

建立電子郵件端點時,您必須定義輸入參數值。 也就是說,您必須說明傳遞至由電子郵件端點叫用之操作的輸入值。 例如,請考量本主題中引入的程式。 它有一個名為InDoc的輸入值,其資料類型為com.adobe.idp.Document。 為此流程建立電子郵件端點時(在啟動流程後,它會變成服務),您必須定義輸入參數值。

要定義「電子郵件」端點所需的輸入參數值,請指定以下值:

輸入參數名稱:輸入參數的名稱。輸入值的名稱是在Workbench中為流程指定的。 如果輸入值屬於服務操作(不是在Workbench中建立的進程的Forms服務),則輸入名稱在component.xml檔案中指定。 例如,此部分引入的進程的輸入參數名稱為InDoc

對應類型:用於配置調用服務操作所需的輸入值。兩種映射類型如下:

  • Literal:電子郵件端點會使用在欄位中輸入的值,以顯示它。支援所有基本Java類型。 例如,如果API使用String、long、int和Boolean等輸入,則字串會轉換為適當的類型,並叫用服務。
  • Variable:輸入的值是電子郵件端點用於選擇輸入的檔案模式。例如,如果為映射類型選擇「變數」,且輸入文檔必須是PDF檔案,則可以指定*.pdf作為映射值。

對應值:指定映射類型的值。例如,如果選擇「變數」映射類型,則可以指定*.pdf作為檔案模式。

資料類型:指定輸入值的資料類型。例如,本節中引入之程式輸入值的資料類型為com.adobe.idp.Document。

定義輸出參數值

建立電子郵件端點時,您必須定義輸出參數值。 也就是說,您必須說明由電子郵件端點叫用的服務所傳回的輸出值。 例如,請考量本主題中引入的程式。 其輸出值為SecuredDoc,其資料類型為com.adobe.idp.Document。 為此流程建立電子郵件端點時(在啟動流程後,它會變成服務),您必須定義輸出參數值。

要定義「電子郵件」端點所需的輸出參數值,請指定以下值:

輸出參數名稱:輸出參數的名稱。流程輸出值的名稱在Workbench中指定。 如果輸出值屬於服務操作(不是在Workbench中建立的進程的服務),則輸出名稱在component.xml檔案中指定。 例如,本部分引入的進程的輸出參數名稱為SecuredDoc

對應類型:用於配置服務和操作的輸出。可使用下列選項:

  • 如果服務返回單個對象(單個文檔),則模式為%F.pdf,源目標為sourcefilename.pdf。 例如,本節中引入的程式會傳回單一檔案。 因此,映射類型可定義為%F.pdf%F表示使用給定的檔案名)。 模式%E指定輸入文檔的擴展。
  • 如果服務返回清單,則模式為Result\%F\,源目標為Result\sourcefilename\source1 (output 1)和Result\sourcefilename\source2 (output 2)。
  • 如果服務返回映射,則模式為Result\%F\,源目標為Result\sourcefilename\file1 and Result\sourcefilename\file2。 如果映射有多個對象,則模式為Result\%F.pdf,源目標為Result\sourcefilename1.pdf(output 1)、Result\sourcefilenam2.pdf(output 2)等。

資料類型:指定傳回值的資料類型。例如,本部分引入的進程返回值的資料類型為com.adobe.idp.Document

建立電子郵件端點

設定電子郵件端點屬性和設定值,並定義輸入和輸出參數值後,您必須建立電子郵件端點。

啟用端點

建立電子郵件端點後,您必須啟用它。 啟用端點時,可用來叫用服務。 啟用端點後,您就可以在管理控制台中檢視它。

另請參閱

使用Java API新增電子郵件端點

包含AEM Forms Java程式庫檔案

設定連接屬性

使用Java API新增電子郵件端點

使用Java API新增電子郵件端點:

  1. 包含專案檔案。

    在您Java專案的類別路徑中加入用戶端JAR檔案,例如adobe-livecycle-client.jar。

  2. 建立EndpointRegistry客戶端對象。

    • 建立包含連接屬性的ServiceClientFactory對象。
    • 使用其建構子並傳遞ServiceClientFactory物件,以建立EndpointRegistryClient物件。
  3. 設定電子郵件端點屬性。

    • 使用其建構子建立CreateEndpointInfo物件。
    • 叫用CreateEndpointInfo物件的setConnectorId方法並傳遞字串值Email,以指定連接器識別碼值。
    • 通過調用CreateEndpointInfo對象的setDescription方法並傳遞描述該端點的字串值來指定端點的說明。
    • 通過調用CreateEndpointInfo對象的setName方法並傳遞指定名稱的字串值來指定端點的名稱。
    • 通過調用CreateEndpointInfo對象的setServiceId方法並傳遞指定服務名的字串值,指定端點所屬的服務。
    • 指定通過調用CreateEndpointInfo對象的setOperationName方法並傳遞指定操作名稱的字串值來調用的操作。 通常,為源自於Workbench中建立之程式的服務建立電子郵件端點時,會叫用操作的名稱。
  4. 指定配置值。

    對於要為電子郵件端點設定的每個配置值,必須調用CreateEndpointInfo對象的setConfigParameterAsText方法。 例如,要設定smtpHost配置值,請調用CreateEndpointInfo對象的setConfigParameterAsText方法並傳遞以下值:

    • 指定配置值名稱的字串值。 設定smtpHost配置值時,請指定smtpHost
    • 指定配置值的字串值。 設定smtpHost配置值時,請指定指定SMTP伺服器名稱的字串值。
    注意

    要查看本節介紹的為EncryptDocument服務設定的所有配置值,請參閱位於QuickStart的Java代碼示例:使用Java API新增電子郵件端點。

  5. 定義輸入參數值。

    調用CreateEndpointInfo對象的setInputParameterMapping方法,定義輸入參數值,並傳遞以下值:

    • 指定輸入參數名稱的字串值。 例如,EncryptDocument服務的輸入參數的名稱為InDoc
    • 一個字串值,它指定輸入參數的資料類型。 例如,InDoc輸入參數的資料類型為com.adobe.idp.Document
    • 指定映射類型的字串值。 例如,您可以指定variable
    • 指定映射類型值的字串值。 例如,您可以指定*.pdf作為檔案模式。
    注意

    調用setInputParameterMapping方法以定義每個輸入參數值。 由於EncryptDocument進程只有一個輸入參數,因此您需要調用此方法一次。

  6. 定義輸出參數值。

    調用CreateEndpointInfo對象的setOutputParameterMapping方法並傳遞以下值,以定義輸出參數值:

    • 指定輸出參數名稱的字串值。 例如,EncryptDocument服務的輸出參數的名稱為SecuredDoc
    • 一個字串值,它指定輸出參數的資料類型。 例如,SecuredDoc輸出參數的資料類型為com.adobe.idp.Document
    • 指定映射類型的字串值。 例如,您可以指定%F.pdf
  7. 建立電子郵件端點。

    叫用EndpointRegistryClient物件的createEndpoint方法並傳遞CreateEndpointInfo物件,以建立端點。 此方法會傳回Endpoint物件,代表電子郵件端點。

  8. 啟用端點。

    調用EndpointRegistryClient對象的enable方法並傳遞createEndpoint方法返回的Endpoint對象,以啟用端點。

另請參閱

步驟摘要

快速入門:使用Java API新增「監看資料夾」端點

包含AEM Forms Java程式庫檔案

設定連接屬性

電子郵件配置值常數檔案

快速入門:使用Java API新增電子郵件端點會使用必須是Java專案一部分的常數檔案,以便編譯快速入門。 此常數檔案代表新增電子郵件端點時必須設定的設定值。 以下Java代碼表示常數檔案。

 /**
     * This class contains constants that can be used when setting email endpoint
     * configuration values
     */
 public class EmailEndpointConfigConstants {

     public static final String PROPERTY_EMAILPROVIDER_CRON_EXPRESSION = "cronExpression";
     public static final String PROPERTY_EMAILPROVIDER_REPREAT_COUNT = "repeatCount";
     public static final String PROPERTY_EMAILPROVIDER_REPREAT_INTERVAL = "repeatInterval";
     public static final String PROPERTY_EMAILPROVIDER_START_DELAY = "startDelay";
     public static final String PROPERTY_EMAILPROVIDER_BATCH_SIZE = "batchSize";
     public static final String PROPERTY_EMAILPROVIDER_USERNAME = "userName";
     public static final String PROPERTY_EMAILPROVIDER_DOMAINNAME = "domainName";
     public static final String PROPERTY_EMAILPROVIDER_DOMAINPATTERN = "domainPattern";
     public static final String PROPERTY_EMAILPROVIDER_FILEPATTERN = "filePattern";
     public static final String PROPERTY_EMAILPROVIDER_RECIPIENT_SUCCESSFUL_JOB = "recipientSuccessfulJob";
     public static final String PROPERTY_EMAILPROVIDER_RECIPIENT_FAILED_JOB = "recipientFailedJob";
     public static final String PROPERTY_EMAILPROVIDER_INBOX_HOST = "inboxHost";
     public static final String PROPERTY_EMAILPROVIDER_INBOX_PORT = "inboxPort";
     public static final String PROPERTY_EMAILPROVIDER_PROTOCOL = "inboxProtocol";
     public static final String PROPERTY_EMAILPROVIDER_INBOX_TIMEOUT = "inboxTimeOut";
     public static final String PROPERTY_EMAILPROVIDER_INBOX_USER = "inboxUser";
     public static final String PROPERTY_EMAILPROVIDER_INBOX_PASSWORD = "inboxPassword";
     public static final String PROPERTY_EMAILPROVIDER_INBOX_SSL = "inboxSSLEnabled";
     public static final String PROPERTY_EMAILPROVIDER_SMTP_HOST = "smtpHost";
     public static final String PROPERTY_EMAILPROVIDER_SMTP_PORT = "smtpPort";
     public static final String PROPERTY_EMAILPROVIDER_SMTP_USER = "smtpUser";
     public static final String PROPERTY_EMAILPROVIDER_SMTP_PASSWORD = "smtpPassword";
     public static final String PROPERTY_EMAILPROVIDER_CHARSET = "charSet";
     public static final String PROPERTY_EMAILPROVIDER_SMTP_SSL = "smtpSSLEnabled";
     public static final String PROPERTY_EMAILPROVIDER_FAILED_FOLDER = "failedJobFolder";
     public static final String PROPERTY_EMAILPROVIDER_ASYNCHRONOUS = "asynchronous";
 }

添加遠程終結點

注意

LiveCycle RemotingAPI已於JEE上淘汰的AEM表單。

您可以使用AEM Forms Java API,以程式設計方式將Remoting端點新增至服務。 通過添加Remoting端點,可使Flex應用程式通過使用Remoting調用服務。 (請參閱使用叫用AEM Forms(AEM表單已淘汰)AEM Forms Remoting。)

為了以寫程式方式向服務添加Remoting端點,請考慮以下名為​EncryptDocument​的短期進程。

ar_ar_encryptdocumentprocess

此過程接受不安全的PDF文檔作為輸入值,然後將不安全的PDF文檔傳遞到加密服務的EncryptPDFUsingPassword操作。 PDF檔案使用密碼加密,而密碼加密的PDF檔案是此程式的輸出值。 輸入值的名稱(不安全的PDF文檔)為InDoc,資料類型為com.adobe.idp.Document。 輸出值的名稱(密碼加密的PDF文檔)為SecuredDoc,資料類型為com.adobe.idp.Document

為了演示如何將Remoteing端點添加到服務,本節將Remoteing端點添加到名為EncryptDocument的服務。

注意

不能使用Web服務添加Remoting端點。

步驟的摘要

要從服務中刪除端點,請執行以下任務:

  1. 包含專案檔案。
  2. 建立EndpointRegistryClient物件。
  3. 設定Remoting端點屬性。
  4. 建立遠程端點。
  5. 啟用端點。

包含項目檔案

在您的開發專案中加入必要的檔案。 如果您是使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請務必包含Proxy檔案。

必須將以下JAR檔案添加到項目的類路徑中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-utilities.jar(若AEM Forms部署在JBoss Application Server上則為必要)
  • jbossall-client.jar(若AEM Forms部署在JBoss Application Server上則為必要)

有關這些JAR檔案的位置的資訊,請參閱包括AEM Forms Java庫檔案

建立EndpointRegistry客戶端對象

要以寫程式方式添加Remoting端點,必須建立EndpointRegistryClient對象。

設定遠程處理終結點屬性

要為服務建立遠程端點,請指定以下值:

  • 連接器識別碼值:指定所建立的端點類型。要建立遠程端點,請指定Remoting
  • 說明:指定端點的說明。
  • 名稱:指定端點的名稱。
  • 服務標識符值:指定端點所屬的服務。例如,要將遠程處理端點添加到此部分引入的進程中(當在Workbench中激活進程時,該進程將變為服務),請指定EncryptDocument
  • 操作名稱:指定使用端點調用的操作的名稱。建立Remoting端點時,請指定萬用字元(*)。

建立遠程端點

設定Remoting端點屬性後,可以為服務建立Remoting端點。

啟用端點

建立新端點後,必須啟用它。 啟用Remoting端點時,會啟用Flex用戶端叫用服務。

另請參閱

使用Java API新增遠端端點

包含AEM Forms Java程式庫檔案

設定連接屬性

使用Java API添加遠程端點

使用Java API新增遠端端點:

  1. 包含專案檔案。

    在您Java專案的類別路徑中加入用戶端JAR檔案,例如adobe-livecycle-client.jar。

  2. 建立EndpointRegistry客戶端對象。

    • 建立包含連接屬性的ServiceClientFactory對象。
    • 使用其建構子並傳遞ServiceClientFactory物件,以建立EndpointRegistryClient物件。
  3. 設定Remoting端點屬性。

    • 使用其建構子建立CreateEndpointInfo物件。
    • 叫用CreateEndpointInfo物件的setConnectorId方法並傳遞字串值Remoting,以指定連接器識別碼值。
    • 通過調用CreateEndpointInfo對象的setDescription方法並傳遞描述該端點的字串值來指定端點的說明。
    • 通過調用CreateEndpointInfo對象的setName方法並傳遞指定名稱的字串值來指定端點的名稱。
    • 通過調用CreateEndpointInfo對象的setServiceId方法並傳遞指定服務名的字串值,指定端點所屬的服務。
    • 指定CreateEndpointInfo對象的setOperationName方法調用的操作,並傳遞指定操作名的字串值。 對於Remoteing端點,請指定通配符(*)。
  4. 建立遠程端點。

    叫用EndpointRegistryClient物件的createEndpoint方法並傳遞CreateEndpointInfo物件,以建立端點。 此方法會傳回一個Endpoint物件,代表新的Remoting端點。

  5. 啟用端點。

    調用EndpointRegistryClient對象的enable方法並傳遞createEndpoint方法返回的Endpoint對象,以啟用端點。

另請參閱

步驟摘要

快速入門:使用Java API新增遠端端點

包含AEM Forms Java程式庫檔案

設定連接屬性

添加TaskManager終結點

您可以使用AEM Forms Java API以程式設計方式將TaskManager端點新增至服務。 通過將TaskManager端點添加到服務,可使Workspace用戶調用該服務。 也就是說,在工作區中工作的用戶可以調用具有相應TaskManager終結點的進程。

注意

不能使用Web服務添加TaskManager終結點。

步驟的摘要

要將TaskManager端點添加到服務,請執行以下任務:

  1. 包含專案檔案。
  2. 建立EndpointRegistryClient物件。
  3. 為端點建立類別。
  4. 設定TaskManager終結點屬性。
  5. 建立TaskManager終結點。
  6. 啟用端點。

包含項目檔案

在您的開發專案中加入必要的檔案。 如果您是使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請務必包含Proxy檔案。

必須將以下JAR檔案添加到項目的類路徑中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-utilities.jar(若AEM Forms部署在JBoss Application Server上則為必要)
  • jbossall-client.jar(若AEM Forms部署在JBoss Application Server上則為必要)

有關這些JAR檔案的位置的資訊,請參閱包括AEM Forms Java庫檔案

建立EndpointRegistry客戶端對象

必須先建立EndpointRegistryClient對象,才能以寫程式方式添加TaskManager端點。

為端點建立類別

類別可用來組織工作區中的服務。 也就是說,工作區用戶可以通過在工作區中選擇類別來調用具有TaskManager端點的服務。 建立TaskManager端點時,可以參照現有類別或以寫程式方式建立新類別。

注意

此部分將建立新類別,作為向服務添加TaskManager終結點的一部分。

設定TaskManager終結點屬性

要為服務建立TaskManager端點,請指定以下值:

  • 連接器識別碼:指定所建立的端點類型。要建立TaskManager端點,請指定TaskManagerConnector
  • 說明:指定端點的說明。
  • 名稱:指定端點的名稱。
  • 服務識別碼:指定端點所屬的服務。
  • 類別:指定與TaskManager終結點關聯的類別標識符值。
  • 操作名稱:通常,為源自於Workbench中建立的流程的服務建立TaskManager端點時,操作的名稱為 invoke

建立TaskManager終結點

設定TaskManager終結點屬性後,可以為服務建立TaskManager終結點。

啟用端點

建立新端點後,必須啟用它。 啟用端點時,可用來從工作區內叫用服務。 啟用端點後,您就可以在管理控制台中檢視它。

另請參閱

使用Java API添加TaskManager終結點

包含AEM Forms Java程式庫檔案

設定連接屬性

使用Java API添加TaskManager終結點

使用Java API添加TaskManager終結點:

  1. 包含專案檔案。

    在您Java專案的類別路徑中加入用戶端JAR檔案,例如adobe-livecycle-client.jar。

  2. 建立EndpointRegistry客戶端對象。

    • 建立包含連接屬性的ServiceClientFactory對象。
    • 使用其建構子並傳遞ServiceClientFactory物件,以建立EndpointRegistryClient物件。
  3. 為端點建立類別。

    • 使用其建構子並傳遞下列值,建立CreateEndpointCategoryInfo物件:

      • 指定類別標識符值的字串值
      • 指定類別說明的字串值
    • 叫用EndpointRegistryClient物件的createEndpointCategory方法並傳遞CreateEndpointCategoryInfo物件,以建立類別。 此方法會傳回代表新類別的EndpointCategory物件。

  4. 設定TaskManager終結點屬性。

    • 使用其建構子建立CreateEndpointInfo物件。
    • 叫用CreateEndpointInfo物件的setConnectorId方法並傳遞字串值TaskManagerConnector,以指定連接器識別碼值。
    • 通過調用CreateEndpointInfo對象的setDescription方法並傳遞描述該端點的字串值來指定端點的說明。
    • 通過調用CreateEndpointInfo對象的setName方法並傳遞指定名稱的字串值來指定端點的名稱。
    • 通過調用CreateEndpointInfo對象的setServiceId方法並傳遞指定服務名的字串值,指定端點所屬的服務。
    • 通過調用CreateEndpointInfo對象的setCategoryId方法並傳遞指定類別標識符值的字串值,指定端點所屬的類別。 您可以叫用EndpointCategory物件的getId方法,以取得此類別的識別碼值。
    • 指定通過調用CreateEndpointInfo對象的setOperationName方法並傳遞指定操作名稱的字串值來調用的操作。 通常,為源自於Workbench中建立的程式的服務建立TaskManager端點時,操作的名稱為invoke
  5. 建立TaskManager終結點。

    叫用EndpointRegistryClient物件的createEndpoint方法並傳遞CreateEndpointInfo物件,以建立端點。 此方法返回一個Endpoint對象,它表示新的TaskManager端點。

  6. 啟用端點。

    調用EndpointRegistryClient對象的enable方法並傳遞createEndpoint方法返回的Endpoint對象,以啟用端點。

另請參閱

步驟摘要

快速入門:使用Java API添加TaskManager終結點

包含AEM Forms Java程式庫檔案

設定連接屬性

修改端點

您可以使用AEM Forms Java API以程式設計方式修改現有端點。 通過修改端點,可以更改端點的行為。 例如,假設「監看資料夾」端點指定用作監看資料夾的資料夾。 您可以用程式設計方式修改屬於「監看資料夾」端點的設定值,使另一個資料夾可作為監看資料夾運作。 有關屬於「觀看資料夾」端點的配置值的資訊,請參閱添加觀看資料夾端點

為了演示如何修改端點,本節通過更改行為與監視資料夾相同的資料夾來修改監視資料夾端點。

注意

不能使用Web服務修改端點。

步驟的摘要

要修改端點,請執行以下任務:

  1. 包含專案檔案。
  2. 建立EndpointRegistryClient物件。
  3. 擷取端點。
  4. 指定新的配置值。

包含項目檔案

在您的開發專案中加入必要的檔案。 如果您是使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請務必包含Proxy檔案。

必須將以下JAR檔案添加到項目的類路徑中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-utilities.jar(若AEM Forms部署在JBoss Application Server上則為必要)
  • jbossall-client.jar(若AEM Forms部署在JBoss Application Server上則為必要)

有關這些JAR檔案的位置的資訊,請參閱包括AEM Forms Java庫檔案

建立EndpointRegistry客戶端對象

要以寫程式方式修改端點,必須建立EndpointRegistryClient對象。

檢索要修改的端點

必須先檢索終結點,才能修改它。 若要擷取端點,您必須以可存取端點的使用者身分連線。 建議您以管理員身分連線。 (請參閱設定連線屬性)。

通過檢索端點清單可以檢索端點。 然後,您可以逐一查看清單,搜尋要移除的特定端點。 例如,您可以判斷與端點對應的服務和端點類型,以找出端點。 找到端點時,可以修改它。

指定新配置值

修改端點時,請指定新的配置值。 例如,要修改「監看資料夾」端點,請重置所有「監看資料夾」端點配置值,而不只是要修改的值。 有關屬於「觀看資料夾」端點的配置值的資訊,請參閱添加觀看資料夾端點

注意

有關屬於電子郵件端點的配置值的資訊,請參閱添加電子郵件端點

注意

您無法修改端點叫用的服務。 如果嘗試修改服務,則會引發異常。 要修改與給定端點關聯的服務,請刪除該端點並建立新端點。 (請參閱移除端點。)

另請參閱

使用Java API修改端點

包含AEM Forms Java程式庫檔案

設定連接屬性

使用Java API修改端點

使用Java API修改端點:

  1. 包含專案檔案。

    在您Java專案的類別路徑中加入用戶端JAR檔案,例如adobe-livecycle-client.jar。

  2. 建立EndpointRegistry客戶端對象。

    • 建立包含連接屬性的ServiceClientFactory對象。
    • 使用其建構子並傳遞ServiceClientFactory物件,以建立EndpointRegistryClient物件。
  3. 檢索要修改的端點。

    • 調用EndpointRegistryClient對象的getEndpoints方法並傳遞作為篩選器的PagingFilter對象,檢索當前用戶可訪問的所有端點的清單(在連接屬性中指定)。 您可以傳遞(PagingFilter)null值以傳回所有端點。 此方法會傳回java.util.List物件,其中每個元素都是Endpoint物件。 如需PagingFilter物件的相關資訊,請參閱AEM Forms API參考
    • 逐一檢查java.util.List物件,以判斷其是否具有端點。 如果端點存在,則每個元素都是EndPoint例項。
    • 調用EndPoint對象的getServiceId方法,確定與端點對應的服務。 此方法會傳回指定服務名稱的字串值。
    • 調用EndPoint對象的getConnectorId方法,確定端點類型。 此方法會傳回指定端點類型的字串值。 例如,如果端點是「監看資料夾」端點,則此方法會傳回WatchedFolder
  4. 指定新的配置值。

    • 調用ModifyEndpointInfo對象的建構子以建立對象。

    • 對於要設定的每個配置值,調用ModifyEndpointInfo對象的setConfigParameterAsText方法。 例如,要設定url配置值,請調用ModifyEndpointInfo對象的setConfigParameterAsText方法並傳遞以下值:

      • 指定配置值名稱的字串值。 例如,要設定url配置值,請指定url
      • 指定配置值的字串值。 要定義url配置值的值,請指定監看的資料夾位置。
    • 調用EndpointRegistryClient對象的modifyEndpoint方法並傳遞ModifyEndpointInfo對象。

另請參閱

步驟摘要

快速入門:使用Java API修改端點

包含AEM Forms Java程式庫檔案

設定連接屬性

移除端點

您可以使用AEM Forms Java API以程式設計方式從服務中移除端點。 移除端點後,無法使用端點啟用的叫用方法叫用服務。 例如,如果從服務中刪除SOAP端點,則無法使用SOAP模式調用服務。

要演示如何從服務中刪除終結點,此部分將從名為​EncryptDocument​的服務中刪除EJB終結點。

注意

不能使用Web服務刪除終結點。

步驟的摘要

要從服務中刪除端點,請執行以下任務:

  1. 包含專案檔案。
  2. 建立EndpointRegistryClient物件。
  3. 擷取端點。
  4. 移除端點。

包含項目檔案

將必要的檔案納入您的開發專案。 如果您是使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請務必包含Proxy檔案。

必須將以下JAR檔案添加到項目的類路徑中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-utilities.jar(若AEM Forms部署在JBoss Application Server上則為必要)
  • jbossall-client.jar(若AEM Forms部署在JBoss Application Server上則為必要)

有關這些JAR檔案的位置的資訊,請參閱包括AEM Forms Java庫檔案

建立EndpointRegistry客戶端對象

要以寫程式方式刪除端點,必須建立EndpointRegistryClient對象。

檢索要刪除的端點

必須先檢索終結點,才能刪除它。 若要擷取端點,您必須以可存取端點的使用者身分連線。 建議您以管理員身分連線。 (請參閱設定連線屬性)。

通過檢索端點清單可以檢索端點。 然後,您可以逐一查看清單,搜尋要移除的特定端點。 例如,您可以判斷與端點對應的服務和端點類型,以找出端點。 找到端點後,可將其移除。

移除端點

建立新端點後,必須啟用它。 啟用端點時,可用來叫用服務。 啟用端點後,您就可以在管理控制台中檢視它。

另請參閱

使用Java API移除端點

包含AEM Forms Java程式庫檔案

設定連接屬性

使用Java API移除端點

使用Java API移除端點:

  1. 包含專案檔案。

    在您Java專案的類別路徑中加入用戶端JAR檔案,例如adobe-livecycle-client.jar。

  2. 建立EndpointRegistry客戶端對象。

    • 建立包含連接屬性的ServiceClientFactory對象。
    • 使用其建構子並傳遞ServiceClientFactory物件,以建立EndpointRegistryClient物件。
  3. 檢索要刪除的端點。

    • 調用EndpointRegistryClient對象的getEndpoints方法並傳遞作為篩選器的PagingFilter對象,檢索當前用戶(在連接屬性中指定)有權訪問的所有端點的清單。 您可以傳遞(PagingFilter)null以傳回所有端點。 此方法會傳回java.util.List物件,其中每個元素都是Endpoint物件。
    • 逐一檢查java.util.List物件,以判斷其是否具有端點。 如果端點存在,則每個元素都是EndPoint例項。
    • 調用EndPoint對象的getServiceId方法,確定與端點對應的服務。 此方法會傳回指定服務名稱的字串值。
    • 調用EndPoint對象的getConnectorId方法,確定端點類型。 此方法會傳回指定端點類型的字串值。 例如,如果終結點是EJB終結點,則此方法返回EJB
  4. 移除端點。

    調用EndpointRegistryClient對象的remove方法並傳遞代表要刪除的端點的EndPoint對象,以刪除端點。

另請參閱

步驟摘要

快速入門:使用Java API移除端點

包含AEM Forms Java程式庫檔案

設定連接屬性

檢索端點連接器資訊

您可以使用AEM Forms API以程式設計方式擷取端點連接器的相關資訊。 連接器使端點能夠使用各種調用方法調用服務。 例如,「觀看資料夾」連接器可讓端點使用觀看資料夾叫用服務。 通過以寫程式方式檢索關於端點連接器的資訊,您可以檢索與連接器關聯的配置值,如需要哪些配置值以及哪些配置值是可選的。

為了示範如何擷取端點連接器的相關資訊,本區段會擷取關於「已觀看資料夾」連接器的資訊。 (請參閱新增觀看的資料夾端點。)

注意

您無法使用Web服務檢索有關端點的資訊。

注意

本主題使用ConnectorRegistryClient API來擷取端點連接器的相關資訊。 (請參閱AEM Forms API參考。)

步驟的摘要

要檢索端點連接器資訊,請執行以下任務:

  1. 包含專案檔案。
  2. 建立ConnectorRegistryClient物件。
  3. 指定連接器類型。
  4. 擷取設定值。

包含項目檔案

將必要的檔案納入您的開發專案。 如果您是使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請務必包含Proxy檔案。

必須將以下JAR檔案添加到項目的類路徑中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-utilities.jar(若AEM Forms部署在JBoss Application Server上則為必要)
  • jbossall-client.jar(若AEM Forms部署在JBoss Application Server上則為必要)

如果AEM Forms部署在非JBoss的支援J2EE應用程式伺服器上,則請以部署AEM Forms的J2EE應用程式伺服器專屬的JAR檔案取代adobe-utilities.jar和jbossall-client.jar。 有關所有AEM Forms JAR檔案的位置資訊,請參閱包含AEM Forms Java庫檔案

建立ConnectorRegistry客戶端對象

要以寫程式方式檢索端點連接器資訊,請建立ConnectorRegistryClient對象。

指定連接器類型

指定要從中檢索資訊的連接器類型。 連接器類型如下:

  • EJB:使客戶端應用程式能夠使用EJB模式調用服務。
  • SOAP:使客戶端應用程式能夠使用SOAP模式調用服務。
  • 觀看資料夾:啟用受監視的資料夾以調用服務。
  • 電子郵件:啟用電子郵件以調用服務。
  • 遠程:啟用Flex用戶端應用程式以叫用服務。
  • TaskManagerConnector:允許工作區使用者從工作區內叫用服務。

擷取設定值

指定連接器類型後,可以檢索有關連接器的資訊,如支援的配置值。 例如,對於任何連接器,您可以決定需要哪些配置值,以及哪些配置值是可選的。

另請參閱

使用Java API擷取端點連接器資訊

包含AEM Forms Java程式庫檔案

設定連接屬性

使用Java API檢索端點連接器資訊

使用Java API檢索端點連接器資訊:

  1. 包含專案檔案。.

    在您Java專案的類別路徑中加入用戶端JAR檔案,例如adobe-livecycle-client.jar。

  2. 建立ConnectorRegistry客戶端對象。

    • 建立包含連接屬性的ServiceClientFactory對象。
    • 使用其建構子並傳遞ServiceClientFactory物件,以建立ConnectorRegistryClient物件。
  3. 指定連接器類型。

    通過調用ConnectorRegistryClient對象的getEndpointDefinition方法並傳遞指定連接器類型的字串值來指定連接器類型。 例如,若要指定「監看資料夾」連接器類型,請傳遞字串值WatchedFolder。 此方法會傳回與連接器類型對應的Endpoint物件。

  4. 擷取設定值。

    • 調用Endpoint對象的getConfigParameters方法,檢索此終結點中關聯的配置值。 此方法會傳回ConfigParameter物件的陣列。
    • 擷取陣列內的每個元素,以擷取關於每個設定值的資訊。 每個元素都是ConfigParameter物件。 例如,可以通過調用ConfigParameter對象的isRequired方法來確定配置值是必需值還是可選值。 如果需要配置值,則此方法返回true

另請參閱

步驟摘要

快速入門:使用Java API擷取端點連接器資訊

包含AEM Forms Java程式庫檔案

設定連接屬性

本頁內容