![[z/OS]](../images/ngzos.gif)
Ajuste de SOAP
Aprenda a ajustar los mensajes soap que utiliza con los servicios web.
Acerca de esta tarea
Procedimiento
- Especifique noLocalCopies en servant.jvm.options (-Dcom.ibm.CORBA.iiop.noLocalCopies=1). Esto permitirá pasar parámetros por referencia, en lugar de por valor. Esto solo se aplica si expone un enterprise bean como servicio web. Para obtener más información, consulte la información sobre los valores del servicio de intermediario para solicitudes de objetos.
- Cerciórese de que todos los rastreos están inhabilitados a no ser que esté depurando activamente un problema.
- Cuando defina políticas de transacción para la aplicación, especifique TX_NOT_SUPPORTED y seleccione transacciones locales. Las transacciones locales funcionan mejor que las globales porque no es necesario que WebSphere coordine el ámbito de compromiso sobre varios gestores de recursos.
- Procure no pasar atributos o elementos vacíos en mensajes SOAP. No incluya datos extraños e innecesarios en mensajes SOAP. Si puede utilizar la invocación de servicios web de estilo documento/literal para procesar por lotes solicitudes en un solo mensaje SOAP, es preferible a enviar varios mensajes SOAP individuales. Las aplicaciones SOAP funcionarán mejor con mensajes SOAP más pequeños que contengan menos elementos XML y especialmente menos atributos XML. El contenido de los mensajes SOAP debe serializarse y analizarse. Este tipo de operaciones son caras y deberían minimizarse. Dicho de otro modo, es preferible enviar 1 mensaje de 10 KB que 10 mensajes de 1KB. Sin embargo, los mensajes muy largos (por ejemplo, de más de 200 KB) podrían repercutir en los recursos del sistema, como la memoria.
- Es posible que tenga que incrementar el tamaño predeterminado del almacenamiento dinámico de Java™. SOAP y XML (DOM) requieren mucho almacenamiento y si el tamaño de almacenamiento dinámico es pequeño se podría producir un exceso de recogida de basura Java. Encontramos que un tamaño de almacenamiento dinámico de 256 MB (el valor predeterminado) era óptimo en la mayoría de los casos de prueba del laboratorio. Puede supervisar la recogida de basura utilizando la directriz Java verbose:gc.
- Asegúrese de que el tamaño de almacenamiento intermedio para enviar/recibir en protocolo TCP/IP es suficiente para contener la mayor parte de los mensajes xml que se enviarán.
- Considere utilizar un Modelo de documento en lugar del modelo RPC. Proporciona un control completo sobre el formato del XML pero requiere un esfuerzo adicional de programación.
- Cuando utiliza mensajes RPC, intente enviar series si es posible.
- Para los servicios web de la API de Java para RPC basado en XML (JAX-RPC), considere escribir sus propios serializadores y deserializadores, evitando el reflejo.