Overview of adding search capability in ContactManager

Before starting the example of adding the ServiceState property to ContactManager and ClaimCenter search, be sure you understand how to use an <ArrayCriterion> element as described in this topic. Additionally, see Adding the service state property to search.

There are two primary aspects to adding search capability in ContactManager:

Adding search support to the ContactManager search screens
You add the ServiceState typekey to ABContactSearchCriteria.etx. Then you add an <ArrayCriterion> element to the ContactManager search-config.xml file to specify where the ServiceState column is located. There are restrictions on using <ArrayCriterion>:
  • For any <CriteriaDef> element in the search-config.xml file, you must have only one <ArrayCriterion> subelement. If you have more than one <ArrayCriterion> defined for an entity, a search can return duplicate results for that entity. For example, you have two <ArrayCriterion> properties for ABContact. A successful search returns the same contact twice, once for each matched property.
  • If you want to search for multiple fields in an array entity, create a new field that combines the fields.
  • Additionally, the system requires unique values for the field that you are searching on. For example, City and State are two fields on an array entity, and the combination of the two fields is what makes the search unique. In this case, you must create a third field on the entity that concatenates the two values, and then create the array search criterion on that third field.
Adding search support for Guidewire core applications in the Gosu class ABContactAPISearchCriteria
You can have the search field show in the search results that ContactManager sends back to the Guidewire core application. To add the field to the search results, add code for the field to the Gosu class ABContactAPISearchResult.

These classes provide parameters used in web service calls, and changing them changes the web service WSDL. After changing one of these classes, you must restart ContactManager to regenerate the web APIs. Then, in Guidewire Studio for the Guidewire core application, you must refresh the ContactManager web APIs.

The first step in this example is Enable ServiceState support for the ContactManager search screens.