Compartir a través de


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 la ServiceBehavior 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

  1. Haga clic con el botón derecho en el nodo rood al que se hace referencia en el error y seleccione Propiedades.

  2. 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.

Consulte también

Solución de problemas del adaptador de Siebel