【发布时间】:2023-04-02 04:03:01
【问题描述】:
我有以下 ServiceContract:
[ServiceContract(Namespace = Constants.NAMESPACE)]
public interface IAuthenticationService
{
[OperationContract]
LoginResult Login(LoginData data);
}
[DataContract(Namespace = Constants.NAMESPACE)]
public class LoginData
{
[DataMember(IsRequired = true, Order = 1)]
public string SupplierName { get; set; }
[DataMember(IsRequired = true, Order = 2)]
public string Token { get; set; }
}
当我使用 Soap UI 创建一个新请求时,请求显示如下:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://namepsace.org/">
<soapenv:Header/>
<soapenv:Body>
<ws:Login>
<!--Optional:-->
<ws:data>
<ws:SupplierName>?</ws:SupplierName>
<ws:Token>?</ws:Token>
</ws:data>
</ws:Login>
</soapenv:Body>
</soapenv:Envelope>
我找不到<!--Optional:--> 在数据元素上方的原因。
上面的代码完全按照How to specify a parameter of an OperationContract as required中建议的答案进行
我需要做什么才能使 data 参数成为必需?
【问题讨论】:
-
你的意思是
<!--Optional:-->?还是''?我没有看到''。 -
感谢您的指出。我已经编辑了我的问题。
标签: wcf datacontract