HTPP (Hypertext Transfer Protocol)
Hypertext Transfer Protocol ( HTTP ) è un connettore predefinito in webMethods Integration che consente di inviare richieste HTTP o HTTPS ai server Web dall'ambiente di integrazione.
Azioni
- httpRequest: Effettua le richieste HTTP o HTTPS al server specificato.
Parametri di input
- Url - (Stringa) URL della risorsa a cui si vuole accedere. Ad esempio,
http://www.rubicon.com/orders/orders.html.Importante: la stringa deve iniziare conhttp://ohttps://. - method - (Stringa) Specifica il metodo HTTP che si desidera utilizzare. I valori validi sono i seguenti:
- elimina
- ottenere
- capo
- opzioni
- patch
- registrare
- porre
- loadAs - (Stringa) Forma in cui si desidera che httpRequest restituisca la risposta. Impostare su -
bytes(predefinito) per restituire il corpo della risposta come byte[ ].streamper restituire il corpo della risposta come java.io.InputStream.
- dati - (Documento) Dati che si desidera che il sito httpRequest invii con la richiesta. Specificare i dati utilizzando una o più delle chiavi qui menzionate.Importante: quando si usa più di una chiave, args viene aggiunto per primo e stringa per ultimo.
args - Coppie nome-valore che si vuole che questo servizio invii alla risorsa nell'url. Si possono usare gli argomenti per inviare dati attraverso i metodi POST, PUT, PATCH, GET, DELETE o HEAD. Per specificare i dati con gli argomenti, creare un elemento stringa per ogni coppia nome-valore. Il nome rappresenta la chiave e il valore i dati.
Con gli argomenti, la richiesta HTTP codifica automaticamente URL le coppie nome-valore, le separa con & e aggiunge? per le richieste GET o HEAD. webMethods Integration per impostazione predefinita, l'intestazione content-type è application/x-www-form-urlencoded, ma è possibile specificare un tipo di contenuto diverso con una variabile stringa o bytes.
- String - (String) Testo che si desidera che il servizio httpRequest invii alla risorsa in url. Si possono usare le stringhe per inviare i dati attraverso i metodi POST, PUT, PATCH, GET o HEAD. Se si usa la stringa per inviare i dati, assicurarsi di specificare la stringa esattamente come la si vuole presentare nel sito httpRequest. (Se si utilizza il metodo GET o HEAD, assicurarsi che URL -codifichi il contenuto della stringa.Nota: Quando si utilizza stringa, il servizio httpRequest antepone automaticamente l'intera stringa di query con? se invia i dati in una stringa utilizzando un comando GET o HEAD. Non è necessario includere questo carattere nella stringa.
Per le richieste POST, PUT o PATCH, la stringa viene inclusa nel corpo della richiesta inviata all'indirizzo URL.
- byte - (byte[ ]) Dati che si vuole che questo servizio invii alla risorsa in url. Si possono usare i byte per inviare i dati con i metodi DELETE, POST, PUT o PATCH.Nota: Quando si utilizzano byte e un altro elemento (args o stringa) per specificare i dati, il servizio aggiunge i dati dell'elemento args o stringa a url. Il servizio aggiunge gli argomenti prima all'URL e poi alla stringa. Il servizio codifica i dati dell'elemento bytes nel corpo del post. Per POST, PUT e PATCH, è possibile specificare stream, byte o mimeStream. Se ne viene specificato più di uno, il sito httpRequest termina con un'eccezione.
- mimeStream - ( java.io.InputStream ) Messaggio MIME o SMIME che si vuole che questo servizio invii alla risorsa in url. Contiene sia intestazioni che contenuti. Le intestazioni di mimeStream vengono aggiunte alle intestazioni http. È possibile utilizzare mimeStream per inviare dati solo con i metodi POST, PUT o PATCH.Nota: Per POST, PUT e PATCH, è possibile specificare stream, byte o mimeStream. Se ne viene specificato più di uno, il sito httpRequest termina con un'eccezione.
- stream - ( java.io.InputStream ) Dati che si vuole che il servizio httpRequest invii alla risorsa in url. È possibile utilizzare lo stream per inviare i dati utilizzando i metodi POST, PUT o PATCH.Nota: Quando si usa stream e un altro elemento (args, stringa o byte) per specificare i dati, il servizio aggiunge i dati dell'elemento args o stringa a url. Il servizio aggiunge gli argomenti all'url per primo e alla stringa per ultimo. Il servizio codifica i dati dell'elemento stream nel corpo del post. Per POST, PUT e PATCH, è possibile specificare stream, byte o mimeStream. Se ne viene specificato più di uno, il sito httpRequest termina con un'eccezione.
- Encoding - (Stringa) Set di caratteri in cui sono codificati i parametri dei dati di URL (args e stringa). La codifica è necessaria per convertire l'oggetto stringa in byte per una richiesta POST. Specificare un set di caratteri registrato da IANA (ad esempio,
ISO-8859-1). Se questa variabile è nulla, viene utilizzata la codifica predefinita della JVM. Poiché la stringa viene usata nel corpo del post e non per costruire URL, non è necessario specificare la codifica per la stringa del parametro dati. - Auth - (Documento) Informazioni di autorizzazione che il servizio http invia quando la risorsa specificata nell'url è protetta.
- type - (Stringa) Tipo di schema di autenticazione che si desidera che il servizio utilizzi quando invia la richiesta. Impostare None per nessuna autenticazione (impostazione predefinita), Basic per nome utente e password, Bearer per l'autorizzazione OAuth o Digest per l'autenticazione con password digest.
- user - (Stringa) Il nome utente fornito per richiedere una risorsa protetta. Obbligatorio quando il tipo è impostato su
BasicoDigest. - pass - (Stringa) Password associata all'utente. Obbligatorio quando il tipo è impostato su
BasicoDigest. - token - (Stringa) Il token di accesso da inviare al server delle risorse OAuth. Obbligatorio quando il tipo è impostato su
Bearer. - Headers - (Documento) Campi che si desidera sovrascrivere esplicitamente nell'intestazione della richiesta HTTP emessa dal servizio httpRequest. Specificare una chiave nelle intestazioni per ogni campo che si desidera impostare, dove il nome della chiave rappresenta il campo dell'intestazione e il valore della chiave il suo valore.
- timeout - (Stringa) Tempo, espresso in millisecondi, che webMethods Integration attende una risposta dal server remoto. L'impostazione predefinita è 30.000 millisecondi.
- connectTimeout - (Stringa) Tempo, in millisecondi, che webMethods Integration attende la connessione al server remoto prima che la richiesta venga interrotta. L'impostazione predefinita è 30000 millisecondi.
- newSession - (String) Flag che indica se per questa richiesta HTTP viene creata una nuova sessione. Impostare no per usare la sessione corrente o crearne una denominata (httpclient) quando non esiste, oppure sì per creare una nuova sessione per la richiesta HTTP.
- followRedirect - (Stringa) Indica se la richiesta in uscita segue un reindirizzamento per i codici di risposta compresi tra 300-400. Impostare yes (valore predefinito) per elaborare automaticamente il reindirizzamento, oppure no per restituire il codice di risposta e le intestazioni senza elaborarlo.
Parametri di output
- encodedURL - Il sito URL presentato dal sito httpRequest. Include tutti gli argomenti impostati negli args o nella stringa. Se il server remoto reindirizza il httpRequest,, il encodedURL contiene il URL a cui la richiesta è stata reindirizzata.
- header - (document, conditional) HTTP header di risposta.
righe - (Documento) Campi nell'intestazione della risposta, dove i nomi delle chiavi rappresentano i nomi dei campi e i valori i valori dei campi.
- status - (String) HTTP codice di stato della risposta.
- statusMessage - (String) HTTP messaggio di stato della risposta.
- body - (Documento) Corpo della risposta di HTTP.
- bytes - (byte[ ], conditional) Corpo della risposta di HTTP rappresentato come byte[ ]. bytes viene restituito quando il parametro di input loadAs è impostato su
bytes. - stream - ( java.io.InputStream, condizionale) Il corpo della risposta HTTP è rappresentato come un InputStream. Il flusso viene restituito quando il parametro di ingresso loadAs è impostato su
stream.
- bytes - (byte[ ], conditional) Corpo della risposta di HTTP rappresentato come byte[ ]. bytes viene restituito quando il parametro di input loadAs è impostato su
Note d'utilizzo
Per i metodi GET, HEAD e OPTIONS, httpRequest invia un URL. Il servizio non invia un corpo.
httpRequest invia dati o stringhe di input nella query URL per i metodi GET o HEAD, ma li include nel corpo della richiesta per i metodi POST, PUT o PATCH.
Se la risposta HTTP contiene un codice di stato di reindirizzamento 302 e httpRequest è configurato per il reindirizzamento, il servizio segue il URL fornito dal server remoto. Se il server remoto reindirizza httpRequest a una posizione diversa, il parametro di output encodedURL contiene l'indirizzo URL a cui il servizio è stato reindirizzato.
Quando la variabile di input del metodo è DELETE, è possibile fornire un valore nella variabile di input data/bytes. Il servizio http trasmette al server remoto il valore contenuto nel corpo della richiesta
Se i dati sono forniti in un formato non supportato per un metodo HTTP, httpRequest li ignora. Ad esempio, i campi data o stream e data o mimeStream non sono supportati da DELETE. Qualsiasi valore specificato per questi campi viene ignorato quando il metodo è impostato su DELETE.
Per POST, PUT e PATCH, se viene fornito un valore per data o args, httpRequest imposta l'intestazione content-type per la richiesta a
application/x-www-form-urlencoded. Il servizio ignora un valore di tipo di contenuto fornito con una coppia nome-valore nelle intestazioni.È possibile aggiungere parametri di query direttamente all'input di URL. Vengono aggiunti anche i valori forniti per i dati o gli argomenti. Per il metodo GET, viene incluso anche il valore dei dati o della stringa. Ad esempio, questi input:
- url =
http://example-host:8080/getOrders?cust=116 - dati/args=
{{“since”, “20180201”}, {“greaterThan”, “250.00”}}
Risultato: httpRequest invia questo URL -
http://example-host:8080/getOrders?cust=116&somce=20180201&greaterThan=250.00.Quando il servizio httpRequest invia una password digest per l'autenticazione (cioè, il campo auth o type è impostato su Digest) e la risposta HTTP Server include il campo header content-type. Se la risposta non contiene il parametro charset, webMethods Integration utilizza il valore del parametro di configurazione del server netEncoding come set di caratteri predefinito.
Per gli insiemi di dati di grandi dimensioni, utilizzare il servizio compressData per comprimerli prima di inviarli tramite httpRequest. Per ulteriori informazioni, vedere compressData.
- Url - (Stringa) URL della risorsa a cui si vuole accedere. Ad esempio,