2012-03-14 70 views
0

我試圖從數據庫中獲取所有潛在客戶/聯繫人/帳戶。 所以我嘗試使用executeFind,但這不起作用。我總是得到0行與運行服務(也在Java中)。Ofbiz呼叫服務executeFind(從數據庫中獲取數據)

由於我的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()); 
} 
+0

代碼中的一些片段可能會有所幫助 – 2012-03-15 23:29:26

+0

服務總是返回listIt = null。通常服務應該返回派對錶中的所有信息 – 2012-03-19 12:24:31

回答

0

在吐出服務器日誌文件後,它看起來像是來自ofbiz服務器的內部錯誤。如果他們能補丁的話,將它報告給Ofbiz!希望這些服務能很快回到正軌。

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內部定義的第一個參數,你需要也要給它。有些東西告訴我,「上下文」應該在服務器端進行整理。接下來我懷疑可能是錯的,是什麼看起來像認證信息。你確定你應該把登錄信息放在與你試圖查看的表名相同的參數「bag」中嗎?

我知道這個答案是不完整的,但要得到認真的答案,您必須讓觀衆確切知道您正在使用哪個rpc服務器(以便他們可以檢查文檔)。因爲否則,你唯一的希望就是有一個知道內部知情者(或者至少相對較好)的人會在這個問題上失敗。祝你好運!