Important Update: Community URLs redirect issues are partially resolved. Learn More. .

cancel
Showing results for 
Search instead for 
Did you mean: 

ValueList XML structure for Search/Update by SOAP in Archer

NeerajRohilla
Contributor II

I am trying to send my xml data in EXECUTESEARCH method to search records in Application .But its throwing error ": 'Server was unable to process request. ---> There was an error processing Search Report Request.  Invalid Meta data Id'".

 

Please suggest am i passing the correct XML structure for Value List Field in SOAP API?

 

<?xml version="1.0"?>

-<SearchReport>

<PageSize>250</PageSize>


-<DisplayFields>

<DisplayField name="Tracking Id"/>

</DisplayFields>


-<Criteria>
-<Filter>
-<Conditions>


-<ValueListFilterCondition>

<Operator>contains</Operator>

<Field>29330</Field>


-<Values>

<Value>IT</Value>

</Values>

<IncludeChildren>True</IncludeChildren>

<IsNoSelectionIncluded>True</IsNoSelectionIncluded>

</ValueListFilterCondition>

</Conditions>

</Filter>


-<ModuleCriteria>

<Module name="Akshaya">4828</Module>

</ModuleCriteria>

</Criteria>

</SearchReport>

10 REPLIES 10

Ilya_Khen
Champion III

These kind of questions are better to be asked from here: RSA Archer API Users 

Hi Ilya,

Thank you!! I have posted there.

DavidPetty
Archer Employee
Archer Employee

Neeraj for filtering on the values list (Filters ) you must provide the values id and not the text of the value.

 

(thread moved to the RSA Archer API Users)

 Advisory Consultant

NeerajRohilla
Contributor II

Hey David. I have tried with Value list id too. PFB XML structure.Its still showing same error.

"System.ServiceModel.FaultException: 'Server was unable to process request. ---> There was an error processing Search Report Request.  Invalid Meta data Id'".

 

 

<?xml version="1.0"?>

-<SearchReport>

<PageSize>250</PageSize>


-<DisplayFields>

<DisplayField name="Tracking Id"/>

</DisplayFields>


-<Criteria>


-<Filter>


-<Conditions>


-<ValueListFilterCondition>

<Operator>contains</Operator>

<Field>29330</Field>


-<Values>

<Value>79317</Value>

</Values>

<IncludeChildren>True</IncludeChildren>

<IsNoSelectionIncluded>True</IsNoSelectionIncluded>

</ValueListFilterCondition>

</Conditions>

</Filter>


-<ModuleCriteria>

<Module name="Akshaya">4828</Module>

</ModuleCriteria>

</Criteria>

</SearchReport>

Verify that the module (application) and field ids are correct.

 Advisory Consultant

NeerajRohilla
Contributor II

David, I am updating in same application and searching is happening for other types of field also, i am facing problem only in this field. So there is no problem with module id.

 

Below mentioned XML is demo of my original XML file which is accessing records of application.

 

Please suggest what to enter where in above mentioned XML Structure, to search in  EXECUTESEARCH method.

 

<?xml version="1.0" encoding="UTF-16"?>

-<Records count="17">


-<Metadata>


-<FieldDefinitions>

<FieldDefinition alias="Tracking_ID" name="Tracking ID" guid="9dbefa82-195a-4aea-ade5-516ffa228c10" id="29207"/>

<FieldDefinition alias="Date_1" name="Date of joining" guid="bbd33bd4-131e-466a-95fb-2d9e1c395055" id="29211"/>

<FieldDefinition alias="Text_1" name="Employee Name" guid="dfc82044-f1f9-4320-85a2-cd31af52fe65" id="29216"/>

<FieldDefinition alias="Value_list2" name="Value list2" guid="39259093-28a0-40d0-b5a9-077a044fe29a" id="29330"/>

 

</Metadata>


-<LevelCounts>

<LevelCount count="17" guid="f25ee6b4-b22e-4c9f-92bc-5d0fc4341e7a" id="4635"/>

</LevelCounts>


-<Record parentId="0" moduleId="4828" levelGuid="f25ee6b4-b22e-4c9f-92bc-5d0fc4341e7a" levelId="4635" contentId="222363">

<Field guid="9dbefa82-195a-4aea-ade5-516ffa228c10" id="29207" type="6">222363</Field>


-<Field guid="39259093-28a0-40d0-b5a9-077a044fe29a" id="29330" type="4">


-<ListValues>

<ListValue id="79317" displayName="IT">IT</ListValue>

</ListValues>

</Field>

<Field guid="bbd33bd4-131e-466a-95fb-2d9e1c395055" id="29211" type="3" xmlConvertedValue="1900-01-10T03:00:00Z">1/10/1900 8:30:00 AM</Field>

<Field guid="be197bc3-12c7-4000-915b-1583f3b23439" id="30533" type="2"/>

<Field guid="dfc82044-f1f9-4320-85a2-cd31af52fe65" id="29216" type="1">Sherin</Field>

<Field guid="1cc86faa-8502-469f-9910-df7e595e29ef" id="30546" type="1"/>

<Field guid="f48f5504-5826-47be-8816-6a0ae0b4ee57" id="30534" type="1"/>

<Field guid="0aa92aa2-001d-456a-913b-92a440d82969" id="30535" type="1"/>

<Field guid="ada69654-773f-4510-8a8e-03ce26294ca7" id="30549" type="3" xmlConvertedValue="1900-01-15T00:00:00Z">1-15-1900</Field>

</Record>

Take a look at this page on how to the construct the XML for https://community.rsa.com/docs/DOC-87346 

 Advisory Consultant

David, I have prepared the XML only on the basis of documentation provided by RSA only. EXECUTESEARCH method showing result properly for numeric, text, date time also. but not for Value List type of field.How can i get the result matching result in target app based on below XML Search input structure. I have shared you both XML Structures what is my actual content and what i am sending in search input by parsing.

Please help

 

<?xml version="1.0"?>

-<SearchReport>

<PageSize>250</PageSize>


-<DisplayFields>

<DisplayField name="Tracking Id"/>

</DisplayFields>


-<Criteria>


-<Filter>


-<Conditions>


-<ValueListFilterCondition>

<Operator>contains</Operator>

<Field>29330</Field>


-<Values>

<Value>79317</Value>

</Values>

<IncludeChildren>True</IncludeChildren>

<IsNoSelectionIncluded>True</IsNoSelectionIncluded>

</ValueListFilterCondition>

</Conditions>

</Filter>


-<ModuleCriteria>

<Module name="Akshaya">4828</Module>

</ModuleCriteria>

</Criteria>

</SearchReport>

Neeraj between the two links I provided; ExecuteSearch and Filters they proved you want you needed to construct the XML.

 

Below is a one I created against the Control Standards application that works.

<SearchReport>
     <PageSize>100</PageSize>
      <MaxRecordCount>10000</MaxRecordCount>
      <DisplayFields>
          <DisplayField name="Standard Name">1566</DisplayField>
          <DisplayField name="Standard ID">1568</DisplayField>
          <DisplayField name="Statement">1569</DisplayField>
     </DisplayFields>
     <Criteria>
          <ModuleCriteria>
               <Module name="Control Standards">66</Module>
               <SortFields />
          </ModuleCriteria>
          <Filter>
               <Conditions>
                    <ValueListFilterCondition name="Value List 1">
                         <Field name="Status">4677</Field>
                         <Operator>Equals</Operator>
                         <IsNoSelectionIncluded>False</IsNoSelectionIncluded>
                         <Values>
                               <Value name="Published">4027</Value>
                          </Values>
                    </ValueListFilterCondition>
               </Conditions>
          </Filter>
     </Criteria>
</SearchReport>‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

You can also use this tool Archer Search 2.0 tool - A quick way to test and build different SearchReport XML strings using the Web Services ExecuteSearch method to build it out  as well.

 Advisory Consultant