Propiedades personalizadas del transporte HTTP para las aplicaciones de servicios web
Utilice las propiedades de transporte HTTP de los servicios web de JAX-WS (Java™ API for XML-Based Web Services) y JAX-RPC (Java API for XML-based RPC) para gestionar la agrupación de conexiones para las conexiones de salida HTTP, configurar la codificación del contenido del mensaje HTTP, habilite la conexión persistente HTTP y volver a enviar la solicitud HTTP cuando se exceda el tiempo de espera.
El establecimiento de una conexión es una operación costosa. La agrupación de conexiones mejora el rendimiento eludiendo los costos operativos que implica la creación y desconexión de conexiones. Cuando una aplicación invoca un servicio web sobre un transporte HTTP, el conector de salida HTTP para el servicio web localiza y utiliza una conexión existente de una agrupación de conexiones. Cuando se recibe la respuesta, el conector devuelve la conexión a la agrupación de conexiones para que pueda volver a utilizarse. Se evitan los costos operativos de crear y desconectar la conexión.
- com.ibm.websphere.webservices.http.connectionIdleTimeout
- com.ibm.websphere.webservices.http.connectionKeepAlive
- com.ibm.websphere.webservices.http.connectionPoolCleanUpTime
- com.ibm.websphere.webservices.http.connectionTimeout
- com.ibm.websphere.webservices.http.maxConnection
- com.ibm.websphere.webservices.http.responseContentEncoding
- com.ibm.websphere.webservices.http.requestContentEncoding
- com.ibm.websphere.webservices.http.requestResendEnabled
- com.ibm.websphere.webservices.http.SocketTimeout
- com.ibm.ws.webservices.enableHTTPPrefix
- enableMultiThreadedSession
- HttpInboundPersistReadTimeout
- http.nonProxyHosts
- http.proxyHost
- http.proxyPort
- https.proxyHost
- https.proxyPort
- timeout
- write_timeout
com.ibm.websphere.webservices.http.connectionIdleTimeout
Esta propiedad especifica el intervalo, en segundos, después del cual no se reutiliza una conexión.
Cuando una aplicación solicita una conexión nueva, el conector de salida HTTP busca conexiones no utilizadas existentes. Si encuentra una conexión que esté desocupada durante más tiempo del que especifica esta propiedad, se podría liberar la conexión. Si encuentra una conexión que esté desocupada durante menos tiempo del que especifica esta propiedad, se podría reutilizar la conexión y se detendría la búsqueda. Dado que la búsqueda sólo buscar un punto final y se detiene antes revisar todas las conexiones, las conexiones desocupadas puede mantenerse.
La tarea de limpieza comprueba regularmente todas las conexiones no utilizadas respecto al tiempo de inactividad. Si la tarea de limpieza encuentra una conexión que está desocupada durante más tiempo del que especifica esta propiedad, se libera. Por lo tanto, las conexiones desocupadas pueden persistir durante el retardo del temporizador de la tarea de limpieza más el valor de esta propiedad. Por ejemplo, si el retardo del temporizador de la tarea de limpieza es de 180 segundos y com.ibm.websphere.webservices.http.connectionIdleTimeout se establece en el valor predeterminado de 5 segundos, las conexiones pueden permanecer desocupadas durante un máximo de 185 segundos antes de que sean liberadas. La propiedad de JVM que controla el retardo del temporizador de la tarea de limpieza es com.ibm.websphere.webservices.http.connectionPoolCleanUpTime.
Esta propiedad afecta a todas las conexiones HTTP de servicios web realizadas dentro de una JVM.
Información | Valor |
---|---|
Tipo de datos | Entero |
Unidades | Segundos |
Valor predeterminado | 5 |
Rango | 0 (cero) hasta el número máximo entero |

Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales utilizando la consola de administración.
com.ibm.websphere.webservices.http.connectionKeepAlive
Esta propiedad especifica si el conector debe mantener una conexión HTTP persistente o activa. Puede configurar una propiedad de transporte HTTP para aplicaciones de servicios web.
Si la propiedad se establece en true, el conector mantiene la conexión en la agrupación de conexiones y vuelve a utilizar la conexión para solicitudes HTTP subsiguientes. Sin embargo, la conexión se cierra si se alcanza el valor establecido en syncTimeout(Tiempo de espera de lectura) o el servidor ha desactivado la conexión. Asimismo, la hebra de mantenimiento de la agrupación cierra una conexión desocupada si excede el valor de tiempo de espera de conexión desocupada. Si la propiedad se establece en false, la conexión se cierra después de enviarse la solicitud HTTP. Si hay una nueva solicitud lista para enviarse y la conexión no existe, el conector HTTP crea una.
Una respuesta HTTP 200 a una solicitud indica que la solicitud se recibió, y que la conexión utilizada para dicha solicitud está activa y disponible para su reutilización para la siguiente llamada. Una respuesta HTTP 202 a una solicitud indica que se recibió la solicitud pero la conexión utilizada para dicha solicitud no está disponible para su reutilización.

Información | Valor |
---|---|
Tipo de datos | Serie |
Valor predeterminado | True |
Valores válidos | True, false |
Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales mediante wsadmin, y la información sobre la configuración de propiedades de transporte HTTP adicionales utilizando la herramienta de ensamblaje.
com.ibm.websphere.webservices.http.connectionPoolCleanUpTime
Esta propiedad especifica el intervalo, en segundos, entre las ejecuciones de la hebra de mantenimiento de la agrupación de conexiones.
Esta propiedad afecta a todas las conexiones HTTP para servicios web realizadas dentro de una JVM. Por ejemplo, si la propiedad se establece en 180, la hebra de mantenimiento de la agrupación se ejecuta cada 180 segundos. Cuando se ejecuta la hebra de mantenimiento de la agrupación, el conector descarta todas las conexiones que permanecen en la cola de limpieza.
Información | Valor |
---|---|
Tipo de datos | Entero |
Unidades | Segundos |
Valor predeterminado | 180 |
Rango | 0 (cero) hasta el número máximo entero |

Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales utilizando la consola de administración.
com.ibm.websphere.webservices.http.connectionTimeout
Esta propiedad especifica el intervalo, en segundos, que debe transcurrir entre cuando se excede el tiempo de espera de la solicitud de conexión y cuando se produce el error WebServicesFault( "Se ha excedido el tiempo de espera para la conexión" ).
El valor afecta a todas las solicitudes de conexión HTTP que realiza el conector de salida HTTP. El tiempo de espera es necesario cuando se alcanza el número máximo de conexiones en la agrupación de conexiones. Por ejemplo, si la propiedad se establece en 300 y se alcanza el número máximo de conexiones, el conector espera durante 300 segundos hasta que hay una conexión disponible. Una vez transcurridos 300 segundos, se produce un error WebServicesFault( "Se ha excedido el tiempo de espera para la conexión" ) si no hay ninguna conexión disponible. Si la propiedad se establece en 0, el conector espera hasta que haya una conexión disponible.
Si se produce un error WebServicesFault( "Se ha excedido el tiempo de espera para la conexión") en la aplicación, establezca un valor más alto en la propiedad com.ibm.websphere.webservices.http.connectionTimeout. Asimismo, revise el uso de la aplicación. Si la propiedad com.ibm.websphere.webservices.http.maxConnection tiene el valor 0 (cero) y está habilitada para un número ilimitado de conexiones, se ignora el valor de la propiedad com.ibm.websphere.webservices.http.connectionTimeout.
Información | Valor |
---|---|
Tipo de datos | Entero |
Unidades | Segundos |
Valor predeterminado | 300 |
Rango | 0 (cero) hasta el número máximo entero |

Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales utilizando la consola de administración.
com.ibm.websphere.webservices.http.maxConnection
Esta propiedad especifica el número máximo de conexiones que se crean en la agrupación de conexiones del conector de salida HTTP.
Esta propiedad afecta a todas las conexiones HTTP de servicios web que se realizan dentro de una JVM. Cuando se alcanza el número máximo de conexiones, no se crean más conexiones nuevas y el conector HTTP espera a que la conexión actual vuelva a la agrupación de conexiones. Si el conector HTTP no espera a la conexión actual porque se excede el tiempo de espera para la solicitud de conexión, se produce el error WebServicesFault( "Se ha excedido el tiempo de espera para la conexión" ). Por ejemplo, si la propiedad se establece en 5 y se están utilizando 5 conexiones, el conector HTTP espera durante el intervalo especificado en la propiedad com.ibm.websphere.webservices.http.connectionTimeout a que una conexión pase a estar disponible.

Información | Valor |
---|---|
Tipo de datos | Entero |
Valor predeterminado | 25 para especificaciones JAX-RPC 50 para especificaciones JAX-WS |
Rango | 5 hasta el entero máximo, que es inferior o igual a la mitad del tamaño de la agrupación de hebras del contenedor web |

Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales utilizando la consola de administración.
com.ibm.websphere.webservices.http.responseContentEncoding
Esta propiedad especifica el tipo de codificación que se debe utilizar en el mensaje de cada respuesta HTTP. Puede configurar una propiedad de transporte HTTP para aplicaciones de servicios web.

Los formatos de codificación soportados siguen la especificación del protocolo HTTP 1.1, incluidos gzip, x-gzip y deflate. Si esta propiedad está configurada, la cabecera "Content-Encoding" de la respuesta HTTP se establece en el mismo valor. Si no se establece la propiedad, el mensaje de respuesta HTTP no está codificado. El valor predeterminado es no encoding.
Si se establece la propiedad, el cliente de solicitud también debe dar soporte a la misma codificación. De lo contrario, es posible que se produzca una anomalía y aparezca un error WebServicesFault().
El formato de codificación de compresión no recibe soporte y la codificación x-gzip equivale a la codificación gzip.
Información | Valor |
---|---|
Tipo de datos | Serie |
Valores válidos | gzip, x-gzip o deflate |
Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales mediante wsadmin, y la información sobre la configuración de propiedades de transporte HTTP adicionales utilizando la herramienta de ensamblaje.
com.ibm.websphere.webservices.http.requestContentEncoding
Esta propiedad especifica el tipo de codificación que se utiliza en el mensaje de cada solicitud de salida HTTP. Puede configurar una propiedad de transporte HTTP para aplicaciones de servicios web.
Los formatos de codificación soportados siguen la especificación del protocolo HTTP 1.1, incluidos gzip, x-gzip y deflate. Si esta propiedad está configurada, las cabeceras "Content-Encoding" y "Accept-Encoding" de la respuesta HTTP también se establecen en el mismo valor. Por ejemplo, si la propiedad se establece en gzip, las cabeceras pasan a ser Content-Encoding: gzip y Accept-Encoding: gzip. Sin embargo, si no se establece la propiedad, el mensaje de solicitud HTTP no está codificado. El valor predeterminado es no encoding.
También se debería comprobar si el servidor web de destino es capaz de decodificar el formato de codificación configurado. Por ejemplo, si la propiedad se establece en gzip, el servidor web de destino también debe dar soporte a la codificación gzip. De lo contrario, es posible que se produzca una anomalía y aparezca un código de estado 415 Tipo de medio no soportado.
El formato de codificación de compresión no recibe soporte y la codificación x-gzip equivale a la codificación gzip.
Información | Valor |
---|---|
Tipo de datos | Serie |
Valores válidos | gzip, x-gzip y deflate |
Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales mediante wsadmin, y la información sobre la configuración de propiedades de transporte HTTP adicionales utilizando la herramienta de ensamblaje.
com.ibm.websphere.webservices.http.requestResendEnabled
Esta propiedad indica el conector HTTP que vuelva a enviar el mensaje SOAP a través de la solicitud HTTP después de anotar un error java.net.ConnectException: read timed out. Se trata de una propiedad de transporte HTTP que puede configurar para las aplicaciones de servicios web.
Esta propiedad indica el conector HTTP que vuelva a enviar el mensaje SOAP a través de la solicitud HTTP después de anotar un error java.net.ConnectException: read timed out. La excepción java.net.ConnectException la origina un tiempo de espera excedido del socket o cuando un servidor concluye mientras se envía la solicitud. Si la propiedad se habilita, el conector sólo se intenta volver a conectar una vez y vuelve a enviar el mismo mensaje SOAP a través de HTTP. De lo contrario, el conector detiene el envío del mensaje SOAP y se anota un error WebServicesFault.
Pueden producirse problemas con la aplicación cuando esta propiedad está habilitada. El servidor puede recibir dos veces la solicitud HTTP que se vuelve a enviar y puede generar un resultado no esperado.
Información | Valor |
---|---|
Tipo de datos | Serie |
Valor predeterminado | False |
Valores válidos | True, false |
Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales mediante wsadmin, y la información sobre la configuración de propiedades de transporte HTTP adicionales utilizando la herramienta de ensamblaje.
com.ibm.websphere.webservices.http.SocketTimeout
Esta propiedad especifica la cantidad de tiempo, en segundos, que se debe esperar para que se establezca el socket de salida con el servidor remoto.
Esta propiedad afecta a todas las conexiones HTTP de servicios web realizadas dentro de una JVM. Si se proporciona un valor no válido, el valor predeterminado altera temporalmente el valor no válido.
Información | Valor |
---|---|
Tipo de datos | Entero |
Unidades | Segundos |
Valor predeterminado | 180 Atención: Si se especifica un valor no
válido, el valor predeterminado altera temporalmente el valor no válido.
|
Rango | De 0 (cero) hasta 2147482 (número entero máximo) |

Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales utilizando la consola de administración.
com.ibm.ws.webservices.enableHTTPPrefix
Esta propiedad especifica si el valor hostname:port, que está definido como prefijo de URL HTTP personalizado en el panel Proporcionar URL de punto final HTTP en la consola administrativa, se rellena en el campo URL de la copia del archivo WSDL que se devuelve del servicio al cliente. Puede configurar una propiedad de transporte HTTP para aplicaciones de servicios web.
Configure esta propiedad con el valor true para que el prefijo de URL HTTP personalizado se especifique correctamente en el archivo WSDL que se devuelve al cliente. Si esta propiedad no se configura con el valor true, el valor hostname:port personalizado especificado del nodo del servidor que responde a la solicitud no se rellena en el campo URL de la copia del archivo WSDL que se devuelve al cliente.
Información | Valor |
---|---|
Tipo de datos | Serie |
Valor predeterminado | False |
Valores válidos | True, false |

Debe reiniciar el servidor de aplicaciones después de definir esta propiedad personalizada para que el sistema la utilice.
enableMultiThreadedSession
Esta propiedad especifica si debe permitirse que un cliente comparta información de la sesión HTTP entre las hebras para la misma instancia de cliente. Para habilitar este comportamiento, configure esta propiedad con el valor true llamando al método _setProperty en el apéndice del cliente. Si esta propiedad no está habilitada, el comportamiento predeterminado consiste en establecer las sesiones locales en la hebra en la que se ha invocado el cliente.
Esta propiedad sólo es aplicable a servicios web JAX-RPC (API Java para RPC basadas en XML).
Properties prop = new Properties();
InitialContext ctx = new InitialContext(prop);
Service service = (Service)ctx.lookup("java:comp/env/service/StockQuoteService");
QName portQname = new QName("http://httpchannel.test.wsfvt.ws.ibm.com", "StockQuoteHttp");
StockQuote sq = (StockQuote)service.getPort(portQname, StockQuote.class);
((javax.xml.rpc.Stub) sq)._setProperty(com.ibm.wsspi.webservices.Constants.ENABLE_MULTITHREADED_SESSION, Boolean.TRUE);
Información | Valor |
---|---|
Tipo de datos | Booleano |
Valor predeterminado | False |
Valores válidos | True, false |
Debe reiniciar el servidor de aplicaciones después de definir esta propiedad personalizada para que el sistema la utilice.
HttpInboundPersistReadTimeout
Esta propiedad especifica el período de tiempo, en segundos, antes de que termine el tiempo de espera de lectura persistente para las aplicaciones JAX-WS asíncronas.

java.io.IOException: La operación de E/S asíncrona ha fallado (1), razón: RC: 32 Conducto roto
Esta excepción se produce porque se ha excedido el límite de tiempo de espera de lectura persistente en el cliente, y a continuación, la conexión se cierra. Utilice esta propiedad cuando lea datos extensos o en ocasiones en que la red sea lenta de forma que tarda más que el valor predeterminado de siete segundos del lado del servidor para leer los datos. Si recibe la excepción de conductos rotos en el lado del servidor, aumente el valor de esta propiedad de tiempo de espera.
Información | Valor |
---|---|
Tipo de datos | Entero |
Unidades | Segundos |
Valor predeterminado | 7 |
Valores válidos | 0 (cero) hasta el número máximo entero |
Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales utilizando la consola de administración.
http.nonProxyHosts
Esta propiedad del sistema JVM actúa como una alteración temporal de las propiedades http.proxyHost y https.proxyHost y especifique los nombres de host de las máquinas a las que no se enviarán las solicitudes a través del servidor proxy. Se trata de una propiedad de transporte HTTP que puede configurar para las aplicaciones de servicios web.
Cualquier solicitud invocada mediante la aplicación cliente que se envíe a un host cuyo nombre esté contenido en esta propiedad no pasará por el servidor proxy. Separe cada nombre de host en la lista con una barra vertical ("|"). Opcionalmente puede utilizar un asterisco (*) como carácter comodín.
La propiedad http.nonProxyHosts se aplica a las conexiones HTTP y HTTPS.
- Para el host proxy, especifique el nombre http.proxyHost y el valor myproxy.mycompany.com.
- Para el host no proxy, especifique el nombre http.nonProxyHosts y el valor host1.company1.com|host*.company2.com|*.company3.com.
- un host individual denominado host1.company1.com
- cualquier host del dominio company2.com cuyo nombre comience por host
- cualquier host del dominio company3.com
http.nonProxyHosts="host1.company1.com|host*.company2.com|*.company3.com|host1"

Información | Valor |
---|---|
Tipo de datos | Serie |

Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales utilizando la consola de administración.
http.proxyHost
Esta propiedad especifica el nombre de host de un proxy HTTP. Se trata de una propiedad de transporte HTTP que puede configurar para las aplicaciones de servicios web.
Información | Valor |
---|---|
Tipo de datos | Serie |
Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales mediante wsadmin, y la información sobre la configuración de propiedades de transporte HTTP adicionales utilizando la herramienta de ensamblaje.
http.proxyPort
Esta propiedad especifica el puerto de un proxy HTTP. Puede configurar una propiedad de transporte HTTP para aplicaciones de servicios web.
Información | Valor |
---|---|
Tipo de datos | Serie |
Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales mediante wsadmin, y la información sobre la configuración de propiedades de transporte HTTP adicionales utilizando la herramienta de ensamblaje.
https.proxyHost
Esta propiedad especifica el nombre de host de un proxy HTTPS. Se trata de una propiedad de transporte HTTP que puede configurar para las aplicaciones de servicios web.
Información | Valor |
---|---|
Tipo de datos | Serie |
Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales mediante wsadmin, y la información sobre la configuración de propiedades de transporte HTTP adicionales utilizando la herramienta de ensamblaje.
https.proxyPort
Esta propiedad especifica el puerto de un proxy HTTPS. Puede configurar una propiedad de transporte HTTP para aplicaciones de servicios web.
Información | Valor |
---|---|
Tipo de datos | Serie |
Para obtener información sobre cómo configurar esta propiedad, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales mediante wsadmin, y la información sobre la configuración de propiedades de transporte HTTP adicionales utilizando la herramienta de ensamblaje.
timeout
Esta propiedad especifica el período de tiempo, en segundos, antes de que se produzca un tiempo de espera de lectura.
Al leer un mensaje de servicio web largo, es posible que reciba mensajes WSWS3228E junto con errores SocketTimeoutExceptions cuando se realicen llamadas a servicios web.
El valor afecta a todas las solicitudes de conexión HTTP que realiza el conector de entrada HTTP. Utilice esta propiedad de tiempo de espera de lectura si lee datos extensos o si la red es lenta y tarda más del tiempo predeterminado de 300 en leer los datos. Si se producen errores SocketTimeoutExceptions al leer el mensaje, incremente el valor de la propiedad timeout.
Información | Valor |
---|---|
Tipo de datos | Entero |
Unidades | Segundos |
Valor predeterminado | 300 |
Rango | 0 (cero) hasta el número máximo entero |

Para aplicaciones JAX-WS, también puede configurar esta propiedad personalizando la política de transporte HTTP o mediante enlaces JAX-WS. Para obtener información sobre cómo configurar esta propiedad mediante estos métodos, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales utilizando la consola administrativa.
write_timeout
Esta propiedad especifica el intervalo de tiempo, en segundos, en el que la grabación excederá el tiempo de espera cuando se envía un mensaje.
Al escribir un mensaje de servicios web largo, es posible que reciba mensajes WSWS3228E junto con errores SocketTimeoutExceptions cuando se realicen llamadas a servicios web.
El valor afecta a todas las solicitudes de conexión HTTP que realiza el conector de salida HTTP. Utilice esta propiedad de tiempo de espera de escritura si envía grandes cantidades de datos o si la red es lenta y tarda más del tiempo predeterminado de 300 en escribir los datos. Si se producen errores SocketTimeoutExceptions al escribir el mensaje, incremente el valor de la propiedad write_timeout.
Información | Valor |
---|---|
Tipo de datos | Entero |
Unidades | Segundos |
Valor predeterminado | 300 |
Rango | 0 (cero) hasta el número máximo entero |

Para aplicaciones JAX-WS, también puede configurar esta propiedad personalizando la política de transporte HTTP o mediante enlaces JAX-WS. Para obtener información sobre cómo configurar esta propiedad mediante estos métodos, consulte la información acerca de la configuración de propiedades de transporte HTTP adicionales utilizando la consola administrativa.