本檔案中的範例和範例僅適用於JEE環境上的AEM Forms 。
您可以以程式設計方式驗證Assembler服務所使用的DDX檔案。 也就是說,您可以使用Assembler服務API來判斷DDX檔案是否有效。 例如,如果您從先前的AEM Forms版本升級,並且想要確保DDX檔案有效,則可以使用組合器服務API來驗證它。
如需有關組合器服務的詳細資訊,請參閱 AEM Forms的服務參考.
如需有關DDX檔案的詳細資訊,請參閱 組合器服務和DDX參考.
若要驗證DDX檔案,請執行下列工作:
包含專案檔案
在您的開發專案中包含必要的檔案。 如果您使用Java建立使用者端應用程式,請包含必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
必須將以下JAR檔案新增到專案的類別路徑中:
如果AEM Forms部署在支援的J2EE應用程式伺服器上,而不是JBoss,您必須將adobe-utilities.jar和jbossall-client.jar檔案取代為特定於AEM Forms部署所在之J2EE應用程式伺服器的JAR檔案。
建立PDF組合器使用者端
您必須先建立Assembler服務使用者端,才能以程式設計方式執行Assembler作業。
參考現有的DDX檔案
若要驗證DDX檔案,您必須參考現有的DDX檔案。
設定執行階段選項以驗證DDX檔案
驗證DDX檔案時,您必須設定特定的執行階段選項,指示組合器服務驗證DDX檔案,而不是執行。 此外,您也可以增加Assembler服務寫入記錄檔的資訊量。
執行驗證
建立Assembler服務使用者端、參考DDX檔案並設定執行階段選項之後,您可以叫用 invokeDDX
驗證DDX檔案的作業。 驗證DDX檔案時,您可以通過 null
作為map引數(此引數通常會儲存Assembler執行DDX檔案中指定之作業所需的PDF檔案)。
如果驗證失敗,系統會擲回例外狀況,而記錄檔中包含說明DDX檔案無效原因的詳細資訊,您可從 OperationException
執行個體。 一旦通過基本的XML剖析和結構描述檢查,就會執行DDX規格的驗證。 所有位於DDX檔案中的錯誤都會在記錄中指定。
將驗證結果儲存在記錄檔中
Assembler服務會傳回您可以寫入XML記錄檔的驗證結果。 Assembler服務寫入記錄檔的詳細資訊量取決於您設定的執行階段選項。
另請參閱
使用組合器服務API (Java)驗證DDX檔案:
包含專案檔案。
在您的Java專案的類別路徑中包含使用者端JAR檔案,例如adobe-assembler-client.jar。
建立PDF組合器使用者端。
ServiceClientFactory
包含連線屬性的物件。AssemblerServiceClient
物件,使用它的建構函式並傳遞 ServiceClientFactory
物件。參考現有的DDX檔案。
java.io.FileInputStream
物件,使用它的建構函式並傳遞字串值(指定DDX檔案的位置)來代表DDX檔案。com.adobe.idp.Document
物件,使用它的建構函式並傳遞 java.io.FileInputStream
物件。設定執行階段選項以驗證DDX檔案。
AssemblerOptionSpec
物件,使用其建構函式來儲存執行階段選項。AssemblerOptionSpec
物件的setValidateOnly方法和傳遞 true
.AssemblerOptionSpec
物件的 getLogLevel
方法和傳遞字串值符合您的需求。 驗證DDX檔案時,您想要將更多資訊寫入記錄檔,以協助進行驗證程式。 因此,您可以傳遞值 FINE
或 FINER
.執行驗證。
叫用 AssemblerServiceClient
物件的 invokeDDX
方法並傳遞下列值:
com.adobe.idp.Document
代表DDX檔案的物件。null
java.io.Map物件(通常儲存PDF檔案)。com.adobe.livecycle.assembler.client.AssemblerOptionSpec
指定執行階段選項的物件。此 invokeDDX
方法傳回 AssemblerResult
包含指定DDX檔案是否有效的資訊的物件。
將驗證結果儲存在記錄檔中。
java.io.File
物件,並確認副檔名為.xml。AssemblerResult
物件的 getJobLog
方法。 此方法會傳回 com.adobe.idp.Document
包含驗證資訊的例項。com.adobe.idp.Document
物件的 copyToFile
複製目錄內容的方法 com.adobe.idp.Document
物件至檔案。如果DDX檔案無效,請 OperationException
擲回。 在catch陳述式中,您可以叫用 OperationException
物件的 getJobLog
方法。
另請參閱
快速入門(SOAP模式):使用Java API驗證DDX檔案 (SOAP模式)
使用組合器服務API (Web服務)驗證DDX檔案:
包含專案檔案。
建立使用MTOM的Microsoft .NET專案。 請確定您使用下列WSDL定義: http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.
將localhost取代為表單伺服器的IP位址。
建立PDF組合器使用者端。
建立 AssemblerServiceClient
物件(使用其預設建構函式)。
建立 AssemblerServiceClient.Endpoint.Address
物件,使用 System.ServiceModel.EndpointAddress
建構函式。 將指定WSDL的字串值傳遞至AEM Forms服務(例如, http://localhost:8080/soap/services/AssemblerService?blob=mtom
)。 您不需要使用 lc_version
屬性。 當您建立服務參考時,會使用此屬性。
建立 System.ServiceModel.BasicHttpBinding
物件,方法是取得 AssemblerServiceClient.Endpoint.Binding
欄位。 將傳回值轉換為 BasicHttpBinding
.
設定 System.ServiceModel.BasicHttpBinding
物件的 MessageEncoding
欄位至 WSMessageEncoding.Mtom
. 此值可確保使用MTOM。
執行下列工作來啟用基本HTTP驗證:
AssemblerServiceClient.ClientCredentials.UserName.UserName
.AssemblerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
至欄位 BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
至欄位 BasicHttpBindingSecurity.Security.Mode
.參考現有的DDX檔案。
BLOB
物件(使用其建構函式)。 此 BLOB
物件可用來儲存DDX檔案。System.IO.FileStream
物件,方法是叫用其建構函式,並傳遞代表DDX檔案檔案位置的字串值,以及用來開啟檔案的模式。System.IO.FileStream
物件。 您可以取得 System.IO.FileStream
物件的 Length
屬性。System.IO.FileStream
物件的 Read
方法,並傳遞位元組陣列、起始位置以及要讀取的資料流長度。BLOB
物件,透過指派其 MTOM
具有位元組陣列內容的屬性。設定執行階段選項以驗證DDX檔案。
AssemblerOptionSpec
物件,使用其建構函式來儲存執行階段選項。AssemblerOptionSpec
物件的 validateOnly
資料成員。AssemblerOptionSpec
物件的 logLevel
資料成員。 方法驗證DDX檔案時,您想要將更多資訊寫入記錄檔,以協助進行驗證程式。 因此,您可以指定值 FINE
或 FINER
. 如需您可以設定的執行階段選項的相關資訊,請參閱 AssemblerOptionSpec
中的類別參考 AEM Forms API參考.執行驗證。
叫用 AssemblerServiceClient
物件的 invokeDDX
方法並傳遞下列值:
BLOB
代表DDX檔案的物件。null
的 Map
通常儲存PDF檔案的物件。AssemblerOptionSpec
指定執行階段選項的物件。此 invokeDDX
方法傳回 AssemblerResult
包含指定DDX檔案是否有效的資訊的物件。
將驗證結果儲存在記錄檔中。
System.IO.FileStream
物件,方法是叫用其建構函式,並傳遞代表記錄檔檔案位置的字串值,以及用來開啟檔案的模式。 確認副檔名為.xml。BLOB
物件,透過取得 AssemblerResult
物件的 jobLog
資料成員。BLOB
物件。 透過取得 BLOB
物件的 MTOM
欄位。System.IO.BinaryWriter
物件,方法是叫用其建構函式並傳遞 System.IO.FileStream
物件。System.IO.BinaryWriter
物件的 Write
方法並傳遞位元組陣列。如果DDX檔案無效,請 OperationException
擲回。 在catch陳述式中,您可以取得 OperationException
物件的 jobLog
成員。
另請參閱