Hypertext Transfer Protocol (HTTP)

Hypertext Transfer Protocol ( HTTP ) es un conector predefinido en webMethods Integration que permite enviar solicitudes HTTP o HTTPS a servidores web desde el entorno de integración.

Acciones

  • httpRequest: Realiza peticiones HTTP o HTTPS al servidor especificado.

    Parámetros de entrada

    • Url - (Cadena) URL del recurso al que desea acceder. Por ejemplo, http://www.rubicon.com/orders/orders.html.
      Importante: La cadena debe empezar por http:// o https://.
    • method - (Cadena) Especifica el método HTTP que desea utilizar. Los valores válidos son los siguientes:
      • eliminar
      • get
      • empleado
      • opciones
      • parche
      • POST
      • put
    • loadAs - (Cadena) Forma en la que desea que httpRequest devuelva la respuesta. Poner a -
      • bytes (por defecto) para devolver el cuerpo de la respuesta como un byte[ ].
      • stream para devolver el cuerpo de la respuesta como java.io.InputStream.
    • data - (Documento) Datos que desea que httpRequest envíe con la solicitud. Especifique los datos utilizando una o varias de las claves aquí mencionadas.
      Importante: Cuando se utiliza más de una tecla, args se añade primero y string se añade al final.
      • args - Pares nombre-valor que desea que este servicio envíe al recurso en url. Puede utilizar args para enviar datos a través de los métodos POST, PUT, PATCH, GET, DELETE o HEAD. Para especificar datos con argumentos, cree un elemento de cadena para cada par nombre-valor. El nombre representa la clave y el valor los datos.

        Con args, la solicitud HTTP URL -codifica automáticamente los pares nombre-valor, los separa con & y añade? para peticiones GET o HEAD. webMethods Integration por defecto el encabezado content-type es application/x-www-form-urlencoded, pero puedes especificar un content-type diferente con una variable string o bytes.
    • Cadena - (Cadena) Texto que desea que el servicio httpRequest envíe al recurso en url. Puede utilizar cadenas para enviar datos a través de los métodos POST, PUT, PATCH, GET o HEAD. Si utiliza una cadena para enviar los datos, asegúrese de que especifica la cadena exactamente como desea que se presente en httpRequest. (Si utiliza el método GET o HEAD, asegúrese de que URL -codifica el contenido de la cadena.
      Nota: si utiliza una cadena, el servicio httpRequest antepondrá automáticamente? a toda la cadena de consulta si envía los datos en una cadena mediante un GET o HEAD. No es necesario incluir este carácter en la cadena.

      Para las solicitudes POST, PUT o PATCH, la cadena se incluye en el cuerpo de la solicitud enviada a la dirección URL especificada.

    • bytes - (byte[ ]) Datos que desea que este servicio envíe al recurso en url. Puede utilizar bytes para enviar datos utilizando los métodos DELETE, POST, PUT o PATCH.
      Nota: Cuando se utilizan bytes y otro elemento (args o cadena) para especificar datos, el servicio añade los datos del elemento args o cadena a url. El servicio añade primero los argumentos a la url y luego la cadena. El servicio codifica los datos del elemento bytes en el cuerpo del mensaje. Para POST, PUT y PATCH, puede especificar stream, bytes o mimeStream. Si especifica más de uno, la página httpRequest termina con una excepción.
    • mimeStream - ( java.io.InputStream ) Mensaje MIME o SMIME que desea que este servicio envíe al recurso en url. Contiene tanto cabeceras como contenido. Las cabeceras de mimeStream se añaden a las cabeceras http. Puede utilizar mimeStream para enviar datos utilizando únicamente los métodos POST, PUT o PATCH.
      Nota: Para POST, PUT y PATCH, puede especificar stream, bytes o mimeStream. Si especifica más de uno, la página httpRequest termina con una excepción.
    • stream - ( java.io.InputStream ) Datos que desea que el servicio httpRequest envíe al recurso en url. Puede utilizar stream para enviar datos mediante los métodos POST, PUT o PATCH.
      Nota: Cuando se utiliza stream y otro elemento (args, string o bytes) para especificar datos, el servicio añade los datos del elemento args o string a url. El servicio añade args a url primero y a string después. El servicio codifica los datos del elemento stream en el cuerpo del mensaje. Para POST, PUT y PATCH, puede especificar stream, bytes o mimeStream. Si especifica más de uno, la página httpRequest termina con una excepción.
    • Codificación - (Cadena) Conjunto de caracteres en el que se codifican los parámetros de datos de URL (args y cadena). La codificación es necesaria para convertir el objeto string en bytes para una petición POST. Especifica un conjunto de caracteres registrado por IANA (por ejemplo, ISO-8859-1). Si esta variable es nula, se utiliza la codificación JVM por defecto. Dado que la cadena se utiliza en el cuerpo del mensaje y no en la construcción de URL, no es necesario especificar la codificación de la cadena del parámetro de datos.
    • Auth - (Documento) Información de autorización que el servicio http presenta cuando el recurso especificado en la url está protegido.
      • type - (Cadena) Tipo de esquema de autenticación que desea que utilice este servicio cuando envíe esta solicitud. Establecer en Ninguno para ninguna autenticación (por defecto), Basic para nombre de usuario y contraseña, Bearer para autorización OAuth, o Digest para autenticación de resumen de contraseña.
      • user - (Cadena) El nombre de usuario que se proporciona para solicitar un recurso protegido. Obligatorio cuando el tipo es Basic o Digest.
      • pass - (Cadena) Contraseña asociada al usuario. Obligatorio cuando el tipo es Basic o Digest.
      • token - (Cadena) El token de acceso a enviar al servidor de recursos OAuth. Obligatorio si el tipo es Bearer.
      • Cabeceras - (Documento) Campos que desea anular explícitamente en la cabecera de solicitud HTTP emitida por el servicio httpRequest. Especifique una clave en las cabeceras para cada campo que desee establecer, donde el nombre de la clave representa el campo de la cabecera y el valor de la clave representa su valor.
      • timeout - (Cadena) Tiempo, en milisegundos, que webMethods Integration espera una respuesta del servidor remoto. El valor predeterminado es 30.000 milisegundos.
      • connectTimeout - (Cadena) Tiempo, en milisegundos, que webMethods Integration espera para conectarse al servidor remoto antes de que se detenga la petición. El valor predeterminado es 30000 milisegundos.
      • newSession - (Cadena) Bandera que indica si se crea una nueva sesión para esta solicitud HTTP. Establezca no para utilizar la sesión actual o crear una con el nombre (httpclient) cuando no exista ninguna, o para crear una nueva sesión para la solicitud HTTP.
      • followRedirect - (Cadena) Indica si la solicitud saliente sigue una redirección para códigos de respuesta entre 300-400. Establezca yes (por defecto) para procesar automáticamente la redirección, o no para devolver el código de respuesta y las cabeceras sin procesarlo.

    Parámetros de salida

    • encodedURL - El URL presentado por el httpRequest. Incluye cualquier argumento establecido en el args o cadena. Si el servidor remoto redirige la httpRequest, el encodedURL contiene el URL al que fue redirigida la petición.
    • header - (documento, condicional) HTTP encabezados de respuesta.
      • líneas - (Documento) Campos de la cabecera de respuesta, donde los nombres clave representan nombres de campo y los valores representan valores de campo.

      • status - (Cadena) HTTP código de estado de la respuesta.
      • statusMessage - (Cadena) HTTP mensaje de estado de la respuesta.
    • body - (Documento) Cuerpo de la respuesta HTTP.
      • bytes - (byte[ ], condicional) Cuerpo de la respuesta HTTP representado como un byte[ ]. se devuelven bytes cuando el parámetro de entrada loadAs se establece en bytes.
      • stream - ( java.io.InputStream, condicional) El cuerpo de la respuesta HTTP se representa como un InputStream. El flujo se devuelve cuando el parámetro de entrada loadAs se establece en stream.

    Notas de uso

    Para los métodos GET, HEAD y OPTIONS, httpRequest envía un mensaje URL. El servicio no envía ningún cuerpo.

    httpRequest envía datos o cadenas de entrada en la consulta URL para los métodos GET o HEAD, pero los incluye en el cuerpo de la solicitud para los métodos POST, PUT o PATCH.

    Si la respuesta HTTP contiene un código de estado de redirección 302 y httpRequest está configurado para redirigir, el servicio sigue el URL proporcionado por el servidor remoto. Si el servidor remoto redirige httpRequest a una ubicación diferente, el parámetro de salida encodedURL contiene el URL al que se redirigió el servicio.

    Cuando la variable de entrada del método es DELETE, puede suministrar un valor en la variable de entrada data/bytes. El servicio http transmite el valor en el cuerpo de la petición al servidor remoto

    Si los datos se proporcionan en un formato no admitido para un método HTTP, httpRequest los ignora. Por ejemplo, los campos data o stream y data o mimeStream no son compatibles con DELETE. Cualquier valor que se especifique para estos campos se ignora cuando el método se establece como DELETE.

    Para POST, PUT y PATCH, si se proporciona un valor para data o args, httpRequest establece el encabezado content-type para la solicitud en application/x-www-form-urlencoded. El servicio ignora un valor de tipo de contenido que se proporciona utilizando un par nombre-valor en las cabeceras.

    Puede añadir parámetros de consulta directamente a la entrada URL. También se añade cualquier valor que se proporcione para data o args. Para el método GET, también se incluye el valor de los datos o de la cadena. Por ejemplo, estas entradas:

    • url = http://example-host:8080/getOrders?cust=116
    • datos/argumentos= {{“since”, “20180201”}, {“greaterThan”, “250.00”}}

    Resultado en httpRequest enviando este URL - http://example-host:8080/getOrders?cust=116&somce=20180201&greaterThan=250.00.

    Cuando el servicio httpRequest envía un resumen de contraseña para la autenticación (es decir, el campo auth o type se establece en Digest) y la respuesta HTTP Server incluye el campo de cabecera content-type. Si la respuesta no contiene el parámetro charset, webMethods Integration utiliza el valor del parámetro de configuración del servidor netEncoding como juego de caracteres predeterminado.

    Para conjuntos de datos de gran tamaño, utilice el servicio compressData para comprimirlos antes de enviarlos a través de httpRequest. Para más información, consulte compressData.