自訂勾點以驗證引入翻譯內容
CustomXMLValidationHook 可在將內容匯入到 Service Information Manager 之前使用 XML 檔案驗證從翻譯廠商收到的引入翻譯內容。如果驗證成功,匯入流程會繼續。如果驗證產生例外,「SIM 翻譯」的匯入流程會失敗,且來自例外的資訊會新增至匯入失敗記錄檔。除了例外之外,不會匯入翻譯封裝的內容,即使翻譯封裝包含可能已通過 CustomXMLValidationHook 驗證的任何檔案也是如此。
實行此勾點需要您指定下列詳細資訊︰
「匯入翻譯封裝」流程在何狀態下為失敗 - 第一次 XML 驗證失敗時,或最後一次 XML 驗證失敗之後。
在匯入記錄檔中填入 XML 驗證失敗之檔案的錯誤訊息。
「匯入翻譯封裝」流程中,CustomXMLValidationHook 驗證會在檢查翻譯封裝錯誤 XML 檔案內容之後、入庫翻譯內容之前進行。
介面
package com.ptc.tml.validation;
import java.io.InputStream;
/**The interface provides the custom XML validation service for the translation *contents. The interface receives the file name and input stream of the file which is to be validated for the XML and need to throw the exception to indicate the XML validation
*failure for given file. The implementation must state whether the Import Translation Process should fail if the first XML validation failure has *encountered or after the last XML validation failure. The implementation also needs to populate the error message
*for failed XML validation for logging purpose.
*/
public interface CustomXMLValidationHook {
/**
* @return boolean Boolean value to indicate whether the translation process should be failed when the first XML validation failure is encountered
*/
public boolean failOnFirstError();
/**
* @param fileName Name of file in the translation zip to validated for XML
* @param is InputStream of the file to be validated for XML
* @throws TranslationException
*/
public void validateXML (String fileName, InputStream is) throws TranslationException;
/**
* @return Error message to be logged for XML validation failures
*/
public String getErrorMessage();
}
另請參閱 SampleCustomXMLValidationFailFastHookImpl.javaSampleCustomXMLValidationHookImpl.java,這是供您參考的範例實行。您可在 $WT_HOME\codebase\com\ptc\tml\sample 位置找到它們。
登錄
1. 使用 xconfmanager 公用程式來編輯 translation.service.properties.xconf。您也可以在位於 <Windchill>/codebase/com/ptc/core/components.的 components.service.properties 檔案中予以註冊。如需使用 xconfmanager 公用程式的資訊,請參閱關於 xconfmanager 公用程式
2. 新增下列內容:
<Service context="default"
name="com.ptc.tml.validation.CustomXMLValidationHook">
<Option serviceClass="YourCustomXMLValidationHookClassName"
selector="null"/>
</Service>
3. 儲存檔案。
4. 使用 xconfmanager 公用程式傳播變更。從 <Windchill>\bin 目錄中輸入下列指令:
xconfmanager -pF
5. 重新啟動應用伺服器。
這是否有幫助?