Questo argomento fornisce informazioni che possono essere utili se si stanno utilizzando flussi di messaggi HTTP per interagire con i servizi Web. Andrebbero lette insieme alla successiva sezione Scenari dei servizi Web.
Ad esempio, se si progetta una coppia di flussi di messaggi che interagiscono con un'applicazione WebSphere MQ esistente (come descritto in Richiamo del broker di un servizio Web esistente), è possibile salvare questo valore nel flusso di richiesta e ripristinarlo nel flusso di replica per garantire che a ricevere la replica sia il client giusto. In questo caso, non si devono modificare i dati ed è necessario conservare i dati come BLOB.
Il nodo HTTPReply estrae questo valore da LocalEnvironment ed imposta la replica in modo che sia inviata al client specifico.
Se si progetta un flusso di messaggi che include sia un nodo HTTPInput che un nodo HTTPReply, il valore è impostato in LocalEnvironment dal nodo HTTPInput, ma il nodo HTTPReply non lo utilizza. Perciò se il flusso di messaggi include entrambi i nodi ed un nodo Compute nello stesso flusso, non è necessario includere la struttura ad albero LocalEnvironment quando si specifica quali componenti dell'albero del messaggio sono copiati dal messaggio di input al messaggio di output dal nodo Compute (la proprietà Modalità di calcolo).
Sebbene sia anche possibile impostare l'URL di richiesta nell'intestazione speciale X-Original-HTTP-URL nella sezione HTTPRequestHeader del messaggio di richiesta (che sovrascrive tutte le altre impostazioni) in un nodo Compute, si consiglia di utilizzare il contenuto di LocalEnvironment a questo scopo.
CALL CopyMessageHeaders(); SET OutputRoot.HTTPReplyHeader."Content-Type" = 'text/xml'; SET OutputRoot.XMLNS = InputRoot.XMLNS;
Nel caso particolare di Content-Type, non impostare questa intestazione utilizzando la proprietà ContentType, a meno che non si stia operando nel dominio MIME. La proprietà ContentType è intesa in modo specifico per impostare il valore di Content-Type utilizzato in MIME.
Se nel messaggio ricevuto dal nodo HTTPReply esisteva una sezione HTTPReplyHeader e il terminale Output del nodo HTTPReply è connesso, la sezione HTTPReplyHeader è aggiornata con qualsiasi valore modificato o aggiunto.
CALL CopyMessageHeaders(); SET OutputRoot.HTTPRequestHeader."Content-Type" = 'text/xml'; SET OutputRoot.XMLNS = InputRoot.XMLNS;Nel caso particolare di Content-Type, non impostare questa intestazione utilizzando la proprietà ContentType, a meno che non si stia operando nel dominio MIME. La proprietà ContentType è intesa in modo specifico per impostare il valore di Content-Type utilizzato in MIME.
Se esiste un'HTTPRequestHeader nel messaggio ricevuto, HTTPRequestHeader viene aggiornata con qualsiasi valore modificato o aggiunto.