Für dieses Element ist ein How-To Artikel verfügbar.

Semantik


 

Mit <eoms-input-query-data> können Sie Ressourcen (z.B. Fehlerberichte) vom EOMS-Input-Server empfangen, wenn Sie zuvor mit <eoms-input-submit> Daten übertragen haben. Stellen Sie davor aber mit <eoms-input-query-status> sicher, dass zuvor keine Probleme bei der Übertragung und Abarbeitung des Jobs an den EOMS-Input-Server aufgetreten sind. Die empfangene Ressource können Sie dann z.B. zurück an das Auftrags-System schicken.

 

Attribute


 

AttributnameDatentypBeschreibungMögliche WerteStandardwertObligatorisch?
idSTRINGDie ID des Elements, über die es im Code angesprochen werden kann.beliebiger, regelkonformer Name.(Fehler)
jobSTRINGDie ID des <eoms-input-submit>, für das die Abfrage getätigt werden soll.ID eines existierenden <eoms-input-submit>

(Haken)
workdirFILEOBJECTGibt das Arbeitsverzeichnis an, in dem die übertragenen Daten gespeichert werden.Die ID eines <workdir>-Elements(Haken)
timeoutSTRING (long)Die Zeit in ms, die auf eine erfolgreiche Übertragung gewartet werden soll, bis der Vorgang mit einer Ausnahme abgebrochen wird.Numerische Zeitangabe in ms.1000 (ms)(Fehler)

 

Subelemente / Inhalt


 

Das <eoms-input-query-data>-Element besitzt keine Subelemente.

 

Variablenbindungen


 

Das <eoms-input-query-data>-Element ist vom Typ REQUEST-OBJECT und besitzt daher die gleichen Variablenbindungen wie das <eoms-input-submit>-Element. Allerdings beziehen sich die Werte hier auf das <eoms-input-query-data>-Element und die dadurch initiierte Übertragung.

 

BindungBeschreibungRückgabetyp
getId()Gibt die Id des <eoms-input-query-data>-Elements zurück.STRING
getCreated()Gibt den Zeitpunkt, zu dem die Übertragung durch <eoms-input-submit> initialisiert wurde, zurück.DATE
getExpires()Gibt den Zeitpunkt, bis zu dem der <eoms-input-submit>-Vorgang gültig ist, zurück. Ab diesem Zeitpunkt wird der Vorgang verworfen, falls er noch nicht geendet hat.DATE
getMessages()Gibt die internen Messages zurück.LIST OF STRINGS
getProperties()Gibt die HashMap, die für den Übertragungsvorgang <eoms-input-submit> als variables übergeben wurde, zurück.MAP
getStatus()Gibt den Status des <eoms-input-submit> zurück. Kann entweder ACTIVE (aktiv) oder TERMINATED (fertig) sein.REQUESTSTATUS
getBody()Sollte nicht verwendet werden.SUBMITJOBREQUEST

 

Beispiel


 

In folgendem Beispiel wird die vom Aufrags-System (Spooler) durch <fetchresource> empfangene Ressource direkt an den EOMS-Input-Server gesendet. Mit übergeben wird eine HashMap, die per JavaScript erstellt wurde und per variables übergeben wird. Anschließend wird mit <eoms-input-query-status> die weitere Verarbeitung so lange unterbrochen, bis der EOMS-Input-Server meldet, dass die Übertragung des <eoms-input-submit> mit der id="submitJob" erfolgreich war. Erst dann wird die Verarbeitung fortgesetzt. So wird sichergestellt, dass weiterer Code nur ausgeführt wird, wenn der Vorgang auch erfolgreich war und es wird verhindert, dass mit inkonsistenten oder nicht vorhandenen Daten gearbeitet wird. Nun können auch durch <eoms-input-query-data> Ergebnisdaten vom EOMS-Input-Server angefordert werden, die wir dann auch mit <upload> weiterschicken (z.B. zurück zum Auftrags-System).

 

<rcml>	
	<process id="ExampleProcess" name="example process">
 
		<script language="JavaScript"><![CDATA[
             var submitVariables = new java.util.HashMap();
             submitVariables.put('EOMS_CLIENT', process['eoms.client']);
             submitVariables.put('EOMS_PROCEDURE', process['eoms.procedure']);
             submitVariables.put('EOMS_REFERENCE', process['eoms.reference']);
        ]]>
        </script>	
	
		<workdir id="workdir" home="./WORK"/>
  		<fetchresource id="inputFile" resource="${process['eoms.process.input']}"/>
 
  		<eoms-input-submit id="submitJob" file="inputFile" variables="${submitVariables}"/>
        
  		<eoms-input-query-status id="queryJobStatus" job="submitJob"/>
 
		<eoms-input-query-data id="queryJobData" job="submitJob" workdir="workdir" />
 
		<upload file="workdir" destination="${process['eoms.process.output']}" mask="*.*" />
 
	</process>	
</rcml>
Zweck:

Datenübertragung

Typ:

Standalone

Elternelement:

Top-Level-Elemente

Subelemente:

Nein

Variablenbindungen:

Ja

Falls die Übertragung nach Ablauf von timeout nicht erfolgreich war bricht die Verarbeitung mit einer Ausnahme (Exception) ab und nachfolgender Code wird nicht ausgeführt.