У меня проблема с сгенерированным клиентом для службы WCF. Проблема в том, что он игнорирует некоторые поля при преобразовании запроса в мыло. Он передает только строковые поля.
Это мой класс, который должен быть переведен:
[DataContract] public class PersonCriteria : CriteriaBase { [DataMember] public long ID { get; set; } [DataMember] public string JMBG { get; set; } [DataMember] public string Fname { get; set; } [DataMember] public string Lname { get; set; } [DataMember] public long IdentityCardNumber { get; set; } [DataMember] public int DrivingCardNumber { get; set; } }
А это запрос на мыло:
{<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://tempuri.org/IPersonsService/GetPerson</Action> </s:Header> <s:Body> <GetPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"> <personReq> <Criteria xmlns="http://schemas.datacontract.org/2004/07/Mibo.PoliceDemo.PersonsService.Messages.Requests"> <Fname xsi:nil="true" xmlns="http://schemas.datacontract.org/2004/07/Mibo.PoliceDemo.PersonsService.Criteria" /> <JMBG xmlns="http://schemas.datacontract.org/2004/07/Mibo.PoliceDemo.PersonsService.Criteria">1</JMBG> <Lname xsi:nil="true" xmlns="http://schemas.datacontract.org/2004/07/Mibo.PoliceDemo.PersonsService.Criteria" /> </Criteria> </personReq> </GetPerson> </s:Body> </s:Envelope>}
Я пытался изменить некоторые поля на строковые или целые, и он всегда передает только строковые поля. Я использую netcfsvcutil для Windows 7 (некоторые обновления). В чем может быть проблема?