Member 13987140 Ответов: 1

Как отправить несколько запросов за один раз


ну, ребята ,я собираюсь сделать проект, который отправляет заказ на работу в веб-сервис c# и получает ответ, но мне нужна помощь, потому что я хочу взять несколько данных, а затем отправить их в веб-сервис, но я не знаю, как это сделать

Что я уже пробовал:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            myserv.webService1 ss = new myserv.webService1();
                    string mid = "69bcdcdafdse474eaf8b201803151343";
                    string timee = "2018-06-01T13:47:23.00";
                    string user = "testuser";
                    string userfunc = "wmsintegration";
                    string req = "importworkorder";
                    string site = "de01";
                    string workord = "DSIP1804060004321";
                    string worktyp = "dispense";
                    string act = "add";
                    string supp = "";
                    string id = "201804060955000002";
                    string sku = "pc001234";
                    string desc = "asprin";
                    string batch = "testc7e8f04267";
                    string exdate = "20221214";
                    string pdcode = "";
                    string serial = "";
                    string quan = "5";
                    string clid = "ukcl001234";
                    string ordid = "pon2018005";
                    string cuscat = "art23";
                    string channel = "humvo";

                    string request = (@"
           <messageid>" + mid + @"</messageid>
           <messageversion>1.0</messageversion>
           <createdtimestamp>" + timee + @"</createdtimestamp>
           <username>" + user + @"</username>
           <userfunction>" + userfunc + @"</userfunction>
           <requesttype>" + req + @"</requesttype>
           <site>" + site + @"</site>
           <workorder>" + workord + @"</workorder>
           <datetime>" + timee + @"</datetime>
           <workordertype>" + worktyp + @"</workordertype>
           <action>" + act + @"</action>
           <supplement>" + supp + @"</supplement>
           <ID>" + id + @"</ID>
           <sku>" + sku + @"</sku>
           <description>" + desc + @"</description>
           <batch>" + batch + @"</batch>
           <expirydate>" + exdate + @"</expirydate>
           <productcode></productcode>
           <serialnumber></serialnumber>
           <requiredquantity>" + quan + @"</requiredquantity>
           <clientid>" + clid + @"</clientid>
           <orderid>" + ordid + @"</orderid>
           <customercategory>" + cuscat + @"</customercategory>
           <channelvalidate>" + channel + @"</channelvalidate>
           <channeldecommission>" + channel + @"</channeldecommission>
           <supplement></supplement>");

                    Console.WriteLine("sending request:::::::" + request);
                    


                    string response = ss.import(mid, timee, user, userfunc, req);

                    Console.WriteLine("response:::::::" + response);
                    Console.ReadKey();

                }
            }


        }

1 Ответов

Рейтинг:
1

James Walsh Jr

На высоком уровне необходимо сериализовать XML-данные, прежде чем отправлять их в веб-службу.
Есть несколько шагов, чтобы добраться туда.
1. Создайте класс для определения ваших данных.

public class MyData
(
    [XmlElement(ElementName="messageid")]
    string mid {get;set;}
    [XmlElement(ElementName="createdtimestamp")]
    string timee {get;set;}
    etc, etc,

)

2. Создайте экземпляр объекта и задайте его свойства.
MyData instanceOfData = new MyData
{
   mid = "69bcdcdafdse474eaf8b201803151343",
   timee = "2018-06-01T13:47:23.00",
   etc, etc, etc.
};

3. сериализация объекта для веб-службы
 XmlSerializer serializer = new XmlSerializer(typeof(instanceOfData));
 string xml = "";
 XmlWriterSettings settings = new XmlWriterSettings();
 settings.OmitXmlDeclaration = false;

 using (var sww = new StringWriter())
 {
     using (XmlWriter writer = XmlWriter.Create(sww, settings))
     {
         serializer.Serialize(writer, instanceOfData);
         xml = sww.ToString();
     }
 }

Console.WriteLine("sending request:::::::" + xml);