我创建了一个delphi 7程序,并使用soap wsdl连接到sugarcrm。 我正在使用Tnt组件来支持unicode。到目前为止,一切都按预期工作。 当我使用
传递带有unicode字符串的查询时get_entry_list(session, 'Accounts',
'<The unicode string query>',
'NAME',
fetchedall,
sf,
Trunc(seMaxRes.Value),
0);
没有任何结果返回 请求如下:
<?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>
我对查询参数的编码做错了。 我在传递查询参数时使用了UTF8Encode而不缺
由于
答案 0 :(得分:1)
好的解决了。 升级到delphi XE2 ......