Package org.frankframework.senders
Class XmlValidatorSender
java.lang.Object
org.frankframework.validation.AbstractXmlValidator
org.frankframework.validation.XercesXmlValidator
org.frankframework.senders.XmlValidatorSender
- All Implemented Interfaces:
FrankElement
,HasApplicationContext
,HasName
,IConfigurable
,IScopeProvider
,ISender
,NameAware
,org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
,org.springframework.context.Lifecycle
Sender that validates the input message against a XML Schema.
N.B. noNamespaceSchemaLocation may contain spaces, but not if the schema is stored in a .jar or .zip file on the class path.
- Author:
- Gerrit van Brakel
-
Nested Class Summary
Nested classes/interfaces inherited from class org.frankframework.validation.AbstractXmlValidator
AbstractXmlValidator.ValidationResult
-
Field Summary
Fields inherited from class org.frankframework.validation.XercesXmlValidator
DISALLOW_DOCTYPE_DECL_FEATURE_ID, EXTERNAL_GENERAL_ENTITIES_FEATURE_ID, EXTERNAL_PARAMETER_ENTITIES_FEATURE_ID, GRAMMAR_POOL, NAMESPACES_FEATURE_ID, SCHEMA_FULL_CHECKING_FEATURE_ID, SCHEMA_VALIDATION_FEATURE_ID, SECURITY_MANAGER_PROPERTY_ID, VALIDATION_FEATURE_ID, XML_SCHEMA_VERSION_PROPERTY
Fields inherited from class org.frankframework.validation.AbstractXmlValidator
ignoreUnknownNamespaces, log, logPrefix, schemasProvider, warn
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Configure this component.getName()
boolean
Whentrue
, the result of sendMessage is the reply of the request.sendMessage
(Message message, PipeLineSession session) Send a message to some destination (as configured in the Sender object).void
void
start()
This method will be called to start the sender.void
stop()
Stop/close the sender and deallocate resources.Methods inherited from class org.frankframework.validation.XercesXmlValidator
configure, createValidatingParser, createValidationContext, getPreparseResult, getSymbolTableInstance, getValidatorHandler, getXSModels
Methods inherited from class org.frankframework.validation.AbstractXmlValidator
finalizeValidation, getApplicationContext, getCharset, getConfigurationClassLoader, getIgnoreUnknownNamespaces, getInputSource, getLogPrefix, getOwner, getReasonSessionKey, getXmlReasonSessionKey, getXmlSchemaVersion, isFullSchemaChecking, isIgnoreCaching, isRunning, isStarted, isThrowException, isValidateFile, isXmlSchema1_0, setApplicationContext, setCharset, setFullSchemaChecking, setIgnoreCaching, setIgnoreUnknownNamespaces, setReasonSessionKey, setSchemasProvider, setThrowException, setValidateFile, setWarn, setXmlReasonSessionKey, setXmlSchemaVersion, validate, validate, validate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.context.ApplicationContextAware
setApplicationContext
Methods inherited from interface org.frankframework.core.HasApplicationContext
getApplicationContext, getConfigurationClassLoader
Methods inherited from interface org.frankframework.core.ISender
consumesSessionVariable, sendMessageOrThrow
-
Constructor Details
-
XmlValidatorSender
public XmlValidatorSender()
-
-
Method Details
-
configure
Description copied from interface:IConfigurable
Configure this component.configure()
is called once at startup of the framework in the configure method of the owner of thisIConfigurable
. Purpose of this method is to check whether the static configuration of the object is correct. As much as possible class-instantiating should take place in theconfigure()
, to improve performance.In the case of a container, this will propagate the configure signal to all components that apply.
- Specified by:
configure
in interfaceIConfigurable
- Throws:
ConfigurationException
- in case it was not able to configure the component.
-
stop
public void stop()Description copied from interface:ISender
Stop/close the sender and deallocate resources.- Specified by:
stop
in interfaceISender
- Specified by:
stop
in interfaceorg.springframework.context.Lifecycle
- Overrides:
stop
in classAbstractXmlValidator
-
start
public void start()Description copied from interface:ISender
This method will be called to start the sender. After this method is called the sendMessage method may be called. Purpose of this method is to reduce creating connections to databases etc. in thesendMessage()
method.- Specified by:
start
in interfaceISender
- Specified by:
start
in interfaceorg.springframework.context.Lifecycle
- Overrides:
start
in classXercesXmlValidator
-
sendMessage
@Nonnull public SenderResult sendMessage(@Nonnull Message message, @Nonnull PipeLineSession session) throws SenderException, TimeoutException Description copied from interface:ISender
Send a message to some destination (as configured in the Sender object). This method may only be called after theconfigure()
method is called.The following table shows the difference between synchronous and a-synchronous senders:
synchronous a-synchronous ISender.isSynchronous()
returnstrue
false
return value of sendMessage()
isthe reply-message the messageId of the message sent the correlationID specified with sendMessage()
may be ignored is sent with the message a {link TimeOutException} may be thrown if a timeout occurs waiting for a reply should not be expected Multiple objects may try to call this method at the same time, from different threads. Implementations of this method should therefore be thread-safe, or
synchronized
.- Specified by:
sendMessage
in interfaceISender
- Throws:
SenderException
TimeoutException
-
isSynchronous
public boolean isSynchronous()Description copied from interface:ISender
Whentrue
, the result of sendMessage is the reply of the request.- Specified by:
isSynchronous
in interfaceISender
-
getName
- Specified by:
getName
in interfaceHasName
- Overrides:
getName
in classAbstractXmlValidator
-
setName
-