亲爱的,
我正在尝试构建 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);
}
但如果发送的请求不合格,则参数值未设置(所有参数值均为空)
这个问题解决了吗,我也遇到了同样的问题。