Gestore HTTP

Il gestore HTTP è un componente Java™ costituito da proprietà. Il gestore invia un messaggio di integrazione in uscita a un URL utilizzando i protocolli HTTP o HTTPS. Il gestore HTTP valuta anche il codice di risposta ricevuto dal sistema esterno.

proprietà HTTPEXIT

Questa proprietà opzionale è utilizzata per la personalizzazione e specifica il nome completamente qualificato di una classe Java che interpreta la risposta HTTP. Questa proprietà aiuta anche a implementare il codice necessario a un sistema esterno per interpretare la risposta HTTP.

Suggerimento: È anche possibile configurare le uscite dei gestori HTTP utilizzando script di automazione. Per ulteriori informazioni sulla configurazione con uno script, vedere Definizione di un gestore HTTP mediante uno script.

La classe Java deve essere disponibile nel file EAR dell'applicazione e deve trovarsi nel percorso di classe del gestore.

Tabella 1. Valori proprietà
Proprietà Valore
classe Java DefaultHTTPExit.java
Pacchetto psdi.iface.router
proprietà HTTPEXIT psdi.iface.router.DefaultHTTPExit

Se non si specifica un valore per questa proprietà, la classe di uscita DefaultHTTPExit viene eseguita e implementa l'interfaccia psdi.iface.router.HTTPExit . La classe Java ha i seguenti metodi chiave:

Tabella 2. Metodi chiave per la classe Java
Metodo Firma Descrizione
processResponseData() public void processResponseData(int responseCode, String responseMsg, byte[] msgBodyData) throws MXException

L'implementazione predefinita confronta il codice di risposta dal sistema esterno con un intervallo di codici validi (valori da 200 a 299). Se il codice di risposta non rientra in tale intervallo, il sistema presume che il messaggio non sia stato consegnato al sistema esterno. Si verifica un'eccezione e il messaggio rimane nella coda.

Se si necessita di un'elaborazione aggiuntiva per un'implementazione specifica, estendere l'implementazione predefinita e sovrascrivere il metodo processResponseData (). Come alternativa, è possibile implementare l'interfaccia psdi.iface.router.HTTPExit . Se la risposta ricevuta dal sistema esterno non supera la convalida in questa classe, il metodo di sovrascrittura deve emettere un'eccezione.

Se non si definisce un valore per questa proprietà, viene eseguita l'implementazione predefinita di HTTPExit .

getURLProperties() public Map String, String getURLProperties(Map String,? metaData, byte[] data, Map String,MaxEndPointPropInfo httpInfo) Restituisce la mappa delle proprietà URL che vengono aggiunte all' URL nella forma url?prop1=value1&... L'implementazione predefinita restituisce un valore null.
getHeaderProperties() public Map String, String getHeaderProperties(Map String,? metaData, byte[] data, Map String,MaxEndPointPropInfo httpInfo) Restituisce una mappa delle proprietà delle intestazioni HTTP per la richiesta. L'implementazione predefinita restituisce un valore null a meno che una mappa della proprietà dell'intestazione non sia associata alla mappa dei metadati che ha la chiave HEADERPROPS.
transformPayloadToFormData() public Map String, String transformPayloadToFormData
(Map String,? metaData, byte[] data,Map String,MaxEndPointPropInfo destinationMap)
Converte il payload XML in dati. L'implementazione predefinita restituisce un valore null.
È possibile utilizzare i seguenti metodi per controllare l'eccezione se si verifica un errore. Se si crea uno script che include uno di questi metodi, selezionare la check box Consenti il richiamo dei metodi in modo che il processore di script possa richiamare le funzioni di script associate a tali metodi.
Tabella 3. Metodi per la personalizzazione delle eccezioni
Metodo Descrizione
urlProps() Aggiunge parametri di query a un URL configurato. L'interfaccia psdi.iface.router.ScriptHTTPReq implementa l'oggetto richiesta.
getUrl() Imposta l' URL per la chiamata HTTP.
headerProps() Imposta le intestazioni della richiesta per la chiamata HTTP.
processResponse() Elabora la risposta HTTP. L'interfaccia psdi.iface.router.ScriptHTTPResp implementa l'oggetto risposta.

proprietà CONNECTTIMEOUT

Questa proprietà facoltativa specifica il valore di timeout della connessione in millisecondi.

proprietà READTIMEOUT

Questa proprietà facoltativa specifica il valore di timeout di lettura in millisecondi.

proprietà HTTPMETHOD

Questa proprietà obbligatoria specifica un metodo HTTP valido che viene eseguito dall'endpoint. I metodi HTTP validi sono GET, POST, PUT, PATCH e DELETE.

proprietà HTTPHEADER

Questa proprietà opzionale può aggiungere un elenco di nomi e valori separati da virgole alla sezione dell'intestazione dei messaggi HTTP. L'elenco comprende informazioni sul nome e sul valore nel formato Headername1:Headervalue1, Headername2:Headervalue2. Se non viene fornito alcun valore nella proprietà, il codice personalizzato può inserire i valori nel contesto della transazione durante l'elaborazione del canale di richiamo.

Proprietà URL

Questa proprietà opzionale specifica un URL valido in cui è possibile inviare dati XML o in cui è possibile eseguire un'operazione HTTP GET.

Proprietà USERNAME e PASSWORD

Se l' URL richiede l'autenticazione di base, queste proprietà specificano i valori richiesti. Entrambi i valori sono codificati MIME e vengono passati all' URL.

proprietà OAUTHCLIENT

Questa proprietà facoltativa specifica la chiave primaria per l'oggetto MAXOAUTHCLIENT, utilizzato per configurare OAuth per l'accesso ai servizi esterni.