使方法参数不合格

问题描述 投票:0回答:1

亲爱的,
我正在尝试构建 WCF Web 服务
我有一个带有参数列表的网络方法

如以下代码:

[ServiceContract(Namespace = "http://com.mwafaqat.update.ws")]
public interface UpdateAcceptanceService
{
    [OperationContract]
    updateAcceptanceStatusResponse updateAcceptanceStatus(
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]string transactionId,
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]string nationalId,
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]status status,
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]string rejectionReason,
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]DateTime requestDate,
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]DateTime updatedDate);
}

public updateAcceptanceStatusResponse updateAcceptanceStatus(
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]string transactionId,
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]string nationalId,
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]status status,
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]string rejectionReason,
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]DateTime requestDate,
        [XmlElement(Namespace = "http://com.mwafaqat.update.ws", Form = XmlSchemaForm.Unqualified)]DateTime updatedDate)
    {
        // Business Logic code goes here
    }

我根据上面的代码得到下面的xml:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://com.mwafaqat.update.ws">
   <soapenv:Header/>
   <soapenv:Body>
      <com:updateAcceptanceStatus>
         
         <com:transactionId>?</com:transactionId>
         <!--Optional:-->
         <com:nationalId>?</com:nationalId>
         <!--Optional:-->
         <com:status>?</com:status>
         <!--Optional:-->
         <com:rejectionReason>?</com:rejectionReason>
         <!--Optional:-->
         <com:requestDate>?</com:requestDate>
         <!--Optional:-->
         <com:updatedDate>?</com:updatedDate>
      </com:updateAcceptanceStatus>
   </soapenv:Body>
</soapenv:Envelope>

我需要使参数不合格,但它不起作用

我需要的请求如下:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://com.mwafaqat.update.ws">
   <soapenv:Header/>
   <soapenv:Body>
      <com:updateAcceptanceStatus>
         <transactionId></transactionId>
         <nationalId></nationalId>
         <status></status>
         <!--Optional:-->
         <rejectionReason></rejectionReason>
         <requestDate></requestDate>
         <updatedDate></updatedDate>
      </com:updateAcceptanceStatus>
   </soapenv:Body>
</soapenv:Envelope>

编辑#1 我试过这个

   [ServiceContract(Namespace = "http://com.mwafaqat.update.ws")]
    public interface UpdateAcceptanceService
    {
        [OperationContract]
        updateAcceptanceStatusResponse updateAcceptanceStatus(
            [XmlElement(Form = XmlSchemaForm.Unqualified)]string transactionId,
            [XmlElement(Form = XmlSchemaForm.Unqualified)]string nationalId,
            [XmlElement(Form = XmlSchemaForm.Unqualified)]status status,
            [XmlElement(Form = XmlSchemaForm.Unqualified)]string rejectionReason,
            [XmlElement(Form = XmlSchemaForm.Unqualified)]DateTime requestDate,
            [XmlElement(Form = XmlSchemaForm.Unqualified)]DateTime updatedDate);

    }

但如果发送的请求不合格,则参数值未设置(所有参数值均为空)

c# xml wcf wsdl wcf-binding
1个回答
0
投票

这个问题解决了吗,我也遇到了同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.