三、使用C#调用T100接口

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

我们的T100接口开发好了,其他的应用系统需要调用此接口,我们用C#调用来举例:


一、soapui 测试T100 服务接口

1.1、soapui操作

在这里插入图片描述
在这里插入图片描述

二、我们用C#仿照SoapUi的操作进行T100接口调用

2.1 C#调用SoapUI源码

using Newtonsoft.Json;
using Nito.AsyncEx;
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            AsyncContext.Run(() => MainAsync(args));
        }
        /// <summary>
        /// 因为用到了异步所以用了这个Main函数
        /// </summary>
        /// <param name="args"></param>
        static async void MainAsync(string[] args)
        {
           var res =  await DoPost<dynamic>();
            Console.WriteLine(res);
            Console.ReadKey();

        }

        public static async Task<dynamic> DoPost<dynamic>()
        {
            string jsonContent = GetMessage();
            string responseBody = string.Empty;
            using (HttpClient httpClient = new HttpClient())
            {
                // 后面要接"application/xml"
                var content = new StringContent(jsonContent, Encoding.UTF8, "application/xml");
                // 使用post
                httpClient.DefaultRequestHeaders.Add("Method", "Post");
                HttpResponseMessage response = await httpClient.PostAsync(@"http://192.168.0.71/wtoptst/ws/r/awsp920", content);
                responseBody = await response.Content.ReadAsStringAsync();
                dynamic res = (dynamic)JsonConvert.DeserializeObject<dynamic>(responseBody);
                return res;
            }
        }

        /// <summary>
        /// 需要变动的可在GetMessage中加参数传进去拼接字符串
        /// 我这里是写死的
        /// </summary>
        /// <returns></returns>
        public static string GetMessage()
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("{");
            sb.AppendLine("\"key\":\"d41d8cd98f00b204e9800998ecf8427e\",");
            sb.AppendLine("\"type\":\"sync\",");
            sb.AppendLine("\"host\":{");
            sb.AppendLine("    \"prod\":\"ERP\",   ");
            sb.AppendLine("\"ip\":\"\",");
            sb.AppendLine("\"lang\":\"zh_CN\",");
            sb.AppendLine("\"acct\":\"tiptop\",");
            sb.AppendLine("\"timestamp\":\"20220321123204361\"");
            sb.AppendLine("    },");
            sb.AppendLine("    \"datakey\":{ ");
            sb.AppendLine("                \"EntId\":\"70\", ");
            sb.AppendLine("        \"CompanyId\":\"MHC\", ");
            sb.AppendLine("        \"g_user\":\"00000\" ");
            sb.AppendLine("    },");
            sb.AppendLine("    \"service\":{ ");
            sb.AppendLine("                \"ip\":\"192.168.0.71\", ");
            sb.AppendLine("        \"prod\":\"T100\", ");
            sb.AppendLine("        \"id\":\"toptst\", ");
            sb.AppendLine("        \"name\":\"Apmt400Get01\" ");
            sb.AppendLine("   }, ");
            sb.AppendLine("    \"payload\":{ ");
            sb.AppendLine("                \"std_data\":{ ");
            sb.AppendLine("       \"parameter\":{ ");
            sb.AppendLine("        \"pmdadocno\":\"T001\", ");
            sb.AppendLine("        \"pmdadocdt\":\"2022/04/20\", ");
            sb.AppendLine("        \"items\":[ ");
            sb.AppendLine(" { ");
            sb.AppendLine("                            \"pmdb004\":\"066200003\", ");
            sb.AppendLine("                        \"pmdb006\":\"100\", ");
            sb.AppendLine("           \"pmdb030\":\"2022/04/28\" ");
            sb.AppendLine("                    }, ");
            sb.AppendLine("                   { ");
            sb.AppendLine(" \"pmdb004\":\"066200004\",");
            sb.AppendLine(" \"pmdb006\":\"200\", ");
            sb.AppendLine(" \"pmdb030\":\"2022/04/28\" ");
            sb.AppendLine(" } ");
            sb.AppendLine("                ] ");
            sb.AppendLine("            } ");
            sb.AppendLine("            } ");
            sb.AppendLine("            } ");
            sb.AppendLine("}");

            return sb.ToString();
         }
    }
}

2.2 执行以上代码后的结果

在这里插入图片描述

三、总结

C#调用T100接口服务的程序有很大改进的地方,我贴出来只是讲一个流程。
毕竟很多开发我们只要知道开发的流程,后续才能慢慢完善,慢慢进步。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
T100是一个通用的数据发送设备,可以通过各种接口向其他设备或接口发送数据。以下是几种常见的发送数据到其他接口的方法: 1.串口发送:T100通常具有串口接口,可以通过串口连接其他设备,使用串口协议发送数据。首先需要确定串口的波特率、数据位、停止位等参数,然后使用串口通信的命令或API函数发送数据。 2.网络发送:T100可以通过网络接口发送数据,这需要在T100上配置网络连接。使用TCP/IP或UDP等网络协议,可以将数据通过网络发送到指定的目标IP地址和端口号。可以使用网络通信的命令或API函数来实现网络发送功能。 3.无线发送:T100还可以使用无线接口进行数据发送。比如通过Wi-Fi无线网络连接,通过设置Wi-Fi的配置,将数据发送到指定的网络设备或服务器。类似地,还可以使用其他无线通信技术如蓝牙、Zigbee等进行数据发送。 4.外部接口发送:T100还可以通过其他外部接口发送数据,比如通过USB接口连接外部设备,使用USB协议发送数据。或者通过其他扩展接口如CAN、I2C、SPI等,连接外部设备,使用相应通信协议发送数据。 在使用T100发送数据到其他接口时,需要根据具体接口类型和通信协议,在T100上进行相应的配置和设置。这些设置可以通过T100的控制界面、命令行或编程接口来完成。同时,还需要根据接收端的要求,对发送的数据进行格式化和编码,确保数据能够正确地被接收方解析和处理。最后,发送数据过程中需要保证通信连接的稳定性和安全性,以确保数据能够可靠地传输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永恒的宁静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值