Invoke Web Services 개체를 실행할 때 임시 클래스(result=1) 오류를 생성할 수 없음

이 문서에서는 Invoke Web Services 개체를 실행할 때 임시 클래스(result=1) 오류를 생성할 수 없음 오류가 표시되는 문제를 해결하는 데 도움이 됩니다.

원래 제품 버전: System Center Orchestrator
원래 KB 번호: 2486643

증상

Microsoft System Center Orchestrator 또는 Opalis Integration Server에서 Invoke Web Services 개체를 실행하면 게시된 오류 요약 텍스트 데이터에 다음 오류 중 하나 이상이 표시됩니다.

임시 클래스를 생성할 수 없습니다(result=1).
오류 CS0029: 'Opalis.WebServices.DynamicProxy.CustomType' 형식을 'Opalis.WebServices.DynamicProxy.CustomType[]'으로 암시적으로 변환할 수 없습니다.
오류 CS0030: 'Opalis.WebServices.DynamicProxy.CustomType[]' 형식을 'Opalis.WebServices.DynamicProxy.CustomType'으로 암시적으로 변환할 수 없습니다.

원인

WSDL.exe 알려진 문제로 인해 복합 형식의 배열에 복합 형식의 배열이기도 하고 하나의 요소만 존재하는 요소가 포함된 경우 프록시 클래스가 잘못 생성될 수 있습니다.

참고

WSDL.exe Microsoft .NET Framework 포함되어 있습니다.

해결 방법

다음 세 가지 해결 방법을 사용할 수 있습니다.

  • WSDL.exe 사용하여 프록시 클래스를 수동으로 생성한 다음 데이터 형식이 2차원 배열(예 CustomType[][]: )로 부적절하게 만들어진 프록시 클래스를 변경하여 1차원 배열(예 CustomType[]: )되도록 할 수 있습니다.

  • 두 번째 선택적 요소가 정의에 포함되도록 원하는 WSDL(Web Services Description Language)의 데이터 형식을 변경할 수 있습니다. 다음 예제와 같은 요소를 추가하여 이 작업을 수행할 수 있습니다.

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

  • 경계 특성이 요소의 일부가 아닌 복합 형식의 일부가 되도록 원하는 WSDL에서 복합 형식을 변경할 수 있습니다. 즉, 및 maxOccurs 특성을 복합 형식으로 이동 minOccurs 한 다음 요소에서 제거할 수 있습니다.