Zusätzliche Funktionen von Windchill > Serviceinformationsverwaltung > Windchill Service Information Manager und Windchill Service Parts anpassen > Benutzerdefinierter Programmeinstieg zur Validierung von eingehendem übersetztem Inhalt
  
Benutzerdefinierter Programmeinstieg zur Validierung von eingehendem übersetztem Inhalt
Der Programmeinstieg CustomXMLValidationHook kann den eingehenden übersetzten Inhalt, der von Übersetzungsanbietern geliefert wird, anhand einer XML-Datei validieren, bevor der Inhalt in Service Information Manager importiert wird. Wenn die Validierung erfolgreich ist, wird der Importvorgang fortgesetzt. Wenn die Validierung eine Ausnahme generiert, schlägt der Importvorgang im SIM Übersetzungsmodul fehl, und die Informationen in der Ausnahme werden der Importfehler-Protokolldatei hinzugefügt. Es wird nicht nur eine Ausnahme generiert, sondern der gesamte Inhalt des Übersetzungspakets wird nicht importiert, selbst wenn das Übersetzungspaket Dateien enthielt, die die CustomXMLValidationHook-Validierung möglicherweise bestanden haben.
Für die Implementierung dieses Programmeinstiegs müssen Sie die folgenden Informationen angeben:
Status, bei dem der Prozess Übersetzungspakete importieren fehlschlagen soll: beim ersten XML-Validierungsfehler oder nach dem letzten XML-Validierungsfehler.
Ob Fehlermeldungen für Dateien, für die die XML-Validierung fehlgeschlagen ist, in die Importprotokolldatei eingefügt werden sollen.
Im Prozess Übersetzungspakete importieren findet die Validierung durch CustomXMLValidationHook statt, nachdem das übersetzte Paket auf fehlerhafte XML-Dateiinhalte überprüft wurde, aber bevor der übersetzte Inhalt eingecheckt wird.
Schnittstelle
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();
}
Weitere Informationen finden Sie auch unter SampleCustomXMLValidationFailFastHookImpl.java und SampleCustomXMLValidationHookImpl.java; dies sind Beispielimplementierungen, die als Referenz bereitgestellt wurden. Sie stehen im Verzeichnis $WT_HOME\codebase\com\ptc\tml\sample zur Verfügung.
Registrierung
1. Verwenden Sie das Dienstprogramm "xconfmanager", um translation.service.properties.xconf zu bearbeiten. Die Registrierung ist auch in der Datei components.service.properties im Verzeichnis <Windchill>/codebase/com/ptc/core/components möglich. Weitere Informationen zur Verwendung des xconfmanager-Dienstprogramms finden Sie unter Dienstprogramm "xconfmanager".
2. Fügen Sie die folgende Eigenschaft hinzu:
<Service context="default"
name="com.ptc.tml.validation.CustomXMLValidationHook">
<Option serviceClass="YourCustomXMLValidationHookClassName"
selector="null"/>
</Service>
3. Speichern Sie die Datei.
4. Übertragen Sie die Änderungen mit dem Dienstprogramm "xconfmanager". Geben Sie im Verzeichnis <Windchill>\bin den folgenden Befehl ein:
xconfmanager -pF
5. Starten Sie den Methodenserver neu.