如何修改默认的SOAP请求



所以我正在使用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;
}

谢谢你的帮助。

所以在寻找答案后,我找到了注释:[XmlRoot("data")]。这出现在类声明之前,如下所示:

[XmlRoot("data")]
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;
}

通过此操作,您可以更改请求中显示的名称。

最新更新