cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

issue in OCC data mapper

5,660

[de.hybris.platform.servicelayer.dto.converter.ConversionException]: Max field set size exceeded. Reason of that can be : too generic configuration, lack of properly defined BASIC field set level for data class, reccurency in data structure

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member747843
Active Participant

Hi
This error is related to handling 'fields' parameter :
- https://help.hybris.com/6.7.0/hcd/8c404c5886691014a48c88f4a49f9bf3.html
- Section 'Fields configuration', 'Field Set Builder' : https://help.hybris.com/6.7.0/hcd/e571a0e6f7524d4ab62e29cc2b387aeb.html

Mapping mechanism in occ is based on Orika mapper.
There is additional filter which check if currently mapped attribute is on the list of attributes which should be mapped. That list is created based on class definition and fieldSetLevelMappings by fieldSetBuilder (defined in dto-level-mappings-v2-spring.xml)

     <alias alias="fieldSetBuilder" name="defaultFieldSetBuilder"/>
     <bean id="defaultFieldSetBuilder"
           class="de.hybris.platform.webservicescommons.mapping.impl.DefaultFieldSetBuilder">
         <property name="defaultRecurrencyLevel" value="4"/>
         <property name="defaultMaxFieldSetSize" value="50000"/>
         <property name="fieldSetLevelHelper" ref="fieldSetLevelHelper"/>
     </bean>
 

There are two parameters which can influence how the field set builder works :
- defaultRecurrencyLevel
- defaultMaxFieldSetSize - If the limit is exceeded, an exception is thrown - this is exception you see.
It looks like for request you try to do - response dto is too complex
Verify if fieldsSetMapping for that dto class was defined properly.

If you don't specify any fields attribute in request - value is taken from DEFAULT fieldSetLevelMapping.
Try to specify fields attribute for your call and verify if you still get that exception