dnxit
Если мы переведем ваш xml-запрос на C#, то получим примерно следующее
using System;
using System.Xml.Serialization;
using System.Collections.Generic;
namespace YourNameSpace
{
[XmlRoot(ElementName="PRODUCT")]
public class PRODUCT {
[XmlElement(ElementName="GTIN")]
public string GTIN { get; set; }
[XmlElement(ElementName="SN")]
public string SN { get; set; }
[XmlElement(ElementName="BN")]
public string BN { get; set; }
[XmlElement(ElementName="XD")]
public string XD { get; set; }
}
[XmlRoot(ElementName="PRODUCTLIST")]
public class PRODUCTLIST {
[XmlElement(ElementName="PRODUCT")]
public PRODUCT PRODUCT { get; set; }
[XmlAttribute(AttributeName="xmlns")]
public string Xmlns { get; set; }
}
[XmlRoot(ElementName="SupplyCancelServiceRequest", Namespace="http://dtts.sfda.gov.sa/SupplyCancelService")]
public class SupplyCancelServiceRequest {
[XmlElement(ElementName="PRODUCTLIST")]
public PRODUCTLIST PRODUCTLIST { get; set; }
[XmlAttribute(AttributeName="xmlns")]
public string Xmlns { get; set; }
}
[XmlRoot(ElementName="Body", Namespace="http://schemas.xmlsoap.org/soap/envelope/")]
public class Body {
[XmlElement(ElementName="SupplyCancelServiceRequest", Namespace="http://dtts.sfda.gov.sa/SupplyCancelService")]
public SupplyCancelServiceRequest SupplyCancelServiceRequest { get; set; }
}
[XmlRoot(ElementName="Envelope", Namespace="http://schemas.xmlsoap.org/soap/envelope/")]
public class Envelope {
[XmlElement(ElementName="Body", Namespace="http://schemas.xmlsoap.org/soap/envelope/")]
public Body Body { get; set; }
[XmlAttribute(AttributeName="xmlns")]
public string Xmlns { get; set; }
}
}
Вы можете создать свой запрос примерно так
var request = new Envelope()
{
Body = new Body()
{
SupplyCancelServiceRequest = new SupplyCancelServiceRequest()
{
PRODUCTLIST = new PRODUCTLIST()
{
PRODUCT = new List<PRODUCT>()
{
new PRODUCT()
{
BN = "1",
GTIN = "1",
SN = "1",
},
new PRODUCT()
{
BN="2",
GTIN="2",
SN="2",
}
}
}
}
}
};