У меня есть служба WCF, вызываемая в SOAP и REST.
Если вызов make SOAP работает правильно, но с REST у меня проблемы.
В итоге, метод возвращает POCO ENTITY, но при вызове я получаю сообщение об ошибке подключения, отмененное.
То же самое не произойдет, если я вызову другой метод, который возвращает логическое значение или строку (т.е. нативные типы).
Мне показалась ошибка, что сущность POCO, которую я использую, на самом деле не была (это то, что я использую Devart, так что я уверен, что это так).
Итак, что я сделал, я создал свою карту (с тем же свойством) и использовал AutoMapper для создания карт.
Проблема все еще существует: - (
Это .svc.cs
public List<GetLuoghiSimiliByAddressesDTO> GetLuoghiSimiliByAddress(string toponimo, string nomestrada, string civico, int idcomune)
{
Agile.SL.Services.IAnagraficaService srv = new Agile.SL.Services.Impl.AnagraficaService();
List<GetLuoghiSimiliByAddressesDTO> result = new List<GetLuoghiSimiliByAddressesDTO>();
Mapper.CreateMap<DTOGetLuoghiSimiliByAddress, GetLuoghiSimiliByAddressesDTO>();
foreach (var dto in srv.GetLuoghiSimiliByAddress(toponimo, nomestrada, civico, idcomune).ToList<DTOGetLuoghiSimiliByAddress>())
{
GetLuoghiSimiliByAddressesDTO newdto = Mapper.Map<DTOGetLuoghiSimiliByAddress, GetLuoghiSimiliByAddressesDTO>(dto);
result.Add(newdto);
}
return result;
}
результат содержит правильно мой список объектов.
Это svc
[OperationContract]
[WebGet(UriTemplate = "GetLuoghiSimiliByAddress?Toponimo={toponimo}&Nome_Strada={nomestrada}&Civico={civico}&Id_Comune={idcomune}",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
List<GetLuoghiSimiliByAddressesDTO> GetLuoghiSimiliByAddress(string toponimo, string nomestrada, string civico, int idcomune);
Правильно работать с этим методом и договором на эксплуатацию
public bool IsUserAlreadyRegistered(string email)
{
Agile.SL.Services.IAnagraficaService srv = new Agile.SL.Services.Impl.AnagraficaService();
return srv.CheckEmailExistance(email);
}
[OperationContract]
[WebGet(UriTemplate = "IsUserAlreadyRegistered?Email={email}",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
bool IsUserAlreadyRegistered(string email);
это GetLuoghiSimiliByAddressesDTO
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
namespace Merqurio.Agile.DL.Model.Entities
{
[DataContract(IsReference = true)]
[Serializable]
public class GetLuoghiSimiliByAddressesDTO
{
private int _Id_Luogo;
private string _Toponimo;
private string _Nome_Strada;
private string _Civico;
public GetLuoghiSimiliByAddressesDTO()
{
}
/// <summary>
/// There are no comments for Id_Luogo in the schema.
/// </summary>
[DataMember(Order=1)]
public int Id_Luogo
{
get
{
return this._Id_Luogo;
}
set
{
if (this._Id_Luogo != value)
{
this._Id_Luogo = value;
}
}
}
/// <summary>
/// There are no comments for Toponimo in the schema.
/// </summary>
[DataMember(Order=2)]
public string Toponimo
{
get
{
return this._Toponimo;
}
set
{
if (this._Toponimo != value)
{
this._Toponimo = value;
}
}
}
/// <summary>
/// There are no comments for Nome_Strada in the schema.
/// </summary>
[DataMember(Order=3)]
public string Nome_Strada
{
get
{
return this._Nome_Strada;
}
set
{
if (this._Nome_Strada != value)
{
this._Nome_Strada = value;
}
}
}
/// <summary>
/// There are no comments for Civico in the schema.
/// </summary>
[DataMember(Order=4)]
public string Civico
{
get
{
return this._Civico;
}
set
{
if (this._Civico != value)
{
this._Civico = value;
}
}
}
}
}
Пожалуйста, помогите мне!