diff --git a/ZR.Service/mes/wms-u8/ERP_WMS_interactiveService.cs b/ZR.Service/mes/wms-u8/ERP_WMS_interactiveService.cs index d7ab1d30..4050d8d9 100644 --- a/ZR.Service/mes/wms-u8/ERP_WMS_interactiveService.cs +++ b/ZR.Service/mes/wms-u8/ERP_WMS_interactiveService.cs @@ -8,6 +8,7 @@ using System.Globalization; using System.Linq; using System.Net; using System.Net.Http; +using System.Text; using System.Threading.Tasks; using U8Server.Util; using ZR.Model.MES.wms; @@ -63,17 +64,14 @@ namespace ZR.Service.mes.wms_u8 } // 2. 构建URL和请求数据 - string url = BuildUrl(urlBase, action); + string url = BuildUrl(urlBase, action, models); string requestData = JsonConvert.SerializeObject(models); _logger.Debug($"{operation}请求数据: {requestData}"); - // 3. 构建headers(含签名) - var headers = BuildHeaders(requestData); - try { _logger.Trace($"发送{operation}同步HTTP请求 - URL: {url}"); - object result = HttpHelper.HttpPost(url, requestData, "application/json", 5, headers); + object result = HttpHelper.HttpPost(url, requestData, "application/json", 5, null); // 4. 处理响应(同步方法假设HttpPost返回已反序列化对象,需根据实际HttpHelper调整) return ProcessSyncResponse(result, operation, url); @@ -100,17 +98,14 @@ namespace ZR.Service.mes.wms_u8 } // 2. 构建URL和请求数据 - string url = BuildUrl(urlBase, action); + string url = BuildUrl(urlBase, action, models); string requestData = JsonConvert.SerializeObject(models); _logger.Debug($"{operation}请求数据: {requestData}"); - // 3. 构建headers(含签名) - var headers = BuildHeaders(requestData); - try { _logger.Trace($"发送{operation}异步HTTP请求 - URL: {url}"); - string resultJson = await HttpHelper.HttpPostAsync(url, requestData, "application/json", 5, headers); + string resultJson = await HttpHelper.HttpPostAsync(url, requestData, "application/json", 5, null); // 4. 处理响应(先校验JSON格式,再反序列化) return await ProcessAsyncResponse(resultJson, operation, url); @@ -124,16 +119,30 @@ namespace ZR.Service.mes.wms_u8 #region 工具方法 /// - /// 构建URL(避免双斜杠问题) + /// 构建URL(避免双斜杠问题,并添加查询字符串参数) /// - private string BuildUrl(string urlBase, string action) + private string BuildUrl(string urlBase, string action, List models) { // 移除urlBase结尾的斜杠,再拼接路径 - return $"{urlBase.TrimEnd('/')}/wms/mes/{action}"; + string baseUrl = $"{urlBase.TrimEnd('/')}/wms/mes/{action}"; + + // 构建请求参数 + string requestData = JsonConvert.SerializeObject(models); + var headers = BuildHeaders(requestData); + + // 构建查询字符串 + var queryString = string.Join("&", headers.Select(kv => $"{WebUtility.UrlEncode(kv.Key)}={WebUtility.UrlEncode(kv.Value)}")); + + if (!string.IsNullOrEmpty(queryString)) + { + baseUrl += $"?{queryString}"; + } + + return baseUrl; } /// - /// 构建请求头(含签名生成) + /// 构建请求参数(原构建请求头的逻辑) /// private Dictionary BuildHeaders(string requestData) {