Impossibile generare un errore di classe temporanea (result=1) durante l'esecuzione dell'oggetto Invoke Web Services

Questo articolo consente di risolvere un problema a causa del quale viene visualizzato l'errore Non è possibile generare una classe temporanea (result=1) quando si esegue l'oggetto Invoke Web Services.

Versione originale del prodotto: System Center Orchestrator
Numero KB originale: 2486643

Sintomi

Quando si esegue l'oggetto Invoke Web Services in Microsoft System Center Orchestrator o Opalis Integration Server, si ricevono uno o più degli errori seguenti nei dati pubblicati del testo di riepilogo errori :

Impossibile generare una classe temporanea (result=1).
errore CS0029: Impossibile convertire in modo implicito il tipo 'Opalis.WebServices.DynamicProxy.CustomType' in 'Opalis.WebServices.DynamicProxy.CustomType[]'
errore CS0030: Impossibile convertire in modo implicito il tipo 'Opalis.WebServices.DynamicProxy.CustomType[]' in 'Opalis.WebServices.DynamicProxy.CustomType'

Causa

Un problema noto con WSDL.exe può causare la generazione non corretta di una classe proxy se una matrice di tipo complesso include un elemento che è anche una matrice di tipo complesso e per il quale esiste un solo elemento.

Nota

WSDL.exe è incluso in Microsoft .NET Framework.

Soluzione alternativa

Sono disponibili tre soluzioni alternative:

  • È possibile generare manualmente la classe proxy usando WSDL.exe e quindi modificare la classe proxy in cui il tipo di dati è stato creato in modo inappropriato come matrice bidimensionale , ad esempio , CustomType[][]in modo che si tratti di una matrice unidimensionale , CustomType[]ad esempio .

  • È possibile modificare il tipo di dati nel linguaggio WSDL (Web Services Description Language) desiderato in modo che nella definizione sia incluso un secondo elemento facoltativo. A tale scopo, è possibile aggiungere un elemento, ad esempio l'esempio seguente:

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

  • È possibile modificare il tipo complesso nel file WSDL desiderato in modo che gli attributi limite siano parte del tipo complesso anziché far parte dell'elemento . Ovvero, è possibile spostare gli minOccurs attributi e maxOccurs nel tipo complesso e quindi rimuoverli dall'elemento .