Prestaciones adicionales > Gestión de datos de servicio > Personalización de Windchill Service Information Manager y Windchill Service Parts > Enlace personalizado para validar el contenido traducido entrante
  
Enlace personalizado para validar el contenido traducido entrante
CustomXMLValidationHook puede validar el contenido traducido entrante recibido de los proveedores de traducción con un fichero XML antes de importar el contenido a Service Information Manager. Si la validación es correcta, continúa el proceso de importación. Si la validación genera una excepción, la traducción de SIM no puede realizar el proceso de importación y la información de la excepción se añade al fichero de registro del fallo de importación. Además de la excepción, no se importa el contenido del paquete de traducción, incluso si en el paquete de traducción se incluyen ficheros que pueden haber superado la validación de CustomXMLValidationHook.
La implementación de este enlace requiere la especificación de los detalles siguientes:
Indicar cuándo debe fallar el proceso Importar paquetes de traducción: en el primer fallo de validación XML o después del último fallo de validación XML.
Rellenar el mensaje de error para los ficheros que no han superado la validación XML en el fichero de registro de importación.
En el proceso Importar paquetes de traducción, la validación de CustomXMLValidationHook se produce después de que el paquete traducido se haya verificado para saber si el contenido del fichero XML es incorrecto, pero antes de archivar el contenido traducido.
Interfaz:
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();
}
Consulte también, SampleCustomXMLValidationFailFastHookImpl.java y SampleCustomXMLValidationHookImpl.java, que son las implementaciones de muestra que se han proporcionado como referencia. Están disponibles en la ubicación $WT_HOME\codebase\com\ptc\tml\sample.
Registro
1. Use la utilidad xconfmanager para editar translation.service.properties.xconf. También se puede registrar en el fichero components.service.properties que se encuentra en <Windchill>/codebase/com/ptc/core/components. Para obtener más información sobre el uso de la utilidad xconfmanager, consulte Acerca de la utilidad xconfmanager.
2. Añada la siguiente propiedad:
<Service context="default"
name="com.ptc.tml.validation.CustomXMLValidationHook">
<Option serviceClass="YourCustomXMLValidationHookClassName"
selector="null"/>
</Service>
3. Guarde el fichero.
4. Propague los cambios mediante la utilidad xconfmanager. En el directorio <Windchill>\bin, introduzca el siguiente comando:
xconfmanager -pF
5. Reinicie el servidor de métodos.