No se puede generar un error de clase temporal (result=1) al ejecutar el objeto Invoke Web Services

Este artículo le ayuda a evitar un problema en el que recibe el error No se puede generar un error de clase temporal (result=1) al ejecutar el objeto Invoke Web Services.

Versión original del producto:   System Center Orchestrator
Número KB original:   2486643

Síntomas

Al ejecutar el objeto Invoke Web Services en Microsoft System Center Orchestrator o Opalis Integration Server, recibirá uno o varios de los siguientes errores en los datos publicados del texto de resumen de errores:

No se puede generar una clase temporal (result=1).
error CS0029: No se puede convertir implícitamente el tipo 'Opalis.WebServices.DynamicProxy.CustomType' a 'Opalis.WebServices.DynamicProxy.CustomType[]'
error CS0030: No se puede convertir implícitamente el tipo 'Opalis.WebServices.DynamicProxy.CustomType[]' a 'Opalis.WebServices.DynamicProxy.CustomType'

Causa

Un problema conocido con WSDL.exe puede hacer que una clase proxy se genere incorrectamente si una matriz de tipo complejo incluye un elemento que también es una matriz de tipo complejo y para el que solo existe un elemento.

Nota

WSDL.exe se incluye en Microsoft .NET Framework.

Solución alternativa

Hay tres soluciones alternativas disponibles:

  • Puede generar la clase de proxy manualmente mediante WSDL.exe y, a continuación, cambiar la clase de proxy en la que el tipo de datos se creó de forma inadecuada como una matriz bidimensional (por ejemplo, ) para que sea una matriz unidimensional CustomType[][] (por ejemplo, CustomType[] ).

  • Puede cambiar el tipo de datos en el lenguaje de descripción de servicios web (WSDL) deseado para que se incluya un segundo elemento opcional en la definición. Para ello, agregue un elemento como el siguiente ejemplo:

    <xs:element minOccurs="0" name="dummyElement" nillable="true" type="xs:string"/>

  • Puede cambiar el tipo complejo en el WSDL deseado para que los atributos de límite sean parte del tipo complejo en lugar de formar parte del elemento. (Es decir, puede mover los atributos y al tipo complejo y, a minOccurs maxOccurs continuación, quitarlos del elemento).