我在为WCF服务生成客户端时遇到问题。 问题是它在将请求转换为soap时会忽略某些字段。 它只传输字符串字段。
这是我需要转移的课程:
[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 for windows 7(一些更新)。 可能是什么问题?