通过apex_web_service.make_request()从Salesforce查询数据时遇到恼人的问题。
这是在oracle PL / SQL中编码的,并且一般工作正常,但似乎对响应大小或XMLTYPE有一些限制。
在您构建的SOAP信封中,我可以设置每次从Salesforce获取的记录数的批量大小(在使用queryMore信封之前)。
如果我将值保留为默认值(500)或手动将其设置为该数字,则代码将失败,Oracle会出现以下错误:
ORA-29273:HTTP请求失败 ORA-06512:在“SYS.UTL_HTTP”,第1472行 ORA-06502:PL / SQL:数值或值错误 ORA-06512:在“APEX_040200.WWV_FLOW_WEBSERVICES_API”,第168行 ORA-06512:在“LIVE.SALESFORCE_PUSH”,第2418行 ORA-06512:在“LIVE.SALESFORCE_PUSH”,第95行 ORA-06512:第4行 29273. 00000 - “HTTP请求失败” *原因:UTL_HTTP程序包无法执行HTTP请求。 *操作:使用get_detailed_sqlerrm检查详细的错误消息。 修复错误并重试HTTP请求。
如果我将批量大小设置为200,则不会发生错误,这使我认为响应的大小是一个问题。
在这个示例中,我有上述解决方法,但是我还有另外一个要求从Salesforce中提取大文本字段,其中无论我使用哪个批处理大小都失败(最小批量大小为200)。
是否有人知道apex_web_service.make_request()过程或XMLTYPE有关限制的信息?错误消息相当神秘,我目前无法看到另一种解决方案。我开始认为我可能需要通过REST公开来自Salesforce的数据并继续使用它。
感谢可以提供的任何帮助。
谢谢