我在VS 2013中处理现有的Windows服务项目。
我已经添加了一个web API Controller类,我现在无法记住,如果它是一个(v2.1)或(v1)控制器类....无论如何我称之为SynchroniseFromAwsService
< / p>
我试图从AWS lambda调用中调用它,但它告诉我我没有访问权限。所以我需要在本地进行测试,看看它是否正在尝试和诊断问题。
我想在本地测试这个,但我不确定该怎么做..请看代码...
namespace Workflow
{
public class SynchroniseFromAwsService: ApiController
{
//// POST api/<controller>
public string SapCall([FromBody]string xmlFile)
{
string responseMsg = "Failed Import User";
if (!IsNewestVersionOfXMLFile(xmlFile))
{
responseMsg = "Not latest version of file, update not performed";
}
else
{
Business.PersonnelReplicate personnelReplicate = BusinessLogic.SynchronisePersonnel.BuildFromDataContractXml<Business.PersonnelReplicate>(xmlFile);
bool result = Service.Personnel.SynchroniseCache(personnelReplicate);
if (result)
{
responseMsg = "Success Import Sap Cache User";
}
}
return "{\"response\" : \" " + responseMsg + " \" , \"isNewActiveDirectoryUser\" : \" false \"}";
}
}
}
我已经在谷歌上阅读下载名为Postman的程序并对其进行测试。
我可以在VS中调用任何内容,只传入一个包含xml文件的虚拟数据字符串进行测试吗?
什么是最好的方式
感谢您的回复
答案 0 :(得分:2)
你可以使用
RestSharp 用于.NET的简单REST和HTTP API客户端
访问http://restsharp.org/了解详情。
使用nuget包管理器在项目中安装此依赖项
Install-Package RestSharp -Version 106.2.0
答案 1 :(得分:2)
你的代码是对的。你需要在本地测试它。您可以使用Postman rest客户端本身完成它。这很简单 在您的代码中,您的函数 SapCall 缺少 HTTP 方法属性。因此,请指定用于识别请求类型的方法的属性。
[HttpPost]
public string SapCall([FromBody]string xmlFile){
现在使用postman rest客户端并调用你的url url。它将成功执行。