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

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

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

Síntomas

Al ejecutar el objeto Invoke Web Services en Microsoft System Center Orchestrator o Opalis Integration Server, recibe uno o varios de los siguientes errores en los datos publicados de 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 de 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ó inapropiadamente como una matriz bidimensional (por ejemplo, CustomType[][]) para que sea una matriz unidimensional (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 ejemplo siguiente:

    <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 formen parte del tipo complejo en lugar de formar parte del elemento. (Es decir, puede mover los minOccurs atributos y maxOccurs al tipo complejo y, a continuación, quitarlos del elemento).