Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net WCF REST服务返回错误:远程服务器返回错误:(400)错误请求_.net_Wcf_Rest - Fatal编程技术网

.net WCF REST服务返回错误:远程服务器返回错误:(400)错误请求

.net WCF REST服务返回错误:远程服务器返回错误:(400)错误请求,.net,wcf,rest,.net,Wcf,Rest,我已经从下面这样的项目调用了Rest WCF服务 userAlias = "test"; var url = new StringBuilder(); url.Append( string.Format("https://webdemo-t.orioninc.com:8443/Services/2012v2/TestService.svc/AddAttachment?User={0}&

我已经从下面这样的项目调用了Rest WCF服务

 userAlias = "test";
                var url = new StringBuilder();
                url.Append(
                    string.Format("https://webdemo-t.orioninc.com:8443/Services/2012v2/TestService.svc/AddAttachment?User={0}&Engagement={1}&FileName={2}&DocumentTrasferID={3}&fileSize={4}&ActivityName={5}",userAlias, engagementName, fileName, documentTranferId, fileSize, activityName));
                WebRequest request = WebRequest.Create(url.ToString());
                CurrentUrl = url.ToString();
                var networkCredential = new NetworkCredential("jame", "test", "company");
                request.Credentials = networkCredential;
                WebResponse response = request.GetResponse();
                Encoding encoding = Encoding.GetEncoding(1252);
                var responseStream = new StreamReader(response.GetResponseStream());
                string responseResult = responseStream.ReadToEnd();
                responseStream.Close();
                Console.WriteLine(responseResult);
调用这些服务时出现异常远程服务器返回错误:(400)请求错误。当我尝试在WCH实现方法中返回正常字符串时,我正确地得到了webresponse结果。如何解决此错误

WCF实施方法

  public string AddAttachment(string User, string Engagement, string FileName, string DocumentTrasferID, string fileSize, string ActivityName)
    {
        dynamic _Trackerfaccade = new KPMG.EauditEmailService.Facade.EAppEmail();
        string Result = _Trackerfaccade.AddAttachment(User, Engagement, FileName, DocumentTrasferID, fileSize, FileName);
        return Result;
    }
运营合同

     [OperationContract]

   [WebGet(UriTemplate = "/AddAttachment?User={userAlias}&Engagement={engagementName}&FileName={FileName}&DocumentTrasferID={documentTranferId}&fileSize={fileSize}&activityName={activityName}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
    string AddAttachment(string userAlias, string engagementName, string documentTranferId,string fileName,string fileSize,string activityName);

url模式和实际url不相同,您的请求找不到此方法

show operation contract的属性[OperationContract][WebGet(UriTemplate=“/AddAttachment?userAlias={userAlias}&engagementName={engagementName}&documentTranferId={documentTranferId}&fileName={fileExtension}&fileSize={fileSize}&activityName={activityName}”,RequestFormat=WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Json)]string AddAttachment(string userAlias,string engagementName,string documenttransferid,string fileName,string fileSize,string activityName);我更新了这个问题,添加了一个缩写,如果您在实现请求中设置断点真的通过了内部?如果将实现更改为“return string.Empty”,它仍然发送400错误?这意味着您的实现抛出异常,或者连接因超时、string leaght、etcno、service send 400错误而中止,但未实现,在try-catch-blockNow中扭曲您的实现。返回语句抛出异常没关系。这就是为什么会产生异常。谢谢
"/AddAttachment?User={0}&Engagement={1}&FileName={2}&DocumentTrasferID={3}&fileSize={4}&ActivityName={5}"

"/AddAttachment?userAlias={userAlias}&engagementName={engagementName}&documentTranferId={documentTranferId}&fileName={fileExtension}&fileSize={fileSize}&activityName={activityName}"