GET_SEARCH_RESULTS в ответе веб-службы говорится о недействительном QueryText - PullRequest
0 голосов
/ 29 мая 2018

Используется ниже 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 &lt;contains&gt; '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">&amp;QueryText=dDocTitle+%3ccontains%3e+%27Test%27&amp;SortField=dInDate&amp;SortOrder=Desc&amp;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 &lt;contains> 'Test'</ns2:Field>
                   <ns2:Field name="OriginalUnencodedQueryText">dDocTitle &lt;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 &lt;contains> 'Test'</ns2:Field>
                   <ns2:Field name="escapeReservedStringsInSearch">false</ns2:Field>

Кажется, что xml escape не работал для<символЕсть ли причина, по которой это не работает?или я что-то упустил?Когда QueryText - это просто "dDocTitle", код работает, и ответ содержит подробную информацию о al docs в ucm, но условие фильтра не работает. </p>

1 Ответ

0 голосов
/ 30 мая 2018

Возможно, проблема в <и>, но есть еще одна проблема - кавычки не верны.Замените '(апостроф) на `(обратная галочка) в запросе.

...