c# MES 对接之一(XML、JSON、SOAP)

//MES(Manufacturing Execution System)是制造业中的一种信息化系统,
//用于管理生产过程中的各个环节,包括计划、生产、质量、库存等。
//对接MES通常使用XML、JSON、SOAP等协议进行数据交互。

//以下是使用C#编写MES对接代码的示例:

//1. 使用XML协议进行数据交互

//csharp
using System;
using System.Xml;

public class MesXmlDemo
{
    public static void Main()
    {
        // 构造XML数据
        XmlDocument doc = new XmlDocument();
        XmlElement root = doc.CreateElement("MES");
        XmlElement order = doc.CreateElement("Order");
        order.InnerText = "123456";
        root.AppendChild(order);
        XmlElement product = doc.CreateElement("Product");
        product.InnerText = "A001";
        root.AppendChild(product);
        XmlElement quantity = doc.CreateElement("Quantity");
        quantity.InnerText = "100";
        root.AppendChild(quantity);
        doc.AppendChild(root);

        // 发送XML数据到MES系统
        string url = "http://mes.example.com/api";
        string xml = doc.OuterXml;
        // 使用HttpClient发送POST请求
        using (var client = new HttpClient())
        {
            var content = new StringContent(xml, Encoding.UTF8, "application/xml");
            var response = await client.PostAsync(url, content);
            if (response.IsSuccessStatusCode)
            {
                var result = await response.Content.ReadAsStringAsync();
                Console.WriteLine(result);
            }
            else
            {
                Console.WriteLine("Error: " + response.StatusCode);
            }
        }
    }
}
//

//2. 使用JSON协议进行数据交互

//csharp
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

public class MesJsonDemo
{
    public static void Main()
    {
        // 构造JSON数据
        var data = new
        {
            Order = "123456",
            Product = "A001",
            Quantity = 100
        };
        string json = JsonConvert.SerializeObject(data);

        // 发送JSON数据到MES系统
        string url = "http://mes.example.com/api";
        // 使用HttpClient发送POST请求
        using (var client = new HttpClient())
        {
            var content = new StringContent(json, Encoding.UTF8, "application/json");
            var response = await client.PostAsync(url, content);
            if (response.IsSuccessStatusCode)
            {
                var result = await response.Content.ReadAsStringAsync();
                Console.WriteLine(result);
            }
            else
            {
                Console.WriteLine("Error: " + response.StatusCode);
            }
        }
    }
}
//

//3. 使用SOAP协议进行数据交互

//csharp
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Xml;

public class MesSoapDemo
{
    public static void Main()
    {
        // 构造SOAP数据
        XmlDocument doc = new XmlDocument();
        XmlElement envelope = doc.CreateElement("soapenv", "Envelope", "http://schemas.xmlsoap.org/soap/envelope/");
        XmlElement body = doc.CreateElement("soapenv", "Body", "http://schemas.xmlsoap.org/soap/envelope/");
        XmlElement order = doc.CreateElement("Order");
        order.InnerText = "123456";
        body.AppendChild(order);
        XmlElement product = doc.CreateElement("Product");
        product.InnerText = "A001";
        body.AppendChild(product);
        XmlElement quantity = doc.CreateElement("Quantity");
        quantity.InnerText = "100";
        body.AppendChild(quantity);
        envelope.AppendChild(body);
        doc.AppendChild(envelope);
        string soap = doc.OuterXml;

        // 发送SOAP数据到MES系统
        string url = "http://mes.example.com/api";
        // 使用HttpClient发送POST请求
        using (var client = new HttpClient())
        {
            var content = new StringContent(soap, Encoding.UTF8, "text/xml");
            var response = await client.PostAsync(url, content);
            if (response.IsSuccessStatusCode)
            {
                var result = await response.Content.ReadAsStringAsync();
                Console.WriteLine(result);
            }
            else
            {
                Console.WriteLine("Error: " + response.StatusCode);
            }
        }
    }
}
//

//以上是使用C#编写MES对接代码的示例,具体实现方式可能因MES系统的不同而有所差异。

你可能感兴趣的:(MES,c#,c#,MES)