사전을 사용하지 않아도이 오류가 발생합니다. 서비스를 호출 할 때 이상한 점이 있습니다.WCF "해당 키가 사전에 없습니다."
wsSoapClient client = null;
try
{
client = new wsSoapClient();
}
catch (Exception ex)
{
// - Error in the web.config
}
try
{
SendData sendData = new SendData();
sendData.finishDate = myVar.FinishDate;
sendData.startDate = myVar.StartDate;
// - Other fields
// - This lines throw the error below
ClientResult result = client.FinishCourse(sendData);
}
catch (Exception ex)
{
// - Message: The given key was not present in the dictionary.
}
스택 추적 :
StackTrace: at System.Collections.Generic.Dictionary``2.get_Item(TKey key) at Project.Model.CourseService.FinishCourse(XmlNode node)
서비스가 최신 버전인지, 나는 다른 곳이에 대한 정보를 찾을 수 없습니다. 그래서 두 가지 비슷한 질문이 있지만 그들은 Silverlight에 관한 것이고 이것 (일반적인 C# WCF 서비스 호출)과 솔루션 사이의 관계를 파악할 수는 없습니다.
이 문제의 원인과 해결 방법은 무엇입니까?
(편집) 추가 정보 : 바인딩은 basicHttpBinding, http 전용입니다.
편집 ² : WSDL.
편집 012 : 문제점을 발견했습니다. 분명히 이미 다른 오류 (필드가 허용하는 것보다 큰 값)가 있었는데 서비스가 오류을 반환했지만 어떤 이유로 WCF는 오류를 취하지 않고 예외를 throw하지 않았습니다. XML이 예상했던 것이 아니기 때문에이 사전 오류가 발생하여 정상적으로 처리하려고했습니다.
wsdl을 게시 할 수 있습니까? – ManOnAMission
@ManOnAMission 거대한 XML이고 IP를 통해 액세스가 차단되므로 미안합니다. 계약은 Visual Studio의 이전 버전 (URL에 대한 액세스 권한이있는 컴퓨터 인 2010 Web Express)에서 생성되었으므로 문제가 될 수도 있습니다. – Danicco