나는 [DataMember(IsRequired=true)]
을 사용하여 필요한 DataContract 속성을 만듭니다. OperationContract 매개 변수에는 IsRequired가없는 것 같습니다. Null을 허용하지 않으려면 어떻게해야합니까?WCF : OperationContract의 매개 변수를 필수로 만드는 특성이 있습니까?
OperationContract의 매개 변수는 SoapUI 도구에서 선택적으로 표시됩니다. 이것은 선택 적이거나 null이 아니어야합니다.
WCF 인터페이스 :이
[OperationContract]
IsClientUpdateRequiredResult IsClientUpdateRequired(IsClientUpdateRequiredInput versie);
...
[DataContract]
public class IsClientUpdateRequiredInput
{
[DataMember(IsRequired=true)]
public string clientName { get; set; }
[DataMember(IsRequired = true, Order = 0)]
public int major { get; set; }
[DataMember(IsRequired = true, Order = 1)]
public int minor { get; set; }
[DataMember(IsRequired = true, Order = 2)]
public int build { get; set; }
[DataMember(IsRequired = true, Order = 3)]
public int revision { get; set; }
}
soapUI 요청 템플릿 : 그냥 정규 방법과 같은
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/" xmlns:pir="http://schemas.datacontract.org/2004/07/PirIS.Web.WCF.InputClasses">
<soap:Header/>
<soap:Body>
<tem:IsClientUpdateRequired>
<!--Optional:-->
<tem:versie>
<pir:clientName>?</pir:clientName>
<pir:major>?</pir:major>
<pir:minor>?</pir:minor>
<pir:build>?</pir:build>
<pir:revision>?</pir:revision>
</tem:versie>
</tem:IsClientUpdateRequired>
</soap:Body>
</soap:Envelope>
감사합니다. MS가 WCF에서 이것을 돌보고 싶다면. – Dieko