weixin_39059345
2020-08-26 14:53
采纳率: 100%
浏览 182

C# WebService本地调试正常,放到IIS服务器上就传空值回来!

Web服务是引用RestSharp访问的客户数据,代码如下:

[WebMethod]
        public string Get_DateCode(string Query_snNo)
        {
            try
            {
                var client = new RestClient("http://***********");
                //client.Timeout = -1;
                var request = new RestRequest(Method.POST);
                request.Timeout = 10000;
                request.AddHeader("X-HW-ID", "***************");
                request.AddHeader("X-HW-APPKEY", "*************");
                request.AddHeader("Content-Type", "application/json");
                request.AddParameter("application/json", "******", ParameterType.RequestBody);
                IRestResponse response = client.Execute(request);
                return response.StatusCode + response.Content; //返回的结果
            }
            catch (Exception ex)
            {
                return ex.ToString();
            }

        }

在本机调试传回的信息是

<?xml version="1.0" encoding="ISO-8859-1"?>
<string xmlns="http://tempuri.org/">{OK"msg":"SUCCESS"</string>

在IIS上发布后是可以正常运行的,但是传回的是

<?xml version="1.0" encoding="ISO-8859-1"?>
<string xmlns="http://tempuri.org/">0</string>

第一次用RestSharp,求大佬给看下哪里有问题

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2020-08-26 15:26
    已采纳

    用fiddler抓包看看,你的请求发哪里了,参数全不全,返回的原始soap报文是什么

    已采纳该答案
    打赏 评论
  • jingluan666 2020-08-26 15:18

    IIS的web.config配置信息跟你本地的一样吗?IIS是你本地的吗?

    如果不是本地IIS,那么在本地IIS将建个网站指向你的项目,附加到w3wp进程调试看下

    打赏 评论