2011-12-27 37 views
2

我創建了一個delphi 7程序並使用soap wsdl連接到sugarcrm。 我使用Tnt組件來支持它們的Unicode。一切都如預期般運作至今。 當我通過查詢使用與sugarcrm和delphi 7的soap連接

get_entry_list(session, 'Accounts', 
    '<The unicode string query>', 
    'NAME', 
    fetchedall, 
    sf, 
    Trunc(seMaxRes.Value), 
    0); 

沒有一個Unicode字符串返回的結果 的請求如下:

<?xml version="1.0"?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> 
    <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
    <NS1:get_entry_list xmlns:NS1="http://www.sugarcrm.com/sugarcrm"> 
     <session xsi:type="xsd:string">cviljal690kflmq992enth5ps6</session> 
     <module_name xsi:type="xsd:string">Accounts</module_name> 
     <query xsi:type="xsd:string">Accounts.name like "%ΞΒ£%"</query> 
     <order_by xsi:type="xsd:string">NAME</order_by> 
     <offset xsi:type="xsd:int">0</offset> 
     <select_fields xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[0]"/> 
     <max_results xsi:type="xsd:int">25</max_results> 
     <deleted xsi:type="xsd:int">0</deleted> 
    </NS1:get_entry_list> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

東西我做錯了與查詢參數的編碼。 傳遞查詢參數時不乏

感謝

+0

是否在編譯請求時出現問題(因此''沒有包含正確的字符串,或者是SugarCRM不返回任何記錄的問題(或一個空的響應),即使它應該?上面的請求在我的SugarCRM上工作正常,並且如果我更改查詢字符串,它會返回記錄 – 2011-12-28 19:00:49

回答

1

OK解決了,我用了UTF8Encode。 升級到德爾福XE2 ...

+0

這是否意味着您仍然期望Delphi 7 + TNT組件解決方案(截至時間I評論,你還沒有接受你自己的答案/解決方法)? – menjaraz 2012-01-09 14:39:53