웹 서비스에서 호출하는 다음 메소드가 있습니다. "매개 변수없는 생성자가 없으므로 직렬화 할 수 없습니다."라는 오류 메시지가 계속 나타납니다.Webservice - 매개 변수없는 생성자가 없기 때문에 직렬화 할 수 없습니다.
[WebMethod]
public ArrayList GetPayers()
{
string PROVIDER_JSON = "";
ArrayList list = new ArrayList();
using (var webClient = new System.Net.WebClient())
{
PROVIDER_JSON = webClient.DownloadString("https://www.eligibleapi.com/resources/information-sources.json");
List<EligibleProviderType2> UserList = JsonConvert.DeserializeObject<List<EligibleProviderType2>>(PROVIDER_JSON);
for (int i = 0; i < UserList.Count; i++)
{
foreach (string inventoryItem in UserList[i].PayerName)
{
list.Add(new
{
PayerID = UserList[i].PayerID,
PayerName = inventoryItem
});
}
}
return list;
}
}
매개 변수없는 생성자가 있다고 생각되는 클래스를 호출하는 클래스는 무엇입니까?
[JsonObject(MemberSerialization.OptIn)]
public class EligibleProviderType2
{
EligibleProviderType2(){}
[JsonProperty(PropertyName = "payer_id")]
public string PayerID { get; set; }
[JsonProperty(PropertyName = "names")]
public IList<string> PayerName { get; set; }
} // EligibleProvider
ASMX는 기존 기술이므로 새로운 개발에 사용하면 안됩니다. 웹 서비스 클라이언트와 서버의 모든 새로운 개발에는 WCF 또는 ASP.NET 웹 API를 사용해야합니다. 한 가지 힌트 : Microsoft는 MSDN에서 [ASMX 포럼] (http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads)을 퇴역 시켰습니다. –