Working with contact mapping files

If you extend your Guidewire core application’s contact data model, for ContactManager to be able to work with the extension, you must also make a matching extension in ContactManager. You then map the entities to each other in both the Guidewire core application and in ContactManager.

A Guidewire core application uses the ContactMapper class to map the fields of contact entities sent to and received from ContactManager. There is a mapping class in each Guidewire core application and in ContactManager. The mapping classes, set up by default for the base application Contact types and the base ContactManager ABContact types, match Guidewire core application entity types to entity types in ContactManager.

Important: When PolicyCenter receives an Address update from ContactManager, PolicyCenter uses the class gw.webservice.pc.pc1000.contact.AddressDataCopier to populate the address for the contact. PolicyCenter also uses AddressDataCopier to update linked addresses. If you make extensions to the Address object, ensure that you make the same updates in both ContactMapper and AddressDataCopier.

If you extend the contact data model, you must edit these classes and map every field for the new entity that you want to send and receive. In each ContactMapper class in the Guidewire core application and in ContactManager, you map both incoming and outgoing entities. If you leave a field out, it is not processed.

Additionally, you might need to map Contact subtypes and typecodes whose names in a Guidewire core application are different from the names in ContactManager. For example, Guidewire core applications use the Person subtype, which in ContactManager is ABPerson. All contact data passed through the ContactManager web services use the ContactManager domain namespace. Therefore, it is up to the core applications to map names, like Contact, between the core application domain namespace and the ContactManager domain namespace, which uses ABContact. There is a Gosu class in each Guidewire core application for this purpose as described in Core application mapping.

Note: There might be situations in which you add a contact subtype to a Guidewire core application and not to ContactManager. If you have a contact subtype that does not require central management, you can create that type in the Guidewire core application only and not use the mapping files.

ContactManager mapping

In ContactManager, you use the class gw.contactmapper.ab1000.ContactMapper to map contact entity fields between ContactManager and ClaimCenter or one of the other Guidewire core applications.

You can access this class in Guidewire Studio for ContactManager from the Project window. Navigate to configuration > gsrc, and then open gw.contactmapper.ab1000.ContactMapper.

For reference information on this class, see ContactManager ContactMapper class.

Core application mapping

In core applications, you use the class gw.contactmapper.ab1000.ContactMapper to map the fields of contact entities between ClaimCenter and ContactManager.

You can access this class in Guidewire Studio from the Project window. Navigate to configuration > gsrc and open gw.contactmapper.ab1000.ContactMapper.

For reference information on this class, see ContactMapper class.

While ContactMapper maps the fields of the entities, it does not map differing entity names. ContactManager contact entity names, such as ABContact or ABPerson, typically start with AB. Core application contact entity names, such as Contact or Person, typically do not start with AB. Additionally, there can be differences in typecodes between the entities. Core applications do their own name mapping—no changes are needed in ContactManager, and there is no equivalent class in ContactManager.

To support mapping of differing entity names and typecodes, the core applications use the following name mapping classes:

ClaimCenter
gw.contactmapper.ab1000.CCNameMapper
PolicyCenter
gw.contactmapper.ab1000.PCNameMapper
BillingCenter
gw.contactmapper.ab1000.BCNameMapper

See also