Fehler der temporären Klasse (Result=1) beim Ausführen des Invoke Web Services -Objekts kann nicht generiert werden

Dieser Artikel hilft Ihnen, ein Problem zu beheben, bei dem beim Ausführen des Invoke Web Services -Objekts der Fehler "Fehler einer temporären Klasse (result=1) nicht generiert werden kann".

Ursprüngliche Produktversion:   System Center Orchestrator
Ursprüngliche KB-Nummer:   2486643

Problembeschreibung

Wenn Sie das Invoke Web Services -Objekt in Microsoft System Center Orchestrator oder Opalis Integration Server ausführen, erhalten Sie einen oder mehrere der folgenden Fehler in den veröffentlichten Daten des Fehlerzusammenfassungstexts:

Eine temporäre Klasse kann nicht generiert werden (Ergebnis=1).
error CS0029: Der Typ 'Opalis.WebServices.DynamicProxy.CustomType' kann nicht implizit in 'Opalis.WebServices.DynamicProxy.CustomType[]' konvertiert werden.
error CS0030: Der Typ 'Opalis.WebServices.DynamicProxy.CustomType[]' kann nicht implizit in 'Opalis.WebServices.DynamicProxy.CustomType' konvertiert werden.

Ursache

Ein bekanntes Problem mit WSDL.exe kann dazu führen, dass eine Proxyklasse falsch generiert wird, wenn ein Array mit komplexem Typ ein Element enthält, das auch ein Array mit komplexem Typ ist und für das nur ein Element vorhanden ist.

Hinweis

WSDL.exe ist im Microsoft .NET Framework enthalten.

Problemumgehung

Es gibt drei Problemumgehungen:

  • Sie können die Proxyklasse manuell mithilfe von WSDL.exe generieren und dann die Proxyklasse ändern, in der der Datentyp unangemessen als zweidimensionales Array (z. B. ) erstellt wurde, sodass es sich um ein eindimensionales Array (z. B. CustomType[][] CustomType[] ).

  • Sie können den Datentyp in der gewünschten WSDL (Web Services Description Language) ändern, sodass ein zweites, optionales Element in der Definition enthalten ist. Dazu fügen Sie ein Element wie das folgende Beispiel hinzu:

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

  • Sie können den komplexen Typ in der gewünschten WSDL so ändern, dass die Begrenzungsattribute Teil des komplexen Typs sind, anstatt Teil des Elements zu sein. (Das heißt, Sie können die Attribute und Attribute in den komplexen Typ verschieben und minOccurs dann aus dem Element maxOccurs entfernen.)