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.
La classe Java deve essere disponibile nel file EAR dell'applicazione e deve trovarsi nel percorso di classe del gestore.
| 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:
| 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 |
Converte il payload XML in dati. L'implementazione predefinita restituisce un valore null. |
| 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.