自己新增了段webapi,调用时有点搞不清
金蝶云社区-丁丹丹
丁丹丹
0人赞赏了该文章 876次浏览 未经作者许可,禁止转载编辑于2016年04月19日 16:07:05

我新增了个科目查询,调用时候报错,说是"未能加载文件或程序集“Account”或它的某一个依赖项。系统找不到指定的文件。" 可是我已经引用了,请帮我看看我的问题出在哪里?谢谢!!!
调用程式如下(系统提供标准webapi的可以)
ApiClient client1 = new ApiClient("http://lenovo-pc/K3Cloud/");
object responseOut = null;
responseOut = client.Execute("Account.ApiService.ExecuteService,Account", new object[] { "BD_Account" });

下面是我新增查询科目方法,生成了对应的.dll
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.JSON;
using Kingdee.BOS.Orm.Metadata.DataEntity;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
namespace Account
{
public class ApiService : Kingdee.BOS.WebApi.ServicesStub.AbstractWebApiBusinessService
{
public ApiService(Kingdee.BOS.ServiceFacade.KDServiceFx.KDServiceContext context)
: base(context)
{ }
public JSONArray ExecuteService(string parameter)
{
// TODO:在此方法中处理业务,可以引用Kingdee现有接口,根据传入的参数来实现自己的业务逻辑,
// 例如查询数据、单据转换、甚至数据同步等都可以
// 以下为查询币别信息的示例代码
// 构造查询参数
QueryBuilderParemeter para = new QueryBuilderParemeter()
{
// 查询表单,测试用例中直接传入了“BD_Account”
FormId = parameter,
SelectItems = SelectorItemInfo.CreateItems("FFullName,FNumber"),
};
// 调用查询接口
DynamicObjectCollection list = QueryServiceHelper.GetDynamicObjectCollection(this.KDContext.Session.AppContext, para);
// 返回结果类型可以自定义
// 如果第三方系统不想引用BOS其他组件的,可以使用json字符串、List、Dictionary等类型做为返回结果
// 此处示例代码使用 BOS定义的类型JSONArray
JSONArray jsonArray = new JSONArray();
foreach (DynamicObject dynamicObject in list)
{
jsonArray.Add(ConvertDynamicObject2Json(dynamicObject));
}
return jsonArray;

}
private JSONObject ConvertDynamicObject2Json(DynamicObject dynamicObject)
{
DynamicPropertyCollection dynamicPropertyCollection = dynamicObject.DynamicObjectType.Properties;
JSONObject obj = new JSONObject();
foreach (DynamicProperty property in dynamicPropertyCollection)
{
obj.Put(property.Name, dynamicObject[property.Name]);
}
return obj;
}
}
}