Nodo HTTPInput

Questo argomento contiene le seguenti sezioni:

Scopo

Utilizzare il nodo HTTPInput per ricevere le richieste del servizio Web per l'elaborazione da parte di un flusso di messaggi. Utilizzando il nodo HTTPInput con i nodi HTTPReply e HTTPRequest, il broker può agire come intermediario per i servizi Web e le richieste del servizio Web possono essere trasformate ed instradate allo stesso modo di altri formati del messaggio supportati da WebSphere Message Broker. Le richieste del servizio Web si possono ricevere in formato HTTP standard (1.0 o 1.1) e anche in formato HTTPS (HTTP over SSL). E' possibile impostare la proprietà Utilizza HTTPS per scegliere se gestire richieste HTTP o HTTPS.

Se, in un flusso di messaggi, si include un nodo HTTPInput, è necessario includere un nodo HTTPReply nello stesso flusso o trasmettere il messaggio ad un altro flusso che includa un nodo HTTPReply (ad esempio, attraverso un nodo MQOutput ad un secondo flusso che inizia con un nodo MQInput). Nel secondo caso, la richiesta dal e la replica al client sono coordinate dall'identificativo della richiesta memorizzato in LocalEnvironment (descritto di seguito).

Il nodo HTTPInput gestisce i messaggi nei seguenti domini di messaggi:

  • MRM
  • XML
  • XMLNS
  • XMLNSC
  • JMS
  • JMSStream
  • IDOC
  • MIME
  • BLOB

Quando il nodo HTTPInput riceve un messaggio da un client del servizio Web, esso richiama i programmi di analisi appropriati per interpretare le intestazioni e il contenuto del messaggio e per creare la struttura ad albero del messaggio utilizzata internamente dal flusso di messaggi. Il nodo crea un identificativo univoco per il messaggio di input e lo memorizza come array binario di 24 byte nella struttura ad albero LocalEnvironment su LocalEnvironment.Destination.HTTP.RequestIdentifer. Questo valore è utilizzato dal nodo HTTPReply e non deve essere modificato in alcun modo.

I messaggi HTTP sono sempre non permanenti e non hanno un ordine associato.

I messaggi HTTP sono non transazionali. Tuttavia, se il flusso di messaggi interagisce con un database o con un'altra risorsa esterna come una coda WebSphere MQ, queste interazioni vengono eseguite in modo transazionale. Il nodo HTTPInput effettua il commit o il rollback a seconda di come è terminato il flusso di messaggi e di come è configurato per la gestione degli errori (come sono connessi i terminali failure, ad esempio). Se il flusso di messaggi è sottoposto a rollback da questo nodo, un messaggio di errore viene generato e restituito al client. Il formato dell'errore è definito dalla proprietà Formato errore

Se si verifica un'eccezione nella successiva elaborazione di questo flusso di messaggi e non è rilevata ma viene restituita a questo nodo, il nodo crea una replica di errore al client. Questo errore è derivato dall'eccezione e il formato dell'errore è definito dalla proprietà Formato errore.

Se si include un nodo di output in un flusso di messaggi che inizia con un nodo HTTPInput, questo può essere un qualunque nodo di output supportato (compresi i nodi di output definiti dall'utente). E' possibile creare un flusso di messaggi che riceve i messaggi dai client del servizio Web e genera messaggi per i client che utilizzano tutti i trasporti supportati per la connessione al broker, perché si può configurare il flusso di messaggi per richiedere al broker di fornire tutte le conversioni necessarie.

Se si crea un flusso di messaggi da utilizzare come un flusso secondario, non è possibile utilizzare un nodo di input standard; è necessario utilizzare un'istanza del nodo Input come primo nodo per creare un terminale in per il flusso secondario.

Se il flusso di messaggi non riceve richieste del servizio Web, è possibile scegliere uno dei nodi di input supportati.

Il nodo HTTPInput è rappresentato nel workbench dalla seguente icona:

Icona del nodo HTTPInput

Utilizzo di questo nodo in un flusso di messaggi

Il nodo HTTPInput può essere utilizzato da qualsiasi flusso di messaggi per il quale sia necessario accettare i messaggi HTTP o HTTPS. L'esempio più comune è un flusso di messaggi che implementa un servizio Web. Per informazioni sulle applicazioni del servizio Web, consultare Applicazioni del servizio Web.

Configurazione del nodo HTTPInput

Una volta inserita un'istanza del nodo HTTPInput in un flusso di messaggi, è possibile configurarla. Fare clic con il tasto destro del mouse sul nodo nella vista dell'editor e fare clic su Proprietà. Le proprietà base del nodo vengono visualizzate nella finestra di dialogo delle proprietà.

Tutte le proprietà obbligatorie, per le quali è necessario immettere un valore (quelle per le quali non è specificato un valore predefinito), sono contrassegnate con un asterisco nella finestra di dialogo delle proprietà.

Configurare il nodo HTTPInput come segue:

  1. In Selettore URL, immettere la parte di percorso dell'URL da cui questo nodo riceve le richieste del servizio Web. Non immettere l'URL completo.
  2. Immettere l'intervallo di timeout Tempo di attesa massimo del client, espresso in un numero di secondi. Questo indica il periodo di tempo in cui il listener TCP/IP che riceve il messaggio di input dal client del servizio Web attende una risposta dal nodo HTTPReply nel flusso di messaggi. Se una risposta viene ricevuta entro questo intervallo di tempo, il listener trasmette la risposta al client. Se una risposta non è ricevuta entro questo intervallo di tempo, il listener invia un messaggio di errore SOAP al client che indica che il timeout è scaduto.
  3. Selezionare Formato errore come SOAP 1.1, SOAP 1.2 o HTML.
  4. Se il nodo deve accettare HTTP protetto, selezionare la casella di spunta Utilizza HTTPS.
  5. Selezionare Predefinite nel Navigator della finestra di dialogo delle proprietà e impostare i valori per le proprietà che descrivono il dominio dei messaggi, la serie di messaggi, il tipo di messaggio e il formato del messaggio che il nodo utilizza per stabilire come analizzare il messaggio in entrata.
    • Nel campo Dominio messaggi, selezionare il nome del programma di analisi che si sta utilizzando dall'elenco a discesa. E' possibile scegliere tra:
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • JMSMap
      • JMSStream
      • IDOC
      • MIME
      • BLOB
    • Se si sta utilizzando il programma di analisi MRM o IDOC, selezionare la serie di messaggi corretta dall'elenco a discesa nel campo Serie di messaggi. Questo elenco è popolato con le serie di messaggi disponibili quando si seleziona MRM o IDOC come dominio.

      Lasciare il campo Serie di messaggi vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME e BLOB.

    • Se si sta utilizzando il programma di analisi MRM, selezionare il messaggio corretto dall'elenco a discesa in Tipo messaggio. Questo elenco è popolato con i messaggi definiti nella serie di messaggi selezionata.

      Lasciare il campo Tipo messaggio vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, IDOC, MIME e BLOB.

    • Se si sta utilizzando il programma di analisi MRM o IDOC, selezionare il formato del messaggio dall'elenco a discesa nel campo Formato del messaggio. Questo elenco include tutti i formati fisici definiti per questa serie di messaggi.

      Lasciare il campo Formato del messaggio vuoto per i programmi di analisi XML, XMLNS, XMLNSC, JMS, MIME e BLOB.

  6. Selezionare Convalida nel Navigator della finestra di dialogo delle proprietà se si desidera che il programma di analisi MRM convalidi il contenuto dei messaggi rispetto al dizionario generato dalla serie di messaggi. (Se un messaggio è trasmesso al terminale failure del nodo, non viene convalidato.)

    Per ulteriori dettagli fare riferimento a Convalida dei messaggi e Proprietà della convalida per i messaggi nel dominio MRM.

  7. Selezionare Opzioni generali messaggio nel Navigator della finestra di dialogo delle proprietà. Intervallo di analisi è, per impostazione predefinita, impostato su Su richiesta. Questo fa sì che la convalida venga ritardata fino al completamento dell'analisi parziale. Se si modifica in Immediata, l'analisi parziale viene sovrascritta e tutto il contenuto presente nel messaggio viene analizzato e convalidato, tranne i tipi complessi con una Composizione di Scelta o Messaggio, che non può essere risolta al momento. Se questa impostazione viene modificata in Completa, l'analisi parziale viene sovrascritta e tutto il contenuto del messaggio viene analizzato e convalidato; i tipi complessi con una Composizione di Scelta o Messaggio, che non possono essere risolti al momento, hanno come risultato un errore di convalida.
  8. Selezionare Descrizione nel Navigator della finestra di dialogo delle proprietà per immettere una descrizione breve, una descrizione completa o entrambe.
  9. Fare clic su Applica per effettuare le modifiche al nodo HTTPInput senza chiudere la finestra di dialogo delle proprietà. Fare clic su OK per applicare le modifiche e chiudere la finestra di dialogo delle proprietà.

    Fare clic su Annulla per chiudere la finestra di dialogo ed eliminare tutte le modifiche apportate alle proprietà.

Connessione dei terminali

HTTPInput instrada ogni messaggio che richiama con esito positivo sul terminale out. Se la convalida del messaggio ha esito negativo, il messaggio è instradato al terminale failure; per gestire questa condizione si possono collegare dei nodi a questo terminale. Se il terminale failure non è stato connesso, il messaggio viene eliminato, il Tempo massimo di attesa client scade e il listener TCP/IP restituisce al client un errore. Non esistono altre situazioni in cui il messaggio è instradato al terminale failure.

Se il messaggio viene rilevato da questo nodo dopo che è stata generata un'eccezione nel successivo avanzamento del flusso di messaggi, il messaggio viene instradato al terminale catch. Se il terminale catch non è stato connesso, il messaggio è eliminato, il Tempo massimo di attesa client scade e il listener TCP/IP restituisce al client un errore.

Terminali e proprietà

I terminali del nodo HTTPInput sono descritti nella seguente tabella.

Terminale Descrizione
Failure Il terminale di output a cui è instradato il messaggio, se si verifica un errore.
Out Il terminale di output a cui è instradato il messaggio se è richiamato con esito positivo.
Catch Il terminale di output a cui è instradato il messaggio se viene generata un'eccezione nel proseguimento dell'elaborazione e questo nodo la rileva.

Le seguenti tabelle descrivono le proprietà del nodo; la colonna con l'intestazione O indica se la proprietà è obbligatoria (contrassegnata con un asterisco nella finestra di dialogo delle proprietà, se è necessario immettere un valore quando non è specificato un valore predefinito), la colonna con l'intestazione C indica se la proprietà è configurabile (è possibile modificare il valore quando si aggiunge un flusso di messaggi a un file bar per distribuirlo).

Le proprietà base del nodo HTTPInput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Selettore URL   Identifica l'ubicazione da cui sono richiamate le richieste del servizio Web. Se l'URL è http://<hostname>[:<port>]/[<path>], specificare /<path> o /<path fragment>/* dove * rappresenta un carattere wildcard che è possibile utilizzare per indicare una corrispondenza completa.
Tempo di attesa massimo del client No 180 Quanto tempo attende il listener, in secondi, prima di restituire un messaggio di errore al client. L'intervallo valido è da zero (che indica attesa indeterminata) a (231)-1.
Formato errore No SOAP 1.1 Il valore della proprietà può essere SOAP 1.1, SOAP 1.2 o HTML. Questa proprietà definisce il formato di tutti gli errori HTTP restituiti al client.
Utilizza HTTPS No no Individua se il nodo deve accettare HTTP protetto.

Le proprietà predefinite del nodo HTTPInput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Dominio messaggi No No   Il dominio che sarà utilizzato per analizzare il messaggio in entrata.
Serie di messaggi No No   Il nome o identificativo della serie di messaggi in cui è definito il messaggio in entrata.
Tipo messaggio No No   Il nome del messaggio in entrata.
Formato del messaggio No No   Il nome del formato fisico del messaggio in entrata.

Le proprietà Convalida del nodo HTTPInput sono descritte nella seguente tabella.

Fare riferimento a Proprietà della convalida per i messaggi nel dominio MRM per una descrizione completa di queste proprietà.

Proprietà O C Valore predefinito Descrizione
Convalida No Nessuno Indica se viene effettuata la convalida. I valori validi sono Nessuno, Contenuto e valore e Contenuto.
Azione in caso di errore No No Eccezione Indica cosa accade se la convalida ha esito negativo. E' possibile impostare questa proprietà solo se si imposta Convalida su Contenuto o Contenuto e valore. I valori validi sono Traccia utente, Registrazione errori locale, Eccezione ed Elenco di eccezioni.
Includi tutti i vincoli valore No No Selezionata Questa proprietà non può essere modificata. L'azione predefinita, indicata dalla casella di spunta selezionata, è che i controlli del vincolo del valore base sono inclusi nella convalida Contenuto e valore.
Correzione No No Nessuno Questa proprietà non può essere modificata.

Le proprietà delle Opzioni generali messaggio per il nodo HTTPInput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Intervallo di analisi No No Su richiesta Questa proprietà consente di controllare quando viene analizzato un messaggio di input. I valori validi sono Su richiesta, Immediata e Completa.

Fare riferimento ad Analisi su richiesta per una descrizione completa di questa proprietà.

Utilizza programma di analisi compatto MQRFH2C per il dominino MQRFH2 No No Deselezionata Questa proprietà consente di controllare se viene utilizzato il programma di analisi compatto MQRFH2C, invece del programma di analisi MQRFH2, per le intestazioni MQRFH2.

Le proprietà delle Opzioni del programma di analisi XMLNSC per il nodo HTTPInput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Utilizza programma di analisi compatto XMLNSC per il dominio XMLNS No No Deselezionata Inizio modificaTale proprietà consente di controllare se il programma di analisi XMLNSC viene utilizzato per messaggi nel dominio XMLNSC. Se si imposta questa proprietà, i dati del messaggio verranno visualizzati in XMLNSC nei nodi collegati al terminal dell'output quando l'intestazione RFH2 di input o il dominio di proprietà predefinito è XMLNS.Fine modifica
Modalità di mantenimento contenuto misto No No Nessuno Questa proprietà controlla se il programma di analisi XMLNSC crea elementi nella struttura ad albero del messaggio quando rileva testo misto in un messaggio di input. I valori validi sono Nessuno e Tutti. La selezione del valore Tutti indica che gli elementi vengono creati per testo misto. La selezione del valore Nessuno indica che il testo misto viene ignorato e non viene creato alcun elemento.
Modalità di mantenimento commenti No No Nessuno Questa proprietà controlla se il programma di analisi XMLNSC crea elementi nella struttura ad albero del messaggio quando rileva commenti in un messaggio di input. I valori validi sono Nessuno e Tutti. La selezione del valore Tutti indica che vengono creati elementi per i commenti. La selezione del valore Nessuno indica che i commenti vengono ignorati e non viene creato alcun elemento.
Modalità di mantenimento delle istruzioni di elaborazione No No Nessuno Questa proprietà controlla se il programma di analisi XMLNSC crea elementi nella struttura ad albero del messaggio quando rileva istruzioni di elaborazione in un messaggio di input. I valori validi sono Nessuno e Tutti. La selezione del valore Tutti indica che vengono creati elementi per le istruzioni di elaborazione. La selezione del valore Nessuno indica che le istruzioni di elaborazione vengono ignorate e non viene creato alcun elemento.

Le proprietà Descrizione del nodo HTTPInput sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Descrizione breve No No   Una breve descrizione del nodo.
Descrizione completa No No   Testo che descrive lo scopo del nodo nel flusso di messaggi.
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac04565_