Solución de problemas operativos con el adaptador de Siebel
En esta sección se proporciona una ubicación centralizada para obtener información sobre los problemas operativos que puede encontrar al usar el adaptador de Microsoft BizTalk para aplicaciones de siebel eBusiness.
La habilitación del seguimiento
Para obtener información sobre la compatibilidad con el seguimiento en el adaptador de Siebel, vea Seguimiento de diagnóstico y registro de mensajes para el adaptador de Siebel.
Problemas conocidos
A continuación se muestran algunos problemas y soluciones recomendadas que se pueden encontrar al usar el adaptador de Siebel.
Error al cargar los enlaces del adaptador
Problema
Al intentar iniciar el complemento Agregar referencia del servicio adaptador de Visual Studio o el complemento consumir el servicio adaptador de BizTalk Project, la GUI genera el siguiente error:
There was an error loading the binding, <binding name>, from your system configuration.
ConfigurationErrorsException: Exception has been thrown by the target of an invocation.
Causa
Al iniciar el complemento agregar referencia del servicio adaptador o el complemento consumir servicio adaptador, WCF carga los enlaces de adaptador para todos los adaptadores instalados. A su vez, los enlaces de adaptador dependen del software cliente de aplicación empresarial específico. Por lo tanto, podría enfrentar este problema por uno o ambos de los siguientes motivos:
El software cliente loB necesario no está instalado en el equipo donde instaló el adaptador.
Ha hecho una instalación "típica" o "completa" del adaptador, que instala todos los adaptadores en el paquete de adaptadores de BizTalk. Sin embargo, es posible que las bibliotecas cliente se instalen solo para una aplicación empresarial. Como resultado, la GUI no puede cargar los enlaces para los otros adaptadores.
Resolución
Asegúrese de que las versiones de cliente necesarias están instaladas en el equipo donde instaló el Paquete de adaptadores de BizTalk.
Asegúrese de realizar una instalación personalizada de los adaptadores para instalar solo el adaptador que necesita.
El adaptador de Siebel no se muestra en la lista de adaptadores de la consola de administración de BizTalk Server
Problema
A diferencia de la versión anterior de los adaptadores que se incluyeron con BizTalk Server, el adaptador de Siebel que se envió con el paquete de adaptadores de BizTalk no aparece en la lista de adaptadores en la consola de administración de BizTalk Server.
Causa
El adaptador de Siebel más reciente es un enlace personalizado de WCF. Por lo tanto, aunque la consola de administración de BizTalk Server muestra el adaptador de WCF-Custom, no muestra los enlaces personalizados de WCF y, por lo tanto, no muestra el adaptador de Siebel basado en WCF.
Resolución
Puede agregar explícitamente el adaptador de Siebel a la consola de administración de BizTalk Server siguiendo los pasos mencionados en Agregar el adaptador de Siebel a BizTalk Server Consola de administración.
Error al conectarse al sistema Siebel
Problema
El complemento Agregar referencia del servicio adaptador o el complemento de servicio consumir adaptador proporciona el siguiente error al intentar conectarse al sistema Siebel:
Connecting to the system LOB has failed. Retrieving the COM class factory for component with CLSID {ID} failed due to the following error: 80040154
Causa
Es posible que el cliente web de Siebel no esté instalado en el equipo.
Resolución
Asegúrese de que la versión compatible del cliente web de Siebel está instalada en el equipo. Consulte la guía de instalación para ver las versiones de cliente y servidor admitidas para Siebel. La guía de instalación está disponible en <la unidad> del sistema:\Archivos de programa\Microsoft BizTalk Adapter Pack\Documents.
Error al recuperar XMLs con más de 65536 nodos
Problema
El adaptador proporciona el siguiente error al recuperar la salida XML que tiene más de 65536 nodos.
Maximum number of items that can be serialized or deserialized in an object graph is '65536'.
Change the object graph or increase the MaxItemsInObjectGraph quota.
Causa
El adaptador no puede serializar ni deserializar un objeto con más de 65536 elementos.
Resolución
Puede corregir este problema estableciendo el maxItemsInObjectGraph
parámetro . Puede establecerlo de cualquiera de las dos maneras siguientes:
Establezca este parámetro cambiando el
maxItemsInObjectGraph
parámetro del atributo en laServiceBehavior
clase de servicio.Agregue lo siguiente al archivo app.config de la aplicación.
<behaviors> <endpointBehaviors> <behavior name="NewBehavior"> <dataContractSerializer maxItemsInObjectGraph="65536000" /> </behavior> </endpointBehaviors> </behaviors>
Una app.config de ejemplo tendrá el siguiente aspecto:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="NewBehavior">
<dataContractSerializer maxItemsInObjectGraph="65536000" />
</behavior>
</endpointBehaviors>
</behaviors>
<client>
<endpoint behaviorConfiguration="NewBehavior" binding="siebelBinding"
contract="IOutboundContract" name="siebel_ICalculator" />
</client>
</system.serviceModel>
</configuration>
Error al especificar un URI de conexión para un puerto de WCF-Custom en BizTalk
Problema
BizTalk Server produce el siguiente error al especificar un URI de conexión para conectarse al sistema Siebel.
Error saving properties.
(System.ArgumentException) The specified address is invalid.
(System.ArgumentException) Invalid address;
"<connection URI>" is not a well-formed absolute uri.
Causa
El URI de conexión no cumple el formato de codificación estándar. Por ejemplo, el valor de un parámetro podría contener un espacio.
Resolución
Asegúrese de que el URI de conexión que especifique se adhiere al formato de codificación estándar. Por ejemplo, un espacio en blanco debe reemplazarse por "%20".
Error al realizar la operación en el sistema Siebel
Problema
El adaptador proporciona el siguiente error al realizar cualquier operación en el sistema Siebel mediante BizTalk Server.
Para BizTalk Server
System.ArgumentNullException: Value cannot be null.
Causa
No se especifica la acción WCF del mensaje. WCF requiere que se especifique una acción SOAP para cada operación, que informa al adaptador sobre la operación que se va a realizar en la aplicación loB.
Resolución
Especifique la acción SOAP en el puerto de envío o como una propiedad de contexto de mensaje en una orquestación de BizTalk. Para obtener instrucciones, consulte Configuración de la acción SOAP para Siebel. Consulte Mensajes y esquemas de mensajes para obtener una lista de acciones para cada operación.
XmlReaderParsingException debido a un nombre de operación incorrecto en la acción especificada
Problema
La consola de administración de BizTalk Server proporciona el siguiente error al enviar mensajes a un sistema Siebel:
Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException: Invalid argument:
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Operation Name="<operation_name>" Action="<action>" />
</BtsActionMapping>
Causa
Si configura un puerto de WCF-Custom importando el archivo de enlace de puerto creado por el Complemento de proyecto de BizTalk del servicio de adaptador de consumo, la acción en el puerto se especifica en el siguiente formato:
<BtsActionMapping>
<Operation Name="Op1" Action="http://MyService/Svc/Op1" />
</BtsActionMapping>
En el formato anterior, el nombre de la operación se rige por la operación que eligió al generar el esquema. Por ejemplo, si generó un esquema para una operación de consulta en un componente empresarial de Siebel, el nombre de la operación en la acción será "Query". Sin embargo, el nombre de la operación en el puerto lógico creado en la orquestación de BizTalk en Visual Studio podría ser diferente.
Resolución
Asegúrese de que los nombres de las operaciones en el puerto lógico (en la orquestación de BizTalk en Visual Studio) y el puerto físico (en BizTalk Server consola de administración) son los mismos.
La aplicación que usa el adaptador de Siebel no finaliza
Problema
Una aplicación que usa el adaptador de Siebel con la versión 7.5 del cliente de Siebel no finaliza.
Causa
Esto se debe a un problema de cliente de Siebel en el que el proceso no finaliza al cerrar sesión desde un servidor de Siebel.
Resolución
Asegúrese de que tiene instalada la revisión 7.5.3.17 para el servidor siebel, junto con la corrección rápida QF0H05.
Siebel adapter may hang if the Siebel server is restarted (Siebel adapter may hang if the Siebel server is restarted)
Problema
Si se reinicia el servidor siebel mientras el adaptador de Siebel envía un mensaje al servidor de Siebel mediante, el adaptador de Siebel puede bloquearse.
Resolución
Reinicie la instancia de host de la aplicación de BizTalk. Para ello, desde la consola de administración de BizTalk Server, en el árbol de consola, expanda Grupo de BizTalk, expanda Configuración de la plataforma y, a continuación, haga clic en Instancias de host. En el panel derecho, haga clic con el botón derecho en el nombre de host y seleccione Reiniciar.
El adaptador no reconoce la acción en el puerto físico, aunque use el archivo de enlace generado por el complemento Consum Adapter Service para crear los puertos.
Problema
Después de usar el complemento de servicio consumir adaptador para generar el esquema de una operación específica en el sistema Siebel, el complemento también crea un archivo de enlace de puerto. Puede importar este archivo de enlace mediante la consola de administración de BizTalk Server para crear puertos físicos en BizTalk Server. Sin embargo, cuando se envían mensajes al sistema Siebel mediante estos puertos, el adaptador no entiende la acción especificada en el puerto y genera un error similar al siguiente:
Microsoft.ServiceModel.Channels.Common.UnsupportedOperationException: Incorrect Action
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Operation Name="<op_name>" Action="<action>" />
</BtsActionMapping>. Correct the specified Action, or refer to the documentation on the allowed formats for the Actions.
Causa
Al crear puertos lógicos en una orquestación de BizTalk, se especifican determinados nombres para las operaciones en esos puertos o simplemente se usan los nombres predeterminados como Operation_1, Operation_2, etc. Sin embargo, en el archivo de enlace generado por el complemento consumir servicio adaptador, el nombre de la operación es el mismo que el nombre de la operación para la que se generan metadatos. Por ejemplo, si genera metadatos para la operación Insertar en el componente de negocio Cuenta, la acción se establecerá en lo siguiente:
<Operation Name="Insert" Action="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Insert" />
Al importar el archivo de enlace, la misma acción se establece en el puerto físico. Por lo tanto, los nombres de operación en el puerto lógico (Operation_1, Operation_2, etc.) no coinciden con los nombres de operación especificados en la acción en el puerto físico, lo que da lugar a un error.
Resolución
Asegúrese de que el nombre de la operación en el puerto lógico sea el mismo que el nombre de la operación especificado como parte de la acción en el puerto físico. Realice una de las siguientes acciones:
Cambie el nombre de la operación en el puerto lógico de la orquestación de BizTalk de Operation_1, etc. a la operación para la que se generan metadatos, por ejemplo, Insertar.
Cambie el nombre de la operación en la acción en el puerto físico al nombre de la operación en el puerto lógico. Por ejemplo, podría cambiar la acción en el puerto físico para que sea similar a la siguiente:
<Operation Name="Operation_1" Action="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Insert" />
El adaptador de Siebel no controla los objetos Siebel con cadenas codificadas XML en el nombre
Problema
El adaptador de Siebel no puede realizar operaciones que impliquen objetos Siebel (objetos de negocio, componentes empresariales, servicios empresariales, picklist, métodos, campos, argumentos, etc.) que tengan cadenas codificadas XML en su nombre. Por ejemplo, el adaptador de Siebel no podrá invocar un método de servicio empresarial con el nombre Time_x0020_Stamp.
Resolución
Asegúrese de que los objetos Siebel no contienen cadenas codificadas XML en su nombre.
Error con RootNode TypeName en proyectos de BizTalk
Problema
En un proyecto de BizTalk en Visual Studio, si los esquemas generados a partir del complemento De servicio de adaptador de consumo contienen caracteres no válidos o palabras reservadas para la propiedad RootNode TypeName , se producirá el siguiente error al compilar el proyecto:
Node <node reference> - Specify a valid .NET type name for this root node.
The current .NET type name of this root node is invalid (it is a reserved BizTalk Keyword or is an invalid C# identifier).
Resolución
Haga clic con el botón derecho en el nodo rood al que se hace referencia en el error y seleccione Propiedades.
Para la propiedad RootNode TypeName , quite los caracteres no válidos o palabras reservadas, por ejemplo, punto (.).
Advertencia de enlace no válida al usar el adaptador en Visual Studio
Problema
Cuando use el adaptador para crear una aplicación en Visual Studio y abra el archivo de configuración (app.config) generado por el adaptador, verá una advertencia similar a la siguiente:
The element 'bindings' has invalid child element 'siebelBinding'. List of possible elements expected: 'basicHttpBinding, customBinding, ...
Causa
Esta advertencia aparece porque el enlace del adaptador de Siebel, siebelBinding
, no es un enlace estándar enviado con Windows Communication Foundation (WCF).
Resolución
Puede omitir esta advertencia sin problemas.