如何从Soap请求中删除<optional> </optional>

时间:2014-01-15 13:47:44

标签: wcf soapui datacontract messagecontract

我正在使用SoapUI Pro 4.6.1来测试我的WCF服务。 我的请求看起来像这样

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
       <soapenv:Header/>
    <soapenv:Body>
  <tem:doPaymentRequest>
     <!--Optional:-->
     <tem:credentials>
        <!--Optional:-->
        <tem:accountId>?</tem:accountId>
        <!--Optional:-->
        <tem:userName>?</tem:userName>
        <!--Optional:-->
        <tem:password>?</tem:password>
     </tem:credentials>
     </tem:doPaymentRequest>

如何删除 - 可选: - &gt;来自SOAP 我使用消息格式来包装我的数据合同,我正在使用DataContract的isRequired属性。

3 个答案:

答案 0 :(得分:2)

你想删除任何oprional元素吗?然后文件 - &gt;偏好 - &gt; WSDL设置 - &gt;包括可选(这是一个复选框)。当您向测试用例添加请求时,它还建议选择“创建可选元素”选项。

答案 1 :(得分:0)

您需要在数据协定类的所有属性上指定[DataMember(IsRequired = true)],然后它们将不是可选的。

答案 2 :(得分:0)

[DataContract]
public class GetColorsRS
{
    DataMember(Name = "Errors", Order = 1, IsRequired=false)]
    public List<Error> Errors { get; set; }
}