0

我试图从数据库中获取所有潜在客户/联系人/帐户。所以我尝试使用 executeFind 但这不起作用。我总是使用运行服务(也在 java 中)获得 0 行。

作为 entityName 我设置为示例:PartyContactInfo

我究竟做错了什么?

public static void main(String[] args) throws MalformedURLException, XmlRpcException {

XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL("http://10.0.2.19:8080/webtools/control/xmlrpc"));
config.setEnabledForExceptions(true);
config.setEnabledForExtensions(true);

XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);

Map paramMap = new HashMap();

//Required Fields
paramMap.put("login.username", "admin");
paramMap.put("login.password", "opentaps");
paramMap.put("entityName", "Party");

Object[] params = new Object[]{paramMap};

Map result = (Map) client.execute("executeFind", params);

System.out.println(result.toString());
}
4

2 回答 2

1

之前没接触过ofbiz,但我猜是传入的参数是错误的。

您尝试调用的方法记录在这里(我认为): http://www.opentaps.org/javadocs/version-1.0/framework/api/org/ofbiz/common/FindServices.html 特别是:

public static Map executeFind(DispatchContext dctx, Map context)

因此,除非您调用的 URL 在内部以某种方式定义了第一个参数,否则您也需要给它。有些东西告诉我,“上下文”应该在服务器端进行整理。接下来我怀疑可能是错误的,看起来像是身份验证信息。您确定要在与您要查看的表名称相同的参数“包”中提供登录信息吗?

我知道这个答案是不完整的,但要得到一个严肃的答案,你必须让观众确切地知道你正在使用哪个 rpc-server(以便他们可以检查文档)。因为否则你唯一的希望是那些从里到外(或至少相对较好)了解ofbiz的人会偶然发现这个问题。祝你好运!

于 2012-03-26T05:37:52.623 回答
0

吐出服务器日志填充后,它看起来像是来自 ofbiz 服务器的内部错误。如果他们可以修补它,请向 Ofbiz 报告!希望这些服务能很快回到正轨。

于 2012-03-27T12:22:10.510 回答