xml - GET_SEARCH_RESULTS 网络服务响应说 valid QueryText
问题描述
在 xml 请求下使用以获取 UCM 中文档的详细信息:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ucm="http://www.oracle.com/UCM">
<soapenv:Header/>
<soapenv:Body>
<ucm:GenericRequest webKey="cs"> <!-- Fixed value -->
<ucm:Service IdcService="GET_SEARCH_RESULTS"><!-- -->
<ucm:Document>
<ucm:Field name="SearchEngineName">database</ucm:Field>
<ucm:Field name="QueryText">dDocTitle <contains> 'Test' </ucm:Field>
</ucm:Document>
</ucm:Service>
</ucm:GenericRequest>
</soapenv:Body>
</soapenv:Envelope>
回应是:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<ns2:GenericResponse xmlns:ns2="http://www.oracle.com/UCM">
<ns2:Service IdcService="GET_SEARCH_RESULTS">
<ns2:Document>
<ns2:Field name="StatusCode">-1</ns2:Field>
<ns2:Field name="IdcService">GET_SEARCH_RESULTS</ns2:Field>
<ns2:Field name="SortOrder">Desc</ns2:Field>
<ns2:Field name="SearchEngineIsDefault">1</ns2:Field>
<ns2:Field name="validateSearchQuery">false</ns2:Field>
<ns2:Field name="StatusMessageKey">!csUnableToRetrieveSearchResults!csSearchInvalidQueryText</ns2:Field>
<ns2:Field name="EnterpriseSearchMaxRows">4</ns2:Field>
<ns2:Field name="idcToken"/>
<ns2:Field name="FullRequest">&QueryText=dDocTitle+%3ccontains%3e+%27Test%27&SortField=dInDate&SortOrder=Desc&SearchEngineName=database</ns2:Field>
<ns2:Field name="localizedForResponse">1</ns2:Field>
<ns2:Field name="useOnlyLocalForDpTrigger">1</ns2:Field>
<ns2:Field name="SearchEngineName">database</ns2:Field>
<ns2:Field name="SortField">dInDate</ns2:Field>
<ns2:Field name="UnparsedQueryText">dDocTitle <contains> 'Test'</ns2:Field>
<ns2:Field name="OriginalUnencodedQueryText">dDocTitle <contains> 'Test'</ns2:Field>
<ns2:Field name="queryDefinitionLabel">DATABASE.METADATA.ORACLE</ns2:Field>
<ns2:Field name="ComputedSearchEngineName">DATABASE.METADATA</ns2:Field>
<ns2:Field name="OriginalQueryText">dDocTitle+%3ccontains%3e+%27Test%27</ns2:Field>
<ns2:Field name="refreshMonikers"/>
<ns2:Field name="refreshSubMonikers"/>
<ns2:Field name="changedMonikers"/>
<ns2:Field name="IsOracle">1</ns2:Field>
<ns2:Field name="StatusMessage">Unable to retrieve search results. The query text is invalid.</ns2:Field>
<ns2:Field name="QueryText">dDocTitle <contains> 'Test'</ns2:Field>
<ns2:Field name="escapeReservedStringsInSearch">false</ns2:Field>
似乎 xml 转义对 < 符号不起作用。有什么原因这不起作用吗?还是我错过了什么?当 QueryText 只是“dDocTitle”时,代码有效并且响应包含 ucm 中所有文档的详细信息,但是过滤条件不起作用。
解决方案
< 和 > 可能是问题所在,但还有另一个问题 - 引号不正确。在查询中将 '(撇号)替换为 `(反引号)。
推荐阅读
- node.js - 如何在 Javascript 文件中导入 Typescript 文件并在使用前解释其内容?
- microsoft-teams - 将 MS Planner 选项卡添加到 MS Teams 中的群聊
- javascript - Angular - 显示没有时区转换的日期时间
- openxml - 将 HTML 正确放入 Powerpoint 演示文稿中
- response - Tomcat9,在本地它添加了主体。在服务器没有
- c# - 忽略列表中一种类型的序列化
- c - ISO 9899 标准是否保留了任何使用 _t 后缀的标识符?
- django - 在 Django Admin 中保存 Ajax 调用
- angular - 无法从角度 7 将字符串值传递给 asp.net webapi
- firebase - 未在数字标牌设备上返回 FCM 令牌