2014-02-05 2 views
0

저는 이것에 관해서 머리카락을 꺼내 ​​왔으며, 나는이 시점에서 꽤 대머리입니다.SoapException ---> 'x'유형의 객체를 'x'유형으로 캐스팅 할 수 없습니다.

배경 :

웹 서비스 내 개발 컴퓨터 문제없이 작동합니다. 다른 컴퓨터에 배포하면 위의 오류가 발생합니다.

코드에는 authorize.net API에 대한 웹 참조가 있습니다. 그 안에는 "CreateCustomerProfileTransactionResponseType"유형의 응답을 리턴하는 메소드가 있습니다. 필요한 매개 변수는 MerchantAuthenticationType, CustomerProfileType W ValidationModeEnum입니다.

모든 것이 폭발하는 것은 위의 CreateCustomerProfileTransactionResponseType을 반환 할 방법에 있습니다. enter image description here

내 컴퓨터에서 (라이브 환경을 모방 한 경우에도 - Visual Studio는 사용하지 않음) 다른 컴퓨터에서는 스로우되지 않는 것은 무엇입니까? 내 컴퓨터는 Windows 7 컴퓨터입니다. 2 개의 별도 Windows Server 2008 R2 상자에 배포하는 데 실패합니다. 재부팅을 시도했는데 UAC를 사용 중지했지만 사용하지 못했습니다. 나는 그것이 예상했던 객체 유형에 대해 불평하는 매개 변수를 던지기까지했지만 오류는 그대로 남습니다. 다음과 같이 현명한 코딩,이 프로젝트는 설정 :

  • 응용 프로그램 게이트웨이 웹 서비스를 호출
  • 어떤 DLL을로드하고 위치의 할
  • 게이트웨이 웹 서비스를 확인 web.config를 입력
  • 게이트웨이 자체 하중 LoadFrom을 사용하여 .DLL
  • 으로로드 된 DLL 그것을
를 호출
  • 응답 응용 프로그램에 반환되는 authorize.net의 API에 웹 참조를 사용 (지불을 캡처하는이 경우) 내 메소드를 실행

    나는 다른 모든 도움 수단을 다 써 버렸기 때문에 어떤 도움이라도 대단히 감사하겠습니다.

    감사합니다,

  • 답변

    0

    나는 그것을 알아 냈다. 필자는 Reflection을 사용하여 지정된 위치와 웹 서비스가 있던 곳의 bin 디렉토리에서 모두로드중인 .dll 파일을 가지고있었습니다. 큰 노약자 같아요. bin 디렉토리에서 .dll을 제거하면 내 문제가 해결됩니다.

    0

    확인 유형 'X'가 들어있는 어셈블리의 버전. GAC에 설치된 다른 버전 일 수 있습니다.

    또한이를 확인 : Unable to cast object of type MyObject to type MyObject

    +0

    응답 해 주셔서 감사합니다. 이들은 GAC와 ASP.net 임시 파일에서 동일한 버전입니다. 지금이 링크를 통해 찾고 있어요. 내 자신의 개발 환경에서도이 작업을 수행 할 수 없다면이 솔루션이되지 않을까요? 다시 고마워. – kmauzoul

    관련 문제