WSIF - Limitaciones conocidas
Las restricciones conocidas que se aplican al utilizar WSIF incluyen restricciones sobre el uso de hebras, en cabeceras SOAP y archivos adjuntos sin referencias, y en correlaciones de tipos de datos.
- Ejecución de hebras
- WSIF no es segura para las hebras.
- Estándares externos
- WSIF da soporte a:
- SOAP Versión 1.1 (pero no a 1.2 o posteriores).
- WSDL Versión 1.1 (pero no a 1.2 o posteriores).
- Análisis de esquema completo
- WSIF no da soporte al análisis de esquema completo. Por ejemplo, no se manejan ni los atributos ni las referencias WSDL (Web Services Description Language) en tipos complejos.
- Los elementos "redefine" de esquema XML no se manejan y se ignoran.
- SOAP
- WSIF no da soporte a:
- Cabeceras SOAP que se pasan como <parts>.
- Adjuntos sin referencias en las respuestas SOAP o los escenarios que se describen en Adjuntos SOAP: escenarios no soportados.
- Mensajes SOAP de estilo Codificado.Nota: Esta no es un restricción principal de WSIF. Aunque puede especificar el estilo Documento codificado en WSDL, generalmente no se considera que sea una opción válida y Web Services Interoperability Organization (WS-I) no le da soporte.
- Interoperatividad del proveedor de SOAP
- El proveedor de WSIF SOAP actual por omisión (el proveedor de SOAP de servicios Web de IBM®) no interactúa completamente con los servicios que se ejecuten en el proveedor (Apache SOAP) anterior. Esto se debe a que el proveedor SOAP del servicio Web de IBM se ha diseñado para que sea totalmente interoperativo con el servicio web compatible con JAX-RPC y un proveedor SOAP de Apache no puede proporcionar este tipo de servicio. Para obtener información sobre cómo superar esta restricción, consulte Proveedor SOAP de WSIF: trabajo con aplicaciones existentes.
- El soporte de WSIF para los errores SOAP se limita a los errores SOAP que se originan a partir de un
servicio web que utiliza el proveedor de SOAP de servicios web de
IBM. Nota: Esta no es un restricción principal de WSIF. La especificación actual de errores SOAP no dicta cómo se debe codificar un error SOAP para que se correlaciones con una excepción Java. Por lo tanto, todos los entornos de tiempo de ejecución de servicio web deciden actualmente su propio formato de errores SOAP. El proveedor de SOAP de servicios web de IBM puede entender sus propios errores SOAP de respuesta, pero no aquellos de otro proveedor.
- Correlaciones de tipos de datos
- El proveedor de WSIF SOAP actual predeterminado (el proveedor SOAP de servicios web de IBM) cumple las reglas de correlación de tipos JAX-RPC que hayan finalizado después de la creación del proveedor (Apache SOAP) anterior.
Ambos proveedores correlacionan la mayoría de los tipos de datos del
mismo modo.
Las excepciones son: xsd:date, xsd:dateTime, xsd:hexBinary y xsd:QName.
Tanto el cliente como el servicio deben utilizar las mismas normas de
correlación, si se utiliza cualquiera de estos cuatro tipos de datos. La tabla siguiente
detalla las reglas de correlación de estos cuatro tipos de datos:
Tabla 1. Reglas de correlación para los cuatro tipos de datos que se correlacionan de forma distinta en Apache SOAP y en JAX-RPC. La columna 1 especifica el tipo de datos XML, la columna 2 especifica el tipo de datos equivalente para Apache SOAP y la columna 3 especifica el tipo de datos equivalente para JAX-RPC.
Tipo de datos XML Correlación de Apache SOAP con Java Correlación de JAX-RPC con Java xsd:date java.util.Date No soportado xsd:dateTime No soportado java.util.Calendar xsd:hexBinary Hexadecimal string byte [ ] xsd:QName org.apache.soap.util.xml.QName javax.xml.namespace.QName - Matrices y tipos complejos
- WSIF no da soporte a los tipos complejos generales; sólo maneja tipos complejos que se correlacionan con Java beans. Para utilizar los tipos
complejos de esquema, debe escribir sus propios serializadores
personalizados. La matriz y el tipo complejo específicos dan soporte a la invocación de WSIF de salida de los
servicios web tal como se indica a continuación:
- WSIF da soporte a las clases Java generadas por los generadores de mensajes WSAD-IE (WebSphere Studio Application Developer - Integration Edition)IE); el caso más habitual ocurre cuando los archivos WSDL se bajan desde un lugar distinto. La generación basada en WSAD-IE ocurre automáticamente al utilizar el editor BPEL, las acciones de generación disponibles en el menú de contexto de Enterprise Services (Servicios de empresa) o la barra de herramientas de Business Integration (Integración de empresa).
- WSIF no da soporte a los Java beans generados por otras herramientas, incluida la herramienta WSAD básica.
- Para los Java beans generados por WSAD-IE, los atributos definidos en el WSDL no funcionan correctamente. Es decir, aunque estos atributos aparecen en los Java beans generados para representar al tipo complejo, no aparecen en la solicitud SOAP creada por WSIF.
- WSIF no da soporte a las matrices, cuando éstas están en un campo de un Java bean. Es decir, WSIF sólo soporta una matriz que se pasa como <part> con nombre. Si una matriz se envuelve dentro de un Java bean, ésta no se serializa del mismo modo.
- Serialización de objetos
- WSIF no da soporte a la serialización de objetos entre releases distintos.
- Invocación asíncrona
- WSIF da soporte a la invocación síncrona para todos los proveedores. Para los proveedores JMS y SOAP a través de JMS, WSIF también da soporte a la invocación asíncrona. Debe llamar al método supportsAsync() antes de intentar la ejecución de operaciones asíncronas.
- Proveedor de EJB
- El servicio de destino del proveedor WSIF EJB debe ser una interfaz de factoría remota, nunca una interfaz de factoría local de EJB. Asimismo, las clases de stub de EJB deben estar disponibles en la classpath del cliente.
- Ejecución fuera de WebSphere Application Server
- WSIF no recibe soporte para su uso fuera de WebSphere Application Server.