以下のようなプロジェクトからRestWCFサービスに電話しました
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実装メソッドで通常の文字列を返そうとすると、Web応答の結果が正しく取得されました。このエラーを解決するにはどうすればよいですか?
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);