Как изменить запрос по умолчанию SOAP? - PullRequest
0 голосов
/ 28 апреля 2020

Итак, я создаю WS, используя C# проекты ASMX. Я уже закончил, но кто-то просит меня изменить значение по запросу. Значение, которое должно быть изменено, является запросом тела, где говорится «запрос», им нужно, чтобы он сказал «данные», есть ли аннотация данных, которая это делает? Вот запрос:

<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;
}

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 29 апреля 2020

Итак, после поиска ответа я попал к аннотарию: [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;
}

Таким образом вы можете изменить имя, которое появляется в запросе.

...