【发布时间】:2020-04-28 18:56:17
【问题描述】:
所以我正在使用 C# ASMX 项目构建一个 WS。我已经完成了,但有人要求我更改请求的值。需要更改的值是正文请求,它说“请求”他们需要它说“数据”是否有任何数据注释可以做到这一点?这是请求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:GetData>
<!--Optional:-->
<tem:request(this is the word to replace)>
<!--Optional:-->
<tem:Param1></tem:Param1>
<!--Optional:-->
<tem:Param2></tem:Param2>
<!--Optional:-->
<tem:Param3></tem:Param3>
<!--Optional:-->
<tem:Param4></tem:Param4>
<!--Optional:-->
<tem:Param5></tem:Param5>
</tem:request(this is the word to replace)>
</tem:GetData>
</soapenv:Body>
</soapenv:Envelope>
更新: WebMethod 如下所示:
[WebMethod]
public GetDataResponse GetData(GetDataRequest request)
{
//Do Something
}
GetDataRequest 看起来像:
public class GetDataRequest
{
public string Param1 = String.Empty;
public string Param2 = String.Empty;
public string Param3 = String.Empty;
public string Param4 = String.Empty;
public string Param5 = String.Empty;
}
感谢您的帮助。
【问题讨论】:
-
您最初是如何创建请求的?
-
我编辑了我的问题,添加了你问的内容。
-
将您的
GetDataRequest request重命名为GetDataRequest data? -
@GSerg 变量名称不是可用于反射(很容易)的元数据,因此不使用。
request名称必须来自其他地方。 -
@LasseV.Karlsen 这是一个 ASMX 网络服务。它在其 WSDL 中提供这些名称,并在请求中期望它们。