远程服务器返回了意外响应: (400) Bad Request

问题:

cs客户端调用c# webservce时报“远程服务器返回了意外响应: (400) Bad Request”错,错误跟踪信息如下:

Server stack trace: 
   在 System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)
   在 System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
   在 System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
   在 System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
   在 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   在 TotalProduceLineSys.ServiceReference2.WebService1Soap.UploadData(String guid, DataEntity[] li_dataEntity)
   在 TotalProduceLineSys.ServiceReference2.WebService1SoapClient.UploadData(String guid, DataEntity[] li_dataEntity) 

 

 

解决方案:

这个webservice之前一直没有问题,这是第一次报这个错。网上找资料有的说是数据量太大超出了范围,故修改cs端webservice配置文件将相关参数调大了,发现问题依旧存在。另外有的说是上传的数据中包含特殊字符。我就尝试本地调试,发现确实存在“\0”这种特殊字符。后来找到数据源将这种特殊字符处理掉后再上传一切正常。

远程服务器返回了意外响应: (400) Bad Request_第1张图片

你可能感兴趣的:(Webservice,C#)