使用web service API驗證DDX檔案

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

使用Assembler Service API(web service)驗證DDX文檔:

  1. 包含專案檔案。

    建立使用MTOM的Microsoft .NET專案。 請確定您使用下列WSDL定義:http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1

    注意

    將localhost替換為表單伺服器的IP地址。

  2. 建立PDF匯寫程式式用戶端。

    • 使用其預設建構子建立AssemblerServiceClient對象。

    • 使用System.ServiceModel.EndpointAddress建構函式建立AssemblerServiceClient.Endpoint.Address物件。 將指定WSDL的字串值傳遞給AEM Forms服務(例如http://localhost:8080/soap/services/AssemblerService?blob=mtom)。 您不需要使用lc_version屬性。 建立服務參考時,將使用此屬性。

    • 獲取AssemblerServiceClient.Endpoint.Binding欄位的值,建立System.ServiceModel.BasicHttpBinding對象。 將返回值轉換為BasicHttpBinding

    • System.ServiceModel.BasicHttpBinding物件的MessageEncoding欄位設為WSMessageEncoding.Mtom。 此值可確保使用MTOM。

    • 執行下列工作以啟用基本HTTP驗證:

      • 將表AEM單用戶名分配給欄位AssemblerServiceClient.ClientCredentials.UserName.UserName
      • 將相應的口令值分配給欄位AssemblerServiceClient.ClientCredentials.UserName.Password
      • 將常數值HttpClientCredentialType.Basic分配給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
      • 將常數值BasicHttpSecurityMode.TransportCredentialOnly分配給欄位BasicHttpBindingSecurity.Security.Mode
  3. 參考現有的DDX檔案。

    • 使用其建構子建立BLOB對象。 BLOB物件用來儲存DDX檔案。
    • 通過調用System.IO.FileStream對象的建構子並傳遞一個字串值,該字串值表示DDX文檔的檔案位置和開啟檔案的模式。
    • 建立儲存System.IO.FileStream對象內容的位元組陣列。 您可以取得System.IO.FileStream物件的Length屬性,以判斷位元組陣列的大小。
    • 調用System.IO.FileStream物件的Read方法,並傳遞要讀取的位元組陣列、開始位置和串流長度,以串流資料填入位元組陣列。
    • 通過為MTOM對象的屬性指定位元組陣列的內容來填充BLOB對象。
  4. 設定執行時期選項以驗證DDX檔案。

    • 使用其建構子建立一個AssemblerOptionSpec對象,該對象儲存運行時選項。
    • 設定執行時選項,指示Assembler服務將值true指派給AssemblerOptionSpec物件的validateOnly資料成員,以驗證DDX檔案。
    • 通過為AssemblerOptionSpec對象的logLevel資料成員分配字串值,設定Assembler服務寫入日誌檔案的資訊量。 方法驗證DDX文檔時,需要將更多資訊寫入日誌檔案,以幫助驗證過程。 因此,您可以指定值FINEFINER。 有關可設定的運行時選項的資訊,請參閱AEM FormsAPI參考中的AssemblerOptionSpec類參考。
  5. 執行驗證。

    叫用AssemblerServiceClient物件的invokeDDX方法並傳遞下列值:

    • 代表DDX文檔的BLOB對象。
    • 通常儲存PDF文檔的Map對象的null值。
    • 指定運行時選項的AssemblerOptionSpec對象。

    invokeDDX方法返回AssemblerResult對象,該對象包含指定DDX文檔是否有效的資訊。

  6. 將驗證結果保存到日誌檔案中。

    • 通過調用System.IO.FileStream對象的建構子並傳遞一個字串值,該字串值表示日誌檔案的檔案位置和開啟檔案的模式。 請確定副檔名為。xml。
    • 通過獲取AssemblerResult對象的jobLog資料成員的值,建立儲存日誌資訊的BLOB對象。
    • 建立儲存BLOB對象內容的位元組陣列。 取得BLOB物件的MTOM欄位值,以填入位元組陣列。
    • 調用System.IO.BinaryWriter對象的建構子並傳遞System.IO.FileStream對象,以建立對象。
    • 調用System.IO.BinaryWriter物件的Write方法並傳遞位元組陣列,將位元組陣列的內容寫入PDF檔案。
    注意

    如果DDX文檔無效,則拋出OperationException。 在catch語句中,可以獲取OperationException對象jobLog成員的值。

另請參閱

驗證DDX文檔

使用MTOM叫用AEM Forms

本頁內容

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now